 |
VTK
9.0.1
|
Go to the documentation of this file.
33 #ifndef vtkVariantBoostSerialization_h
34 #define vtkVariantBoostSerialization_h
36 #include "vtkSetGet.h"
43 #include <boost/archive/binary_oarchive.hpp>
45 #include <boost/serialization/base_object.hpp>
46 #include <boost/serialization/export.hpp>
47 #include <boost/serialization/extended_type_info_no_rtti.hpp>
48 #include <boost/serialization/split_free.hpp>
53 template <
typename Archiver>
56 ar& boost::serialization::base_object<std::string>(str);
63 template <
typename Archiver>
70 template <
typename Archiver>
84 template <
typename Archiver>
99 #define VTK_VARIANT_SAVE(Value, Type, Function) \
102 Type value = variant.Function(); \
124 cerr <<
"cannot serialize variant with type " << variant.
GetType() <<
'\n';
126 #undef VTK_VARIANT_SAVE
129 template <
typename Archiver>
135 #define VTK_VARIANT_LOAD(Value, Type) \
140 variant = vtkVariant(value); \
164 cerr <<
"cannot deserialize variant with type " <<
static_cast<unsigned int>(
Type) <<
'\n';
167 #undef VTK_VARIANT_LOAD
176 template <
typename Archiver>
183 if (array.
GetName() !=
nullptr)
196 template <
typename Archiver>
#define VTK_UNSIGNED_LONG_LONG
#define VTK_VARIANT_LOAD(Value, Type)
vtkVariant & GetValue(vtkIdType id) const
Get the data at a particular index.
#define VTK_UNICODE_STRING
#define VTK_UNSIGNED_SHORT
bool IsValid() const
Get whether the variant value is valid.
void save(Archiver &ar, const vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
void serialize(Archiver &ar, vtkStdString &str, const unsigned int vtkNotUsed(version))
unsigned int GetType() const
Get the type of the variant.
#define VTK_VARIANT_SAVE(Value, Type, Function)
An array holding vtkVariants.
static vtkUnicodeString from_utf8(const char *)
Constructs a string from a null-terminated sequence of UTF-8 encoded characters.
void SetNumberOfTuples(vtkIdType number) override
Set the number of tuples (a component group) in the array.
vtkIdType GetNumberOfTuples() const
Get the number of complete tuples (a component group) in the array.
void load(Archiver &ar, vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
void SetValue(vtkIdType id, vtkVariant value)
Set the data at a particular index.
String class that stores Unicode text.
const char * utf8_str() const
Returns the sequence as a null-terminated sequence of UTF-8 encoded characters.
A atomic type representing the union of many types.
#define VTK_UNSIGNED_CHAR
#define VTK_UNSIGNED_LONG
Wrapper around std::string to keep symbols short.
virtual void SetName(const char *)
Set/get array's name.