16 #include <vlutil/vlString.h>
17 #include <vlutil/vlMachineTypes.h>
18 #include <matrix/vlVector.h>
19 #include <matrix/vlTaitBryan.h>
20 #include <vlutil/vlFilename.h>
36 #include <vlpi/entityIdentifier.h>
37 #include <vlpi/appearance.h>
38 #include <vlutil/vlInetAddr.h>
40 #include <boost/unordered_map.hpp>
41 #include <boost/unordered_set.hpp>
48 namespace DtBufferSerialize
64 #ifndef DT_HAVE_64BIT_LONGS
91 char*
encode(
const std::vector<T>& val,
char* buffer);
93 char*
encode(
const std::set<T>& val,
char* buffer);
95 char*
encode(
const std::list<T>& val,
char* buffer);
96 template <
typename T1,
typename T2>
97 char*
encode(
const std::map<T1, T2>& val,
char* buffer);
98 template <
typename T1,
typename T2>
99 char*
encode(
const boost::unordered_map<T1, T2>& val,
char* buffer);
100 template <
typename T1>
101 char*
encode(
const boost::unordered_set<T1>& val,
char* buffer);
102 template <
typename T1,
typename T2>
103 char*
encode(
const std::pair<T1, T2>& val,
char* buffer);
124 #ifndef DT_HAVE_64BIT_LONGS
150 template <
typename T>
151 const char *
decode(std::vector<T>& val,
const char *buffer);
152 template <
typename T>
153 const char *
decode(std::set<T>& val,
const char *buffer);
154 template <
typename T>
155 const char *
decode(std::list<T>& val,
const char *buffer);
156 template <
typename T1,
typename T2>
157 const char *
decode(std::map<T1, T2>& val,
const char *buffer);
158 template <
typename T1,
typename T2>
159 const char *
decode(boost::unordered_map<T1, T2>& val,
const char *buffer);
160 template <
typename T1>
161 const char *
decode(boost::unordered_set<T1>& val,
const char *buffer);
162 template <
typename T1,
typename T2>
163 const char *
decode(std::pair<T1, T2>& val,
const char *buffer);
179 #ifndef DT_HAVE_64BIT_LONGS
204 template <
typename T>
205 int getSize(
const std::vector<T>& v) ;
206 template <
typename T>
207 int getSize(
const std::list<T>& v) ;
208 template <
typename T1,
typename T2>
209 int getSize(
const std::map<T1, T2>& v) ;
210 template <
typename T1,
typename T2>
211 int getSize(
const boost::unordered_map<T1, T2>& v) ;
212 template <
typename T1>
213 int getSize(
const boost::unordered_set<T1>& v) ;
214 template <
typename T1,
typename T2>
215 int getSize(
const std::pair<T1, T2>& v) ;
216 template <
typename T>
217 int getSize(
const std::set<T>& v) ;
225 #define bufferSerialize_INL_
226 #include "readerWriter/bufferSerialize.inl"
227 #undef bufferSerialize_INL_