32 #ifndef vtkVariantBoostSerialization_h
33 #define vtkVariantBoostSerialization_h
35 #include "vtkSetGet.h"
42 #include <boost/archive/binary_oarchive.hpp>
44 #include <boost/serialization/base_object.hpp>
45 #include <boost/serialization/export.hpp>
46 #include <boost/serialization/extended_type_info_no_rtti.hpp>
47 #include <boost/serialization/split_free.hpp>
52 template<
typename Archiver>
54 const unsigned int vtkNotUsed(
version))
56 ar & boost::serialization::base_object<std::string>(str);
63 template<
typename Archiver>
65 const unsigned int vtkNotUsed(
version))
71 template<
typename Archiver>
73 const unsigned int vtkNotUsed(
version))
87 template<typename Archiver>
89 const
unsigned int vtkNotUsed(
version))
91 if (!variant.IsValid())
99 char Type = variant.GetType();
103 #define VTK_VARIANT_SAVE(Value,Type,Function) \
106 Type value = variant.Function(); \
129 cerr <<
"cannot serialize variant with type " << variant.GetType()
132 #undef VTK_VARIANT_SAVE
135 template<
typename Archiver>
137 const unsigned int vtkNotUsed(
version))
142 #define VTK_VARIANT_LOAD(Value,Type) \
147 variant = vtkVariant(value); \
169 cerr <<
"cannot deserialize variant with type " <<
static_cast<unsigned int>(Type) <<
'\n';
172 #undef VTK_VARIANT_LOAD
181 template<typename Archiver>
183 const
unsigned int vtkNotUsed(
version))
201 template<
typename Archiver>
203 const unsigned int vtkNotUsed(
version))
Wrapper around std::string to keep symbols short.
#define VTK_VARIANT_SAVE(Value, Type, Function)
void load(Archiver &ar, vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
void serialize(Archiver &ar, vtkStdString &str, const unsigned int vtkNotUsed(version))
An array holding vtkVariants.
vtkIdType GetNumberOfTuples()
#define VTK_UNSIGNED_SHORT
#define VTK_UNICODE_STRING
#define VTK_VARIANT_LOAD(Value, Type)
A atomic type representing the union of many types.
virtual void SetName(const char *)
static vtkUnicodeString from_utf8(const char *)
const char * utf8_str() const
void SetValue(vtkIdType id, vtkVariant value)
void save(Archiver &ar, const vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
#define VTK_UNSIGNED_CHAR
virtual void SetNumberOfTuples(vtkIdType number)
#define VTK_UNSIGNED_LONG
vtkVariant & GetValue(vtkIdType id) const
#define VTK_UNSIGNED_LONG_LONG
String class that stores Unicode text.