15 #include <vlutil/vlString.h>
16 #include <vlutil/vlMachineTypes.h>
17 #include <matrix/vlVector.h>
18 #include <matrix/vlTaitBryan.h>
19 #include <vlutil/vlFilename.h>
40 #include <vlpi/entityIdentifier.h>
41 #include <vlpi/appearance.h>
42 #include <vlutil/vlInetAddr.h>
44 #include <boost/unordered_map.hpp>
45 #include <boost/unordered_set.hpp>
56 namespace DtBufferSerialize
101 template <
typename T>
102 char*
encode(
const std::vector<T>& val,
char* buffer);
103 template <
typename T>
104 char*
encode(
const std::set<T>& val,
char* buffer);
105 template <
typename T>
106 char*
encode(
const std::list<T>& val,
char* buffer);
107 template <
typename T1,
typename T2>
108 char*
encode(
const std::map<T1, T2>& val,
char* buffer);
109 template <
typename T1,
typename T2>
110 char*
encode(
const boost::unordered_map<T1, T2>& val,
char* buffer);
111 template <
typename T1>
112 char*
encode(
const boost::unordered_set<T1>& val,
char* buffer);
113 template <
typename T1,
typename T2>
114 char*
encode(
const std::pair<T1, T2>& val,
char* buffer);
163 template <
typename T>
164 const char *
decode(std::vector<T>& val,
const char *buffer);
165 template <
typename T>
166 const char *
decode(std::set<T>& val,
const char *buffer);
167 template <
typename T>
168 const char *
decode(std::list<T>& val,
const char *buffer);
169 template <
typename T1,
typename T2>
170 const char *
decode(std::map<T1, T2>& val,
const char *buffer);
171 template <
typename T1,
typename T2>
172 const char *
decode(boost::unordered_map<T1, T2>& val,
const char *buffer);
173 template <
typename T1>
174 const char *
decode(boost::unordered_set<T1>& val,
const char *buffer);
175 template <
typename T1,
typename T2>
176 const char *
decode(std::pair<T1, T2>& val,
const char *buffer);
220 template <
typename T>
221 int getSize(
const std::vector<T>& v) ;
222 template <
typename T>
223 int getSize(
const std::list<T>& v) ;
224 template <
typename T1,
typename T2>
225 int getSize(
const std::map<T1, T2>& v) ;
226 template <
typename T1,
typename T2>
227 int getSize(
const boost::unordered_map<T1, T2>& v) ;
228 template <
typename T1>
229 int getSize(
const boost::unordered_set<T1>& v) ;
230 template <
typename T1,
typename T2>
231 int getSize(
const std::pair<T1, T2>& v) ;
232 template <
typename T>
233 int getSize(
const std::set<T>& v) ;
261 #define bufferSerialize_INL_
262 #include "vrfutil/bufferSerialize.inl"
263 #undef bufferSerialize_INL_