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. It keeps a list of name...
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. buffer must have at least the number of bytes returned...
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