VR-Vantage 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtSerialize.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef DtSerialize_H_
10 #define DtSerialize_H_
11 
12 
14 //
19 //
21 //
24 //
31 //
34 //
37 //
39 //
44 //
51 //
54 //
65 //
66 //
77 //
80 //
90 
91 
92 #include <boost/preprocessor/stringize.hpp>
93 #include <boost/serialization/nvp.hpp>
94 
97 
98 #ifdef __rhentws8__
99 namespace MAKBoost_1_63 {} namespace boost = MAKBoost_1_63; namespace MAKBoost_1_63
100 #else
101 namespace boost
102 #endif
103 {
104  namespace archive
105  {
106  class xml_oarchive;
107  class xml_iarchive;
108  class binary_oarchive;
109  class binary_iarchive;
110  class text_oarchive;
111  class text_iarchive;
112  }
113  namespace serialization
114  {
115  class access;
116  }
117 }
118 
120 #define DT_DECLARE_serialize_FUNCTIONS\
121  friend class boost::serialization::access;\
122  void serialize(boost::archive::xml_oarchive&, const unsigned int version = 0);\
123  void serialize(boost::archive::xml_iarchive&, const unsigned int version = 0);\
124  void serialize(boost::archive::binary_oarchive&, const unsigned int version = 0);\
125  void serialize(boost::archive::binary_iarchive&, const unsigned int version = 0);\
126  void serialize(boost::archive::text_oarchive&, const unsigned int version = 0);\
127  void serialize(boost::archive::text_iarchive&, const unsigned int version = 0);
128 
129 #define DT_DECLARE_PORTABLE_serialize_FUNCTIONS\
130  friend class boost::serialization::access;\
131  void serialize(portable_binary_oarchive&, const unsigned int version = 0);\
132  void serialize(portable_binary_iarchive&, const unsigned int version = 0);
133 
134 #define DT_DECLARE_ALL_serialize_FUNCTIONS\
135  friend class boost::serialization::access;\
136  void serialize(boost::archive::xml_oarchive&, const unsigned int version = 0);\
137  void serialize(boost::archive::xml_iarchive&, const unsigned int version = 0);\
138  void serialize(boost::archive::binary_oarchive&, const unsigned int version = 0);\
139  void serialize(boost::archive::binary_iarchive&, const unsigned int version = 0);\
140  void serialize(boost::archive::text_oarchive&, const unsigned int version = 0);\
141  void serialize(boost::archive::text_iarchive&, const unsigned int version = 0);\
142  void serialize(portable_binary_oarchive&, const unsigned int version = 0);\
143  void serialize(portable_binary_iarchive&, const unsigned int version = 0);
144 
145 
147 #define DT_SERIALIZE(NAME)\
148  boost::serialization::make_nvp(BOOST_PP_STRINGIZE(NAME),NAME)
149 
153 #define DT_SERIALIZE_REMOVE_PREFIX(NAME,PREFIX_SIZE)\
154  boost::serialization::make_nvp(BOOST_PP_STRINGIZE(NAME) + PREFIX_SIZE,NAME)
155 
158 #define DT_SERIALIZE_MEMBER(NAME) DT_SERIALIZE_REMOVE_PREFIX(NAME,2)
159 
161 #define DT_SERIALIZE_BASE(BASE_CLASS) BOOST_SERIALIZATION_BASE_OBJECT_NVP(BASE_CLASS)
162 
163 #endif


Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)