VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rwUUID.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2022 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "vrfutil/vrfutilDefines.h"
14 #include "readerWriter/rwString.h"
16 #include <boost/uuid/uuid.hpp>
17 #include <boost/unordered_map.hpp>
18 #include <boost/unordered_set.hpp>
19 
20 #include <boost/archive/xml_iarchive.hpp>
21 #include <boost/archive/xml_oarchive.hpp>
22 #include <boost/serialization/access.hpp>
23 #include <boost/uuid/uuid_io.hpp>
24 #include <boost/uuid/uuid_serialize.hpp>
25 #include <tbb/recursive_mutex.h>
26 
27 class DtRwUUID;
28 class DtUUID;
29 
32 {
33 public:
34  virtual void uuidChanged() = 0;
35 };
36 
40 {
41 public:
43  virtual DtString markingText() = 0;
44  virtual DtUUIDMarkingTextProvider* clone() const = 0;
45 
46  operator DtString () { return markingText(); };
47 };
48 
51 {
52 public:
55 
56  virtual ~DtMarkingTextStringProvider();
57 
58  virtual void setMarkingText(const DtString& s) { myMarkingText = s; };
59  virtual DtString markingText() { return myMarkingText; };
60 
61  virtual DtUUIDMarkingTextProvider* clone() const;
62 
63 protected:
65 };
66 
72 {
73 public:
74  typedef boost::unordered_map<DtUUID, DtUUIDMarkingTextProvider*> UUIDToMarkingTextMap;
75  typedef boost::unordered_map<DtString, DtUUID> EntityIdentifierToUUIDMap;
76  typedef boost::unordered_map<DtUUID, DtString> UUIDToEntityIdentifierMap;
77  typedef boost::unordered_map<DtString, DtUUID> MarkingTextToUUIDMap;
78  typedef boost::unordered_map<DtUUID, DtUUID> UUIDToUUIDMap;
79  typedef boost::unordered_map<DtString, DtString> MarkingTextToMarkingTextMap;
80  typedef boost::unordered_set<DtUUID*> UUIDsForUpgrade;
81 
83 
85 
87  virtual void clear();
88 
91  virtual void setResolveMarkingTextToUUIDMapping(bool);
92  virtual bool resolveMarkingTextToUUIDMapping() const;
93 
94  virtual void setResolveUUIDToUUIDMapping(bool);
95 
96  virtual bool resolveUUIDToUUIDMapping() const;
97 
99  virtual void resolveUUIDMapping(bool clearWhenDone = false);
100 
103  virtual bool addUUIDForUpgrade(DtUUID*);
104  virtual void removeUUIDForUpgrade(DtUUID*);
105 
108  virtual void objectUUIDChanged(const DtUUID& oldUUID, const DtUUID& newUUID);
109 
112  virtual DtUUIDMarkingTextProvider* addMarkingTextToUUIDMapping(const DtUUIDMarkingTextProvider&, const DtUUID&);
113  virtual DtUUIDMarkingTextProvider* uuidToMarkingTextProvider(const DtUUID&) const;
114 
115  virtual void removeUUIDToMarkingTextMapping(const DtUUID&);
116 
118  virtual void addUUIDToUUIDMapping(const DtUUID& old, const DtUUID& newUUID);
119 
121  virtual void addEntityIdentifierToUUIDMapping(const DtString& eid, const DtUUID&);
122  virtual void removeEntityIdentifierMapping(const DtString& eid);
123  virtual const DtUUID& entityIdentifierToUUIDMapping(const DtString& eid) const;
124  virtual const DtString& uuidToEntityIdentifierMapping(const DtUUID& uuid) const;
125 
126  virtual bool hasUUID(const DtUUID&) const;
127 
129  virtual void addMarkingTextToMarkingTextMapping(const DtString& oldMarkingText, const DtString& newMarkingText);
130 
132  virtual DtUUID mapMarkingTextToUUID(const DtString&) const;
133 
135  virtual bool hasMarkingText(const DtString&) const;
136 
138  virtual DtString mapUUIDToMarkingText(const DtUUID&) const;
139 
141  virtual void pushMappingContext();
142 
145  virtual void popMappingContext(bool merge = false);
146 
151  virtual DtString markingText(const DtUUID&, bool* found = 0) const;
152 
153  MarkingTextToUUIDMap& markingTextToUUIDMapForImport(int context = -1);
154  const MarkingTextToUUIDMap& markingTextToUUIDMapForImport(int context = -1) const;
155 
158  MarkingTextToUUIDMap& liveMarkingTextToUUIDMap(int context = -1);
159  const MarkingTextToUUIDMap& liveMarkingTextToUUIDMap(int context = -1) const;
160  virtual void markingTextUpdated(const DtString& oldText, const DtString& newText);
161 
162  UUIDsForUpgrade& uuidsForMarkingTextUpgrade(int context = -1);
163  const UUIDsForUpgrade& uuidsForMarkingTextUpgrade(int context = -1) const;
164 
165  UUIDsForUpgrade& uuidsForUUIDUpgrade(int context = -1);
166  const UUIDsForUpgrade& uuidsForUUIDUpgrade(int context = -1) const;
167 
168  UUIDToMarkingTextMap& uuidToMarkingTextMap(int context = -1);
169  const UUIDToMarkingTextMap& uuidToMarkingTextMap(int context = -1) const;
170 
171  UUIDToUUIDMap& uuidToUUIDMap(int context = -1);
172  const UUIDToUUIDMap& uuidToUUIDMap(int context = -1) const;
173 
174  MarkingTextToMarkingTextMap& markingTextToMarkingTextMap(int context = -1);
175  const MarkingTextToMarkingTextMap& markingTextToMarkingTextMap(int context = -1) const;
176 
177  EntityIdentifierToUUIDMap& entityIdentifierToUUIDMap(int context = -1);
178  const EntityIdentifierToUUIDMap& entityIdentifierToUUIDMap(int context = -1) const;
179 
180  UUIDToEntityIdentifierMap& uuidToEntityIdentifierMap(int context = -1);
181  const UUIDToEntityIdentifierMap& uuidToEntityIdentifierMap(int context = -1) const;
182 
184  MarkingTextToUUIDMap markingTextToUUIDMap() const;
185 
186  virtual void resolveToMarkingTextMapping();
187 
189  virtual void resolveToUUIDMapping(bool clearWhenDone = false);
190 
192  virtual DtUUID upgradeUUID(const DtUUID&) const;
193 
196  virtual bool hasMarkingTextToUUIDMapForImport(const DtString&) const;
197 
198 protected:
200  {
208 
211  };
212 
213  mutable tbb::recursive_mutex myMutex;
214 
215  typedef std::vector<MappingContext> MappingContexts;
218 
221  mutable bool myPushingContext;
222  mutable bool myPoppingContext;
223 };
224 
227 {
228 protected:
229  enum UUIDType
230  {
231  NOTSET = 0,
232  BOOST = 1,
233  STRING = 2,
234  UUIDSTRING = 3
235  };
236 
237 public:
239  DtUUID(DtUUIDOwner* = 0);
240  DtUUID(const DtUUID&, DtUUIDOwner* = 0);
241  DtUUID(const boost::uuids::uuid&, DtUUIDOwner* = 0);
242 
248  explicit DtUUID(const DtString&, DtUUIDOwner* = 0, bool blockMarkingTextLookup = false);
249  explicit DtUUID(const std::string&, DtUUIDOwner* = 0, bool blockMarkingTextLookup = false);
250  explicit DtUUID(const char*, DtUUIDOwner* = 0, bool blockMarkingTextLookup = false);
251 
253  explicit DtUUID(const unsigned char* data, size_t dataLength, DtUUIDOwner* = 0);
254 
255  DtUUID& operator=(const DtUUID & orig);
256  DtUUID& operator=(const boost::uuids::uuid & orig);
257  bool operator<(const DtUUID & rhs) const;
258  bool operator>(const DtUUID & rhs) const;
259 
260  virtual ~DtUUID();
261 
263  const char* data() const
264  {
265  return &myData[0];
266  }
267 
268  unsigned int dataSize() const
269  {
270  return sizeof(myData);
271  }
272 
273  void setBuffer(const char*);
274 
276  static bool isVrfUUID(const DtString&);
277 
278  bool isBoostUUID() const;
279  bool isVrfUUID() const;
280 
281  UUIDType uuidType() const;
282 
284  virtual void setUUID(const DtString&, bool blockMarkingTextLookup = false);
285  virtual const DtString& uuidString() const;
286 
291  static DtString uuidMarking();
292 
294  static DtUUID makeStringUUID(const DtString&);
295 
297  virtual void setMarkingText(const DtString&);
298 
301  virtual void setStringUUID(const DtString&);
302 
304  virtual void generateUUID();
305 
307  virtual void clearUUID();
308 
309  bool operator==(const DtString&) const;
310  bool operator==(const std::string&) const;
311  bool operator==(const char*) const;
312  bool operator==(const DtUUID&) const;
313  bool operator==(const DtRwUUID&) const;
314 
315  bool operator!=(const DtUUID& rhs) const { return !(*this == rhs); };
316  bool operator!=(const DtString& rhs) const { return !(*this == rhs); };
317  bool operator!=(const DtRwUUID& rhs) const { return !(*this == rhs); };
318 
319  virtual bool isValid() const;
320  virtual bool isStringUUID() const;
321 
323  size_t hashValue() const;
324 
325  boost::uuids::uuid uuid() const
326  {
327  return asBoostUUID();
328  }
329 
330  boost::uuids::uuid asBoostUUID() const;
331 
332  static const DtUUID& nullUUID();
333 
335  virtual DtString markingText() const;
336 
338  std::string string() const;
339 
341  static DtObjectIdentificationResolver& objectIdentificationResolver();
342 
343  //-------------------------------------------
346 
348  DtString objectType() const;
349 
352 
355  bool deserialize(const DtString& data);
356 
358  static DtAsciiSerializable* creator();
360 
361  static bool isValidBoostUUIDString(const DtString& str);
362 
363  virtual size_t calcHashValue() const;
364 
365  bool addedForUpgrade() const
366  {
367  return myAddedForUpgrade;
368  }
369 
370  void setAddedForUpgrade(bool b)
371  {
372  myAddedForUpgrade = b;
373  }
374 
375 protected:
376  friend class boost::serialization::access;
377 
381  template<class Archive>
382  void serialize(Archive & ar, const unsigned int version)
383  {
384  if (Archive::is_loading::value)
385  {
386  std::string uuidS;
387 
388  ar & BOOST_SERIALIZATION_NVP(uuidS);
389 
390  setUUID(uuidS.c_str());
391  }
392  else
393  {
394  std::string uuidS = uuidString().c_str();
395 
396  ar & BOOST_SERIALIZATION_NVP(uuidS);
397  }
398  }
399 
400 protected:
401  virtual void convertStringToData(const std::string&);
402  virtual boost::uuids::uuid convertToBoostUUID(const DtString&);
403  virtual boost::uuids::uuid convertStringToBoostUUID(const DtString&, bool blockMarkingTextLookup = false);
404  virtual const char* convertStringToStringUUID(const char* t) const;
405 
406 protected:
409  char myData[36];
410 
414 
417 
419 
420  size_t myHashValue;
422 };
423 
429 {
430 public:
432  DtRwUUID();
433  DtRwUUID(const char* name, DtReaderWriterRegistry* const parentRegistry = 0);
434  DtRwUUID(const DtString& name, DtReaderWriterRegistry* const parentRegistry);
435  DtRwUUID(const DtSymbolString& name, DtReaderWriterRegistry* const parentRegistry);
436 
438  DtRwUUID(const DtString& name, const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
439  DtRwUUID(const DtSymbolString& name, const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
440  DtRwUUID(const DtSymbolString& name, const DtUUID&, DtReaderWriterRegistry* const parentRegistry);
441  DtRwUUID(const DtString& name, const DtUUID&, DtReaderWriterRegistry* const parentRegistry);
442  DtRwUUID(const DtString& name, const char*, DtReaderWriterRegistry* const parentRegistry);
443  DtRwUUID(const DtSymbolString& name, const char*, DtReaderWriterRegistry* const parentRegistry);
444  DtRwUUID(const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
445  DtRwUUID(const DtRwUUID&);
446  DtRwUUID(const DtUUID&);
447 
448  virtual ~DtRwUUID();
449 
453  virtual const char* readerWriterType() const;
454 
455  virtual void setMarkingText(const DtString&);
456  virtual DtString markingText() const;
457 
459  static const char* theXmlType();
460 
461  operator const DtUUID& () const { return myUUID; };
462 
463  DtRwUUID& operator=(const DtRwUUID & orig);
464  DtRwUUID& operator=(const DtUUID & orig);
465 
466  bool operator!=(const DtRwUUID & orig) const { return !(*this == orig); };
467  bool operator==(const DtRwUUID & orig) const;
468 
469  bool operator<(const DtRwUUID & rhs) const { return myUUID < rhs; };
470  bool operator>(const DtRwUUID & rhs) const { return myUUID > rhs; };
471 
472  virtual const char* xmlType() const
473  {
474  return theXmlType();
475  }
476 
477  const DtUUID& uuid() const { return myUUID; };
478  DtUUID& uuid() { return myUUID; };
479 
480  virtual void clearUUID();
481  virtual DtString uuidString() const;
482  virtual bool isValid() const;
483  virtual void generateUUID();
484  virtual void setUUID(const DtRwUUID& u);
485  virtual void setUUID(const DtString& uuid);
486  virtual void setStringUUID(const DtString& uuid);
487  bool isVrfUUID() const;
488 
489  const char* data() const;
490 
491  unsigned int dataSize() const;
492  void setBuffer(const char*);
493 
494  virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths& searchPaths,
495  const DtVariableBindingsList& variableBindings);
496  virtual void getSelf(DtlObjPtr args, const SearchPaths& searchPaths = DtReaderWriter::SearchPaths(),
497  const DtVariableBindingsList& variableBindings = DtVariableBindingsList());
498  virtual void getSelf(const DtEnvironmentSP env, const DtEnvValueSP root,
500  const DtVariableBindingsList& varBindings = DtVariableBindingsList());
501  virtual void getData(const DtEnvironmentSP, const DtEnvValueSP,
502  const SearchPaths& searchPaths = SearchPaths(),
503  const DtVariableBindingsList& bindings = DtVariableBindingsList());
504  virtual void putSelf(std::string& fp, int indentLevel = 0,
505  bool writeUnspecified = false, const DtFilename& path =
506  DtFilename::nullFilename());
507  virtual void putSelf(DtEnvironmentSP env, DtEnvValueSP parent) const;
508  virtual void putData(DtEnvironmentSP, DtEnvValueSP value) const;
509  virtual void putData(std::string& fp, int);
510 
511 
512  virtual DtString prettyPrint() const;
513 
514 protected:
516  virtual void noRwValueSpecified();
517 
520  virtual void uuidChanged();
521 
522 protected:
523  mutable DtUUID myUUID;
524 };
525 
529 {
530 public:
532  DtRwObjectName();
533 
535  DtRwObjectName(const DtString& name, DtReaderWriterRegistry* const parentRegistry = NULL);
536  DtRwObjectName(const DtSymbolString& name, DtReaderWriterRegistry* const parentRegistry = NULL);
537 
539  DtRwObjectName(const DtString& name,
540  const char* fromChars,
541  DtReaderWriterRegistry* const parentRegistry = NULL);
542 
543  DtRwObjectName(const DtSymbolString& name,
544  const char* fromChars,
545  DtReaderWriterRegistry* const parentRegistry = NULL);
546 
547  DtRwObjectName(const DtString& name,
548  const DtString& fromString,
549  DtReaderWriterRegistry* const parentRegistry = NULL);
550 
551  DtRwObjectName(const DtSymbolString& name,
552  const DtString& fromString,
553  DtReaderWriterRegistry* const parentRegistry = NULL);
554 
555  DtRwObjectName(const DtString& name,
556  const DtRwObjectName& fromString,
557  DtReaderWriterRegistry* const parentRegistry = NULL);
558 
559  DtRwObjectName(const DtSymbolString& name,
560  const DtRwObjectName& fromString,
561  DtReaderWriterRegistry* const parentRegistry = NULL);
562 
564  DtRwObjectName(const DtRwObjectName& orig, DtReaderWriterRegistry* const parentRegistry = NULL);
565 
567  DtRwObjectName& operator=(const DtRwObjectName & orig);
568  DtRwObjectName& operator=(const DtUUID & orig);
569 
570  virtual ~DtRwObjectName();
571 
573  static const char* theXmlType();
574 
575  virtual const char* xmlType() const
576  {
577  return theXmlType();
578  }
579 
583  virtual const char* readerWriterType() const;
584 };
585 
586 DT_DLL_vrfutil std::size_t hash_value(DtUUID const& b);
587 DT_DLL_vrfutil std::size_t hash_value(DtString const& b);
588 
589 namespace std
590 {
591  template <>
592  struct hash<DtUUID>
593  {
594  std::size_t operator()(const DtUUID& k) const
595  {
596  return k.hashValue();
597  }
598  };
599 }
DtString myMarkingText
Definition: rwUUID.h:64
bool operator==(const DtReaderWriter &) const
Equivalence operator.
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
bool myResolveMarkingTextToUUIDMapping
Definition: rwUUID.h:219
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
boost::unordered_map< DtString, DtString > MarkingTextToMarkingTextMap
Definition: rwUUID.h:79
bool operator!=(const DtRwUUID &rhs) const
Definition: rwUUID.h:317
Definition: symbolString.h:20
virtual const char * xmlType() const
Definition: rwUUID.h:575
boost::unordered_map< DtString, DtUUID > EntityIdentifierToUUIDMap
Definition: rwUUID.h:75
bool myResolveUUIDToUUIDMapping
Definition: rwUUID.h:220
MarkingTextToUUIDMap myMarkingTextToUUIDMap
Definition: rwUUID.h:207
bool myDestructingFlag
Definition: rwUUID.h:217
UUIDToEntityIdentifierMap myUUIDToEntityIdentifierMap
Definition: rwUUID.h:203
boost::unordered_map< DtUUID, DtUUID > UUIDToUUIDMap
Definition: rwUUID.h:78
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
bool addedForUpgrade() const
Definition: rwUUID.h:365
Definition: asciiSerializable.h:34
virtual bool deserialize(const DtString &)=0
This function should take the string that was serialized via serialize() and fill this object with th...
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Deriving class overrides these to get/put class specific data.
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Definition: readerWriter.h:85
bool operator<(const DtRwUUID &rhs) const
Definition: rwUUID.h:469
virtual const char * xmlType() const
Definition: rwUUID.h:472
Definition: readerWriterRegistry.h:39
std::size_t operator()(const DtUUID &k) const
Definition: rwUUID.h:594
virtual DtString serialize()=0
The following characters are reserved and cannot be used in serialization: &#39;|&#39;, &#39;:&#39;.
boost::unordered_map< DtUUID, DtUUIDMarkingTextProvider * > UUIDToMarkingTextMap
Definition: rwUUID.h:74
virtual DtString prettyPrint() const
Routine to return a human readable form of the reader/writer variable. Not all reader/writer classes ...
std::vector< MappingContext > MappingContexts
Definition: rwUUID.h:215
MarkingTextToMarkingTextMap myMarkingTextToMarkingTextMap
Definition: rwUUID.h:205
static DtObjectIdentificationResolver theObjectIdentificationResolver
Definition: rwUUID.h:418
Description: Readable, Writable uuid string. Use this class in order to convert from object marking t...
Definition: rwUUID.h:428
UUIDToUUIDMap myUUIDToUUIDMap
Definition: rwUUID.h:204
size_t myHashValue
Definition: rwUUID.h:420
bool operator!=(const DtUUID &rhs) const
Definition: rwUUID.h:315
virtual void uuidChanged()=0
const char * data() const
Not this also contains the special marker – the actual UUID starts at byte 1.
Definition: rwUUID.h:263
UUIDsForUpgrade myUUIDsForMarkingTextUpgrade
Definition: rwUUID.h:209
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
bool myPoppingContext
Definition: rwUUID.h:222
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
Optional owner of this UUID. Since the UUID can change when remapped, supply an owner to be notified ...
Definition: rwUUID.h:31
bool myAddedForUpgrade
Definition: rwUUID.h:421
static const char * theXmlType()
The type that is used when archiving to an XML stream.
DtRwUUID & operator=(const DtRwUUID &orig)
bool operator>(const DtRwUUID &rhs) const
Definition: rwUUID.h:470
UUIDToMarkingTextMap myUUIDToMarkingTextMap
Definition: rwUUID.h:201
size_t hashValue() const
If the hashValue is 0 and this is a valid UUID, this will throw a std::runtime_exception.
bool operator>(const DtObjectType &lhs, const DtSimulationModelSetLoader::EntityData &rhs)
Definition: simulationModelSetLoader.h:1314
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
Simple wrapper class that will be used by Lua to indicate to create a scripted vrf object from the su...
Definition: rwUUID.h:528
boost::unordered_set< DtUUID * > UUIDsForUpgrade
Definition: rwUUID.h:80
virtual void putSelf(std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
Top level call to write itself to file. If write unspecified is true, will write entries that are uns...
bool operator!=(const DtRwUUID &orig) const
Definition: rwUUID.h:466
virtual DtString objectType() const =0
Should return the string name of this object. The object name should not be part of the serialization...
Simple provider that will give the marking text of the object.
Definition: rwUUID.h:50
UUIDsForUpgrade myUUIDsForUUIDUpgrade
Definition: rwUUID.h:210
DtString myMarkingText
Definition: rwUUID.h:415
std::size_t hash_value(const DtNodeBoundingInfoPtr &p)
needed for boost::unordered
Definition: boundingNodeInfo.h:91
const DtUUID & uuid() const
Definition: rwUUID.h:477
DtUUID myUUID
Definition: rwUUID.h:523
UUIDType
Definition: rwUUID.h:229
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
virtual ~DtUUIDMarkingTextProvider()
Definition: rwUUID.h:42
bool myPushingContext
Definition: rwUUID.h:221
EntityIdentifierToUUIDMap myEntityIdentifierToUUIDMap
Definition: rwUUID.h:202
virtual void setMarkingText(const DtString &s)
Definition: rwUUID.h:58
bool operator!=(const DtString &rhs) const
Definition: rwUUID.h:316
DtUUIDOwner * myOwner
Definition: rwUUID.h:416
DtString myUUIDString
If the assignment is not a valid boost UUID then the string UUID is what is used. ...
Definition: rwUUID.h:413
This class will be used to manage UUID lookups. It will contain a list of sub-lists that can be used ...
Definition: rwUUID.h:71
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
DtUUID & uuid()
Definition: rwUUID.h:478
MarkingTextToUUIDMap myMarkingTextToUUIDMapForImport
Definition: rwUUID.h:206
MappingContexts myMappingContexts
Definition: rwUUID.h:216
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
static const char * theXmlType()
The type that is used when archiving to an XML stream.
virtual DtUUIDMarkingTextProvider * clone() const =0
void setAddedForUpgrade(bool b)
Definition: rwUUID.h:370
boost::unordered_map< DtUUID, DtString > UUIDToEntityIdentifierMap
Definition: rwUUID.h:76
unsigned int dataSize() const
Definition: rwUUID.h:268
boost::unordered_map< DtString, DtUUID > MarkingTextToUUIDMap
Definition: rwUUID.h:77
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: rwUUID.h:382
To allow for faster marking text lookups, the DtUUIDMarkingTextProvider class wraps an object that wi...
Definition: rwUUID.h:39
tbb::recursive_mutex myMutex
Definition: rwUUID.h:213
boost::uuids::uuid uuid() const
Definition: rwUUID.h:325
virtual DtString markingText()
Definition: rwUUID.h:59

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)