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>
21 #include <vlpi/entityType.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
90 char*
encode(
const std::vector<T>& val,
char* buffer);
92 char*
encode(
const std::set<T>& val,
char* buffer);
94 char*
encode(
const std::list<T>& val,
char* buffer);
95 template <
typename T1,
typename T2>
96 char*
encode(
const std::map<T1, T2>& val,
char* buffer);
97 template <
typename T1,
typename T2>
98 char*
encode(
const boost::unordered_map<T1, T2>& val,
char* buffer);
99 template <
typename T1>
100 char*
encode(
const boost::unordered_set<T1>& val,
char* buffer);
101 template <
typename T1,
typename T2>
102 char*
encode(
const std::pair<T1, T2>& val,
char* buffer);
123 #ifndef DT_HAVE_64BIT_LONGS
148 template <
typename T>
149 const char *
decode(std::vector<T>& val,
const char *buffer);
150 template <
typename T>
151 const char *
decode(std::set<T>& val,
const char *buffer);
152 template <
typename T>
153 const char *
decode(std::list<T>& val,
const char *buffer);
154 template <
typename T1,
typename T2>
155 const char *
decode(std::map<T1, T2>& val,
const char *buffer);
156 template <
typename T1,
typename T2>
157 const char *
decode(boost::unordered_map<T1, T2>& val,
const char *buffer);
158 template <
typename T1>
159 const char *
decode(boost::unordered_set<T1>& val,
const char *buffer);
160 template <
typename T1,
typename T2>
161 const char *
decode(std::pair<T1, T2>& val,
const char *buffer);
177 #ifndef DT_HAVE_64BIT_LONGS
201 template <
typename T>
202 int getSize(
const std::vector<T>& v) ;
203 template <
typename T>
204 int getSize(
const std::list<T>& v) ;
205 template <
typename T1,
typename T2>
206 int getSize(
const std::map<T1, T2>& v) ;
207 template <
typename T1,
typename T2>
208 int getSize(
const boost::unordered_map<T1, T2>& v) ;
209 template <
typename T1>
210 int getSize(
const boost::unordered_set<T1>& v) ;
211 template <
typename T1,
typename T2>
212 int getSize(
const std::pair<T1, T2>& v) ;
213 template <
typename T>
214 int getSize(
const std::set<T>& v) ;
222 #define bufferSerialize_INL_
223 #include "readerWriter/bufferSerialize.inl"
224 #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...
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