VR-Forces 4.1.1 Class Documentation
DtSerialize.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtSerialize.h,v $ $Revision: 1.7 $ $State: Exp $
7 ******************************************************************************/
8 
11 
12 #ifndef DtSerialize_H_
13 #define DtSerialize_H_
14 
15 
17 //
22 //
24 //
27 //
34 //
37 //
40 //
42 //
47 //
54 //
57 //
68 //
69 //
80 //
83 //
93 
94 
95 #include <boost/preprocessor/stringize.hpp>
96 #include <boost/serialization/nvp.hpp>
97 
98 class portable_binary_oarchive;
99 class portable_binary_iarchive;
100 
101 namespace boost
102 {
103  namespace archive
104  {
105  class xml_oarchive;
106  class xml_iarchive;
107  class binary_oarchive;
108  class binary_iarchive;
109  class text_oarchive;
110  class text_iarchive;
111  }
112  namespace serialization
113  {
114  class access;
115  }
116 }
117 
119 #define DT_DECLARE_serialize_FUNCTIONS\
120  friend class boost::serialization::access;\
121  void serialize(boost::archive::xml_oarchive&, const unsigned int version = 0);\
122  void serialize(boost::archive::xml_iarchive&, const unsigned int version = 0);\
123  void serialize(boost::archive::binary_oarchive&, const unsigned int version = 0);\
124  void serialize(boost::archive::binary_iarchive&, const unsigned int version = 0);\
125  void serialize(boost::archive::text_oarchive&, const unsigned int version = 0);\
126  void serialize(boost::archive::text_iarchive&, const unsigned int version = 0);
127 
128 #define DT_DECLARE_PORTABLE_serialize_FUNCTIONS\
129  friend class boost::serialization::access;\
130  void serialize(portable_binary_oarchive&, const unsigned int version = 0);\
131  void serialize(portable_binary_iarchive&, const unsigned int version = 0);
132 
133 #define DT_DECLARE_ALL_serialize_FUNCTIONS\
134  friend class boost::serialization::access;\
135  void serialize(boost::archive::xml_oarchive&, const unsigned int version = 0);\
136  void serialize(boost::archive::xml_iarchive&, const unsigned int version = 0);\
137  void serialize(boost::archive::binary_oarchive&, const unsigned int version = 0);\
138  void serialize(boost::archive::binary_iarchive&, const unsigned int version = 0);\
139  void serialize(boost::archive::text_oarchive&, const unsigned int version = 0);\
140  void serialize(boost::archive::text_iarchive&, const unsigned int version = 0);\
141  void serialize(portable_binary_oarchive&, const unsigned int version = 0);\
142  void serialize(portable_binary_iarchive&, const unsigned int version = 0);
143 
144 
146 #define DT_SERIALIZE(NAME)\
147  boost::serialization::make_nvp(BOOST_PP_STRINGIZE(NAME),NAME)
148 
152 #define DT_SERIALIZE_REMOVE_PREFIX(NAME,PREFIX_SIZE)\
153  boost::serialization::make_nvp(BOOST_PP_STRINGIZE(NAME) + PREFIX_SIZE,NAME)
154 
157 #define DT_SERIALIZE_MEMBER(NAME) DT_SERIALIZE_REMOVE_PREFIX(NAME,2)
158 
160 #define DT_SERIALIZE_BASE(BASE_CLASS) BOOST_SERIALIZATION_BASE_OBJECT_NVP(BASE_CLASS)
161 
162 #endif

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)