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(); \
125 #if defined(VTK_TYPE_USE___INT64)
129 #if defined(VTK_TYPE_USE_LONG_LONG)
135 cerr <<
"cannot serialize variant with type " << variant.GetType()
138 #undef VTK_VARIANT_SAVE
141 template<
typename Archiver>
143 const unsigned int vtkNotUsed(
version))
148 #define VTK_VARIANT_LOAD(Value,Type) \
153 variant = vtkVariant(value); \
172 #if defined(VTK_TYPE_USE___INT64)
176 #if defined(VTK_TYPE_USE_LONG_LONG)
181 cerr <<
"cannot deserialize variant with type " <<
static_cast<unsigned int>(Type) <<
'\n';
184 #undef VTK_VARIANT_LOAD
193 template<typename Archiver>
195 const
unsigned int vtkNotUsed(
version))
213 template<
typename Archiver>
215 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)
#define VTK_UNSIGNED___INT64
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.