VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
bufferSerialize.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
12 
13 #pragma once
14 
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>
21 #include <vector>
22 #include <set>
23 #include <list>
24 #include <string>
25 #include "vrfutil/vrfutilDefines.h"
26 #include "vrfutil/rwBoolean.h"
27 #include "vrfutil/rwInt.h"
28 #include "vrfutil/rwObjectType.h"
29 #include "vrfutil/rwStringList.h"
30 #include "vrfutil/rwIntegerList.h"
31 #include "vrfutil/rwUUID.h"
33 #include "vrfutil/rwForceType.h"
35 #include "vrfutil/rwReal.h"
36 #include "vrfutil/rwUnsigned.h"
39 
40 #include <vlpi/entityIdentifier.h>
41 #include <vlpi/appearance.h>
42 #include <vlutil/vlInetAddr.h>
43 
44 #include <boost/unordered_map.hpp>
45 #include <boost/unordered_set.hpp>
46 
50 
56 namespace DtBufferSerialize
57 {
65 
66  DT_DLL_vrfutil char *encode(const DtFilename& val, char *buffer);
67  DT_DLL_vrfutil char *encode(const DtString& val, char *buffer);
68  DT_DLL_vrfutil char *encode(const std::string& val, char *buffer);
69  DT_DLL_vrfutil char *encode(const char *val, unsigned nSize, char *buffer);
70  DT_DLL_vrfutil char *encode(const int& val, char *buffer);
71  DT_DLL_vrfutil char *encode(const DtInt16& val, char *buffer);
72  DT_DLL_vrfutil char *encode(const DtU8& val, char *buffer);
73  DT_DLL_vrfutil char *encode(const DtU16& val, char *buffer);
74  DT_DLL_vrfutil char *encode(const DtU32& val, char *buffer);
75  DT_DLL_vrfutil char *encode(const DtU64& val, char *buffer);
76  DT_DLL_vrfutil char *encode(const DtFloat32& val, char *buffer);
77  DT_DLL_vrfutil char *encode(const DtFloat64& val, char *buffer);
78  DT_DLL_vrfutil char *encode(const DtVector& val, char *buffer);
79  DT_DLL_vrfutil char *encode(const DtTaitBryan& val, char *buffer);
80  DT_DLL_vrfutil char *encode(const bool& val, char *buffer);
81  DT_DLL_vrfutil char *encode(const DtObjectType& val, char *buffer);
82  DT_DLL_vrfutil char *encode(const std::vector<char>& val, char *buffer);
83  DT_DLL_vrfutil char *encode(const DtRwBoolean& val, char *buffer);
84  DT_DLL_vrfutil char *encode(const DtEntityType& val, char *buffer);
85  DT_DLL_vrfutil char *encode(const DtEntityIdentifier& val, char *buffer);
86  DT_DLL_vrfutil char *encode(const DtSimulationAddress& val, char *buffer);
87  DT_DLL_vrfutil char *encode(const DtAppearance& val, char *buffer);
88  DT_DLL_vrfutil char *encode(const DtForceType& val, char *buffer);
89  DT_DLL_vrfutil char *encode(const DtInetAddr& val, char *buffer);
90  DT_DLL_vrfutil char *encode(const DtRwInt& val, char* buffer);
91  DT_DLL_vrfutil char *encode(const DtRwVariableBindings& val, char* buffer);
92  DT_DLL_vrfutil char *encode(const DtRwTranslatableStringObject& val, char* buffer);
93  DT_DLL_vrfutil char *encode(const DtRwObjectType& val, char* buffer);
94  DT_DLL_vrfutil char *encode(const DtRwStringList& val, char* buffer);
95  DT_DLL_vrfutil char *encode(const DtRwIntegerList& val, char* buffer);
96  DT_DLL_vrfutil char *encode(const DtUUID& val, char* buffer);
97  DT_DLL_vrfutil char *encode(const DtRwUUID& val, char* buffer);
98  DT_DLL_vrfutil char *encode(const DtRwNLengthStringVector& val, char* buffer);
99  DT_DLL_vrfutil char *encode(const DtRwNLengthUUIDVector& val, char* buffer);
100  DT_DLL_vrfutil char *encode(const DtRwJoystickControl& val, char* buffer);
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);
115 
116  //specialized version of decode for std::vector<bool> due to problems with c++
117  //standard on how vector<bool> is defined
118  DT_DLL_vrfutil char *encode(const std::vector<bool>& val, char *buffer);
120 
121 
129 
130  DT_DLL_vrfutil const char *decode(DtString& val, const char *buffer) ;
131  DT_DLL_vrfutil const char *decode(std::string& val, const char *buffer) ;
132  DT_DLL_vrfutil const char *decode(DtFilename& val, const char *buffer) ;
133  DT_DLL_vrfutil const char *decode(int& val, const char *buffer) ;
134  DT_DLL_vrfutil const char *decode(DtU8& val, const char *buffer) ;
135  DT_DLL_vrfutil const char *decode(DtU16& val, const char *buffer) ;
136  DT_DLL_vrfutil const char *decode(DtU32& val, const char *buffer) ;
137  DT_DLL_vrfutil const char *decode(DtU64& val, const char *buffer) ;
138  DT_DLL_vrfutil const char *decode(DtFloat32& val, const char *buffer) ;
139  DT_DLL_vrfutil const char *decode(DtFloat64& val, const char *buffer) ;
140  DT_DLL_vrfutil const char *decode(DtVector& val, const char *buffer) ;
141  DT_DLL_vrfutil const char *decode(DtTaitBryan& val, const char *buffer) ;
142  DT_DLL_vrfutil const char *decode(bool &val, const char *buffer) ;
143  DT_DLL_vrfutil const char *decode(DtObjectType &val, const char *buffer) ;
144  DT_DLL_vrfutil const char *decode(std::vector<char>& val, const char *buffer) ;
145  DT_DLL_vrfutil const char *decode(DtRwBoolean &val, const char *buffer) ;
146  DT_DLL_vrfutil const char *decode(DtEntityType& val, const char *buffer);
147  DT_DLL_vrfutil const char *decode(DtEntityIdentifier& val, const char *buffer);
148  DT_DLL_vrfutil const char *decode(DtSimulationAddress& val, const char *buffer);
149  DT_DLL_vrfutil const char *decode(DtAppearance& val, const char *buffer);
150  DT_DLL_vrfutil const char *decode(DtForceType& val, const char *buffer);
151  DT_DLL_vrfutil const char *decode(DtInetAddr& val, const char *buffer);
152  DT_DLL_vrfutil const char *decode(DtRwInt& val, const char *buffer);
153  DT_DLL_vrfutil const char *decode(DtRwObjectType& val, const char *buffer);
154  DT_DLL_vrfutil const char *decode(DtRwStringList& val, const char *buffer);
155  DT_DLL_vrfutil const char *decode(DtRwIntegerList& val, const char *buffer);
156  DT_DLL_vrfutil const char *decode(DtUUID& val, const char *buffer);
157  DT_DLL_vrfutil const char *decode(DtRwUUID& val, const char *buffer);
158  DT_DLL_vrfutil const char *decode(DtRwNLengthStringVector& val, const char *buffer);
159  DT_DLL_vrfutil const char *decode(DtRwNLengthUUIDVector& val, const char *buffer);
160  DT_DLL_vrfutil const char *decode(DtRwVariableBindings& val, const char *buffer);
161  DT_DLL_vrfutil const char *decode(DtRwTranslatableStringObject& val, const char *buffer);
162  DT_DLL_vrfutil const char *decode(DtRwJoystickControl& val, const 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);
177 
178  //specialized version of decode for std::vector<bool> due to problems with c++
179  //standard on how vector<bool> is defined
180  DT_DLL_vrfutil const char *decode(std::vector<bool>& val, const char *buffer);
182 
186 
187  DT_DLL_vrfutil int getSize(const DtString& val) ;
188  DT_DLL_vrfutil int getSize(const std::string& val);
189  DT_DLL_vrfutil int getSize(const DtFilename& val) ;
190  DT_DLL_vrfutil int getSize(const DtVector& v) ;
191  DT_DLL_vrfutil int getSize(const int& v) ;
192  DT_DLL_vrfutil int getSize(const DtU8& v) ;
193  DT_DLL_vrfutil int getSize(const DtU16& v) ;
194  DT_DLL_vrfutil int getSize(const DtU32& v) ;
195  DT_DLL_vrfutil int getSize(const DtU64& v) ;
196  DT_DLL_vrfutil int getSize(const DtFloat32& v) ;
197  DT_DLL_vrfutil int getSize(const DtFloat64& v) ;
198  DT_DLL_vrfutil int getSize(const bool&v) ;
199  DT_DLL_vrfutil int getSize(const DtObjectType& v) ;
200  DT_DLL_vrfutil int getSize(const DtTaitBryan& v) ;
201  DT_DLL_vrfutil int getSize(const std::vector<char>& v) ;
202  DT_DLL_vrfutil int getSize(const DtRwBoolean& v) ;
203  DT_DLL_vrfutil int getSize(const DtEntityType& v);
204  DT_DLL_vrfutil int getSize(const DtEntityIdentifier& v);
205  DT_DLL_vrfutil int getSize(const DtSimulationAddress& v);
206  DT_DLL_vrfutil int getSize(const DtAppearance& v);
207  DT_DLL_vrfutil int getSize(const DtForceType& v);
208  DT_DLL_vrfutil int getSize(const DtInetAddr& v);
209  DT_DLL_vrfutil int getSize(const DtRwInt& v);
210  DT_DLL_vrfutil int getSize(const DtRwObjectType& v);
213  DT_DLL_vrfutil int getSize(const DtRwStringList& v);
214  DT_DLL_vrfutil int getSize(const DtRwIntegerList& v);
215  DT_DLL_vrfutil int getSize(const DtUUID& v);
216  DT_DLL_vrfutil int getSize(const DtRwUUID& v);
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) ;
234 
235  //specialized version of decode for std::vector<bool> due to problems with c++
236  //standard on how vector<bool> is defined
237  DT_DLL_vrfutil int getSize(const std::vector<bool>& v);
239 
242  DT_DLL_vrfutil int getSize(const DtSimInterfaceContent* const& contentPtr);
243 
248  DT_DLL_vrfutil char *encode(const DtSimInterfaceContent* const& adminContentPtr, char *buffer);
249 
258  DT_DLL_vrfutil const char *decode(DtSimInterfaceContent*& interfaceContentPtr, const char *buffer);
259 }
260 
261 #define bufferSerialize_INL_
262 #include "vrfutil/bufferSerialize.inl"
263 #undef bufferSerialize_INL_
264 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)