OpenVDB
8.1.0
openvdb
openvdb
util
Name.h
Go to the documentation of this file.
1
// Copyright Contributors to the OpenVDB Project
2
// SPDX-License-Identifier: MPL-2.0
3
4
#ifndef OPENVDB_UTIL_NAME_HAS_BEEN_INCLUDED
5
#define OPENVDB_UTIL_NAME_HAS_BEEN_INCLUDED
6
7
#include <
openvdb/Platform.h
>
8
#include <openvdb/version.h>
9
#include <string>
10
#include <iostream>
11
#include <vector>
12
13
namespace
openvdb
{
14
OPENVDB_USE_VERSION_NAMESPACE
15
namespace
OPENVDB_VERSION_NAME
{
16
17
typedef
std::string
Name
;
18
19
inline
Name
20
readString
(std::istream& is)
21
{
22
uint32_t size;
23
is.read(
reinterpret_cast<
char
*
>
(&size),
sizeof
(uint32_t));
24
std::string buffer(size,
' '
);
25
if
(size>0) is.read(&buffer[0], size);
26
return
buffer;
27
}
28
29
30
inline
void
31
writeString
(std::ostream& os,
const
Name
& name)
32
{
33
uint32_t size = uint32_t(name.size());
34
os.write(
reinterpret_cast<
char
*
>
(&size),
sizeof
(uint32_t));
35
os.write(&name[0], size);
36
}
37
38
}
// namespace OPENVDB_VERSION_NAME
39
}
// namespace openvdb
40
41
#endif // OPENVDB_UTIL_NAME_HAS_BEEN_INCLUDED
OPENVDB_VERSION_NAME
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition:
version.h.in:116
OPENVDB_USE_VERSION_NAMESPACE
#define OPENVDB_USE_VERSION_NAMESPACE
Definition:
version.h.in:178
Platform.h
openvdb::v8_1::readString
Name readString(std::istream &is)
Definition:
Name.h:20
openvdb::v8_1::writeString
void writeString(std::ostream &os, const Name &name)
Definition:
Name.h:31
openvdb::v8_1::Name
std::string Name
Definition:
Name.h:17
openvdb
Definition:
openvdb/Exceptions.h:13
Generated by
1.8.17