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_
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
#define DT_DLL_readerWriter
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: readerWriterDefines.h:34
Defines ReaderWriter classes for varying sized integers In most cases the DtRwInt class is the prefer...
Definition: objectType.h:27
ReaderWriter object that maintains a list of reader-writer variable bindings.
Definition: rwVariableBindings.h:27
Description: Readable, Writable int.
Definition: rwInt.h:25
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
Defines ReaderWriter classes for varying sized reals In most cases the DtRwReal class is the preferre...
class DtRwStringAttribute:
Definition: rwStringAttribute.h:19
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
class DtRwStringAttributeList:
Definition: rwStringAttributeList.h:29