VR-Forces 5.0.3 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 <boost/signals2.hpp>
26 #include <tbb/recursive_mutex.h>
27 
28 class DtRwUUID;
29 class DtUUID;
30 
33 {
34 public:
35  virtual void uuidChanged() = 0;
36 };
37 
41 {
42 public:
44  virtual DtString markingText() = 0;
45  virtual DtUUIDMarkingTextProvider* clone() const = 0;
46 
47  operator DtString () { return markingText(); };
48 };
49 
52 {
53 public:
56 
57  virtual ~DtMarkingTextStringProvider();
58 
59  virtual void setMarkingText(const DtString& s) { myMarkingText = s; };
60  virtual DtString markingText() { return myMarkingText; };
61 
62  virtual DtUUIDMarkingTextProvider* clone() const;
63 
64 protected:
66 };
67 
73 {
74 public:
75  typedef boost::unordered_map<DtUUID, DtUUIDMarkingTextProvider*> UUIDToMarkingTextMap;
76  typedef boost::unordered_map<DtString, DtUUID> EntityIdentifierToUUIDMap;
77  typedef boost::unordered_map<DtUUID, DtString> UUIDToEntityIdentifierMap;
78  typedef boost::unordered_map<DtString, DtUUID> MarkingTextToUUIDMap;
79  typedef boost::unordered_map<DtUUID, DtUUID> UUIDToUUIDMap;
80  typedef boost::unordered_map<DtString, DtString> MarkingTextToMarkingTextMap;
81  typedef boost::unordered_set<DtUUID*> UUIDsForUpgrade;
82 
84 
86 
88  virtual void clear();
89 
92  virtual void setResolveMarkingTextToUUIDMapping(bool);
93  virtual bool resolveMarkingTextToUUIDMapping() const;
94 
95  virtual void setResolveUUIDToUUIDMapping(bool);
96 
97  virtual bool resolveUUIDToUUIDMapping() const;
98 
100  virtual void resolveUUIDMapping(bool clearWhenDone = false);
101 
104  virtual bool addUUIDForUpgrade(DtUUID*);
105  virtual void removeUUIDForUpgrade(DtUUID*);
106 
109  virtual void objectUUIDChanged(const DtUUID& oldUUID, const DtUUID& newUUID);
110 
113  virtual DtUUIDMarkingTextProvider* addMarkingTextToUUIDMapping(const DtUUIDMarkingTextProvider&, const DtUUID&);
114  virtual DtUUIDMarkingTextProvider* uuidToMarkingTextProvider(const DtUUID&) const;
115 
116  virtual void removeUUIDToMarkingTextMapping(const DtUUID&);
117 
119  virtual void addUUIDToUUIDMapping(const DtUUID& old, const DtUUID& newUUID);
120 
122  virtual void addEntityIdentifierToUUIDMapping(const DtString& eid, const DtUUID&);
123  virtual void removeEntityIdentifierMapping(const DtString& eid);
124  virtual const DtUUID& entityIdentifierToUUIDMapping(const DtString& eid) const;
125  virtual const DtString& uuidToEntityIdentifierMapping(const DtUUID& uuid) const;
126 
127  virtual bool hasUUID(const DtUUID&) const;
128 
130  virtual void addMarkingTextToMarkingTextMapping(const DtString& oldMarkingText, const DtString& newMarkingText);
131 
133  virtual DtUUID mapMarkingTextToUUID(const DtString&) const;
134 
136  virtual bool hasMarkingText(const DtString&) const;
137 
139  virtual DtString mapUUIDToMarkingText(const DtUUID&) const;
140 
142  virtual void pushMappingContext();
143 
146  virtual void popMappingContext(bool merge = false);
147 
152  virtual DtString markingText(const DtUUID&, bool* found = 0) const;
153 
154  MarkingTextToUUIDMap& markingTextToUUIDMapForImport(int context = -1);
155  const MarkingTextToUUIDMap& markingTextToUUIDMapForImport(int context = -1) const;
156 
159  MarkingTextToUUIDMap& liveMarkingTextToUUIDMap(int context = -1);
160  const MarkingTextToUUIDMap& liveMarkingTextToUUIDMap(int context = -1) const;
161  virtual void markingTextUpdated(const DtString& oldText, const DtString& newText);
162 
163  UUIDsForUpgrade& uuidsForMarkingTextUpgrade(int context = -1);
164  const UUIDsForUpgrade& uuidsForMarkingTextUpgrade(int context = -1) const;
165 
166  UUIDsForUpgrade& uuidsForUUIDUpgrade(int context = -1);
167  const UUIDsForUpgrade& uuidsForUUIDUpgrade(int context = -1) const;
168 
169  UUIDToMarkingTextMap& uuidToMarkingTextMap(int context = -1);
170  const UUIDToMarkingTextMap& uuidToMarkingTextMap(int context = -1) const;
171 
172  UUIDToUUIDMap& uuidToUUIDMap(int context = -1);
173  const UUIDToUUIDMap& uuidToUUIDMap(int context = -1) const;
174 
175  MarkingTextToMarkingTextMap& markingTextToMarkingTextMap(int context = -1);
176  const MarkingTextToMarkingTextMap& markingTextToMarkingTextMap(int context = -1) const;
177 
178  EntityIdentifierToUUIDMap& entityIdentifierToUUIDMap(int context = -1);
179  const EntityIdentifierToUUIDMap& entityIdentifierToUUIDMap(int context = -1) const;
180 
181  UUIDToEntityIdentifierMap& uuidToEntityIdentifierMap(int context = -1);
182  const UUIDToEntityIdentifierMap& uuidToEntityIdentifierMap(int context = -1) const;
183 
185  MarkingTextToUUIDMap markingTextToUUIDMap() const;
186 
187  virtual void resolveToMarkingTextMapping();
188 
190  virtual boost::unordered_map<DtString, DtString> resolveToUUIDMapping(bool clearWhenDone = false);
191 
193  virtual DtUUID upgradeUUID(const DtUUID&) const;
194 
197  virtual bool hasMarkingTextToUUIDMapForImport(const DtString&) const;
198 
199  boost::signals2::signal<void (const DtUUID& oldUUID, const DtUUID& newUUID)> signal_uuidUpgradedTo;
200 
201 protected:
203  {
211 
214  };
215 
216  mutable tbb::recursive_mutex myMutex;
217 
218  typedef std::vector<MappingContext> MappingContexts;
221 
224  mutable bool myPushingContext;
225  mutable bool myPoppingContext;
226 };
227 
230 {
231 protected:
232  enum UUIDType
233  {
234  NOTSET = 0,
235  BOOST = 1,
236  STRING = 2,
237  UUIDSTRING = 3
238  };
239 
240 public:
242  DtUUID(DtUUIDOwner* = 0);
243  DtUUID(const DtUUID&, DtUUIDOwner* = 0);
244  DtUUID(const boost::uuids::uuid&, DtUUIDOwner* = 0);
245 
251  explicit DtUUID(const DtString&, DtUUIDOwner* = 0, bool blockMarkingTextLookup = false);
252  explicit DtUUID(const std::string&, DtUUIDOwner* = 0, bool blockMarkingTextLookup = false);
253  explicit DtUUID(const char*, DtUUIDOwner* = 0, bool blockMarkingTextLookup = false);
254 
256  explicit DtUUID(const unsigned char* data, size_t dataLength, DtUUIDOwner* = 0);
257 
258  DtUUID& operator=(const DtUUID & orig);
259  DtUUID& operator=(const boost::uuids::uuid & orig);
260  bool operator<(const DtUUID & rhs) const;
261  bool operator>(const DtUUID & rhs) const;
262 
263  virtual ~DtUUID();
264 
266  const char* data() const
267  {
268  return &myData[0];
269  }
270 
271  unsigned int dataSize() const
272  {
273  return sizeof(myData);
274  }
275 
276  void setBuffer(const char*);
277 
279  static bool isVrfUUID(const DtString&);
280 
281  bool isBoostUUID() const;
282  bool isVrfUUID() const;
283 
284  UUIDType uuidType() const;
285 
287  virtual void setUUID(const DtString&, bool blockMarkingTextLookup = false);
288  virtual const DtString& uuidString() const;
289 
294  static DtString uuidMarking();
295 
297  static DtUUID makeStringUUID(const DtString&);
298 
300  virtual void setMarkingText(const DtString&);
301 
304  virtual void setStringUUID(const DtString&);
305 
307  virtual void generateUUID();
308 
310  virtual void clearUUID();
311 
312  bool operator==(const DtString&) const;
313  bool operator==(const std::string&) const;
314  bool operator==(const char*) const;
315  bool operator==(const DtUUID&) const;
316  bool operator==(const DtRwUUID&) const;
317 
318  bool operator!=(const DtUUID& rhs) const { return !(*this == rhs); };
319  bool operator!=(const DtString& rhs) const { return !(*this == rhs); };
320  bool operator!=(const DtRwUUID& rhs) const { return !(*this == rhs); };
321 
322  virtual bool isValid() const;
323  virtual bool isStringUUID() const;
324 
326  size_t hashValue() const;
327 
328  boost::uuids::uuid uuid() const
329  {
330  return asBoostUUID();
331  }
332 
333  boost::uuids::uuid asBoostUUID() const;
334 
335  static const DtUUID& nullUUID();
336 
338  virtual DtString markingText() const;
339 
341  std::string string() const;
342 
344  static DtObjectIdentificationResolver& objectIdentificationResolver();
345 
346  //-------------------------------------------
349 
351  DtString objectType() const;
352 
355 
358  bool deserialize(const DtString& data);
359 
361  static DtAsciiSerializable* creator();
363 
364  static bool isValidBoostUUIDString(const DtString& str);
365 
366  virtual size_t calcHashValue() const;
367 
368  bool addedForUpgrade() const
369  {
370  return myAddedForUpgrade;
371  }
372 
373  void setAddedForUpgrade(bool b)
374  {
375  myAddedForUpgrade = b;
376  }
377 
378 protected:
379  friend class boost::serialization::access;
380 
384  template<class Archive>
385  void serialize(Archive & ar, const unsigned int version)
386  {
387  if (Archive::is_loading::value)
388  {
389  std::string uuidS;
390 
391  ar & BOOST_SERIALIZATION_NVP(uuidS);
392 
393  setUUID(uuidS.c_str());
394  }
395  else
396  {
397  std::string uuidS = uuidString().c_str();
398 
399  ar & BOOST_SERIALIZATION_NVP(uuidS);
400  }
401  }
402 
403 protected:
404  virtual void convertStringToData(const std::string&);
405  virtual boost::uuids::uuid convertToBoostUUID(const DtString&);
406  virtual boost::uuids::uuid convertStringToBoostUUID(const DtString&, bool blockMarkingTextLookup = false);
407  virtual const char* convertStringToStringUUID(const char* t) const;
408 
409 protected:
412  char myData[36];
413 
417 
420 
422 
423  size_t myHashValue;
425 };
426 
432 {
433 public:
435  DtRwUUID();
436  DtRwUUID(const char* name, DtReaderWriterRegistry* const parentRegistry = 0);
437  DtRwUUID(const DtString& name, DtReaderWriterRegistry* const parentRegistry);
438  DtRwUUID(const DtSymbolString& name, DtReaderWriterRegistry* const parentRegistry);
439 
441  DtRwUUID(const DtString& name, const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
442  DtRwUUID(const DtSymbolString& name, const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
443  DtRwUUID(const DtSymbolString& name, const DtUUID&, DtReaderWriterRegistry* const parentRegistry);
444  DtRwUUID(const DtString& name, const DtUUID&, DtReaderWriterRegistry* const parentRegistry);
445  DtRwUUID(const DtString& name, const char*, DtReaderWriterRegistry* const parentRegistry);
446  DtRwUUID(const DtSymbolString& name, const char*, DtReaderWriterRegistry* const parentRegistry);
447  DtRwUUID(const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
448  DtRwUUID(const DtRwUUID&);
449  DtRwUUID(const DtUUID&);
450 
451  virtual ~DtRwUUID();
452 
456  virtual const char* readerWriterType() const;
457 
458  virtual void setMarkingText(const DtString&);
459  virtual DtString markingText() const;
460 
462  static const char* theXmlType();
463 
464  operator const DtUUID& () const { return myUUID; };
465 
466  DtRwUUID& operator=(const DtRwUUID & orig);
467  DtRwUUID& operator=(const DtUUID & orig);
468 
469  bool operator!=(const DtRwUUID & orig) const { return !(*this == orig); };
470  bool operator==(const DtRwUUID & orig) const;
471 
472  bool operator<(const DtRwUUID & rhs) const { return myUUID < rhs; };
473  bool operator>(const DtRwUUID & rhs) const { return myUUID > rhs; };
474 
475  virtual const char* xmlType() const
476  {
477  return theXmlType();
478  }
479 
480  const DtUUID& uuid() const { return myUUID; };
481  DtUUID& uuid() { return myUUID; };
482 
483  virtual void clearUUID();
484  virtual DtString uuidString() const;
485  virtual bool isValid() const;
486  virtual void generateUUID();
487  virtual void setUUID(const DtRwUUID& u);
488  virtual void setUUID(const DtString& uuid);
489  virtual void setStringUUID(const DtString& uuid);
490  bool isVrfUUID() const;
491 
492  const char* data() const;
493 
494  unsigned int dataSize() const;
495  void setBuffer(const char*);
496 
497  virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths& searchPaths,
498  const DtVariableBindingsList& variableBindings);
499  virtual void getSelf(DtlObjPtr args, const SearchPaths& searchPaths = DtReaderWriter::SearchPaths(),
500  const DtVariableBindingsList& variableBindings = DtVariableBindingsList());
501  virtual void getSelf(const DtEnvironmentSP env, const DtEnvValueSP root,
503  const DtVariableBindingsList& varBindings = DtVariableBindingsList());
504  virtual void getData(const DtEnvironmentSP, const DtEnvValueSP,
505  const SearchPaths& searchPaths = SearchPaths(),
506  const DtVariableBindingsList& bindings = DtVariableBindingsList());
507  virtual void putSelf(std::string& fp, int indentLevel = 0,
508  bool writeUnspecified = false, const DtFilename& path =
509  DtFilename::nullFilename());
510  virtual void putSelf(DtEnvironmentSP env, DtEnvValueSP parent) const;
511  virtual void putData(DtEnvironmentSP, DtEnvValueSP value) const;
512  virtual void putData(std::string& fp, int);
513 
514 
515  virtual DtString prettyPrint() const;
516 
517 protected:
519  virtual void noRwValueSpecified();
520 
523  virtual void uuidChanged();
524 
525 protected:
526  mutable DtUUID myUUID;
527 };
528 
532 {
533 public:
535  DtRwObjectName();
536 
538  DtRwObjectName(const DtString& name, DtReaderWriterRegistry* const parentRegistry = NULL);
539  DtRwObjectName(const DtSymbolString& name, DtReaderWriterRegistry* const parentRegistry = NULL);
540 
542  DtRwObjectName(const DtString& name,
543  const char* fromChars,
544  DtReaderWriterRegistry* const parentRegistry = NULL);
545 
546  DtRwObjectName(const DtSymbolString& name,
547  const char* fromChars,
548  DtReaderWriterRegistry* const parentRegistry = NULL);
549 
550  DtRwObjectName(const DtString& name,
551  const DtString& fromString,
552  DtReaderWriterRegistry* const parentRegistry = NULL);
553 
554  DtRwObjectName(const DtSymbolString& name,
555  const DtString& fromString,
556  DtReaderWriterRegistry* const parentRegistry = NULL);
557 
558  DtRwObjectName(const DtString& name,
559  const DtRwObjectName& fromString,
560  DtReaderWriterRegistry* const parentRegistry = NULL);
561 
562  DtRwObjectName(const DtSymbolString& name,
563  const DtRwObjectName& fromString,
564  DtReaderWriterRegistry* const parentRegistry = NULL);
565 
567  DtRwObjectName(const DtRwObjectName& orig, DtReaderWriterRegistry* const parentRegistry = NULL);
568 
570  DtRwObjectName& operator=(const DtRwObjectName & orig);
571  DtRwObjectName& operator=(const DtUUID & orig);
572 
573  virtual ~DtRwObjectName();
574 
576  static const char* theXmlType();
577 
578  virtual const char* xmlType() const
579  {
580  return theXmlType();
581  }
582 
586  virtual const char* readerWriterType() const;
587 };
588 
589 DT_DLL_vrfutil std::size_t hash_value(DtUUID const& b);
590 DT_DLL_vrfutil std::size_t hash_value(DtString const& b);
591 
592 namespace std
593 {
594  template <>
595  struct hash<DtUUID>
596  {
597  std::size_t operator()(const DtUUID& k) const
598  {
599  return k.hashValue();
600  }
601  };
602 }
DtString myMarkingText
Definition: rwUUID.h:65
bool operator==(const DtReaderWriter &) const
Equivalence operator.
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
bool myResolveMarkingTextToUUIDMapping
Definition: rwUUID.h:222
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:80
bool operator!=(const DtRwUUID &rhs) const
Definition: rwUUID.h:320
Definition: symbolString.h:20
virtual const char * xmlType() const
Definition: rwUUID.h:578
boost::unordered_map< DtString, DtUUID > EntityIdentifierToUUIDMap
Definition: rwUUID.h:76
bool myResolveUUIDToUUIDMapping
Definition: rwUUID.h:223
MarkingTextToUUIDMap myMarkingTextToUUIDMap
Definition: rwUUID.h:210
bool myDestructingFlag
Definition: rwUUID.h:220
UUIDToEntityIdentifierMap myUUIDToEntityIdentifierMap
Definition: rwUUID.h:206
boost::unordered_map< DtUUID, DtUUID > UUIDToUUIDMap
Definition: rwUUID.h:79
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:368
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:472
virtual const char * xmlType() const
Definition: rwUUID.h:475
Definition: readerWriterRegistry.h:39
std::size_t operator()(const DtUUID &k) const
Definition: rwUUID.h:597
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:75
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:218
MarkingTextToMarkingTextMap myMarkingTextToMarkingTextMap
Definition: rwUUID.h:208
static DtObjectIdentificationResolver theObjectIdentificationResolver
Definition: rwUUID.h:421
Description: Readable, Writable uuid string. Use this class in order to convert from object marking t...
Definition: rwUUID.h:431
UUIDToUUIDMap myUUIDToUUIDMap
Definition: rwUUID.h:207
size_t myHashValue
Definition: rwUUID.h:423
bool operator!=(const DtUUID &rhs) const
Definition: rwUUID.h:318
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:266
UUIDsForUpgrade myUUIDsForMarkingTextUpgrade
Definition: rwUUID.h:212
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
bool myPoppingContext
Definition: rwUUID.h:225
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:32
bool myAddedForUpgrade
Definition: rwUUID.h:424
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:473
UUIDToMarkingTextMap myUUIDToMarkingTextMap
Definition: rwUUID.h:204
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:1315
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:531
boost::unordered_set< DtUUID * > UUIDsForUpgrade
Definition: rwUUID.h:81
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:469
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:51
UUIDsForUpgrade myUUIDsForUUIDUpgrade
Definition: rwUUID.h:213
DtString myMarkingText
Definition: rwUUID.h:418
std::size_t hash_value(const DtNodeBoundingInfoPtr &p)
needed for boost::unordered
Definition: boundingNodeInfo.h:91
const DtUUID & uuid() const
Definition: rwUUID.h:480
DtUUID myUUID
Definition: rwUUID.h:526
UUIDType
Definition: rwUUID.h:232
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
virtual ~DtUUIDMarkingTextProvider()
Definition: rwUUID.h:43
bool myPushingContext
Definition: rwUUID.h:224
EntityIdentifierToUUIDMap myEntityIdentifierToUUIDMap
Definition: rwUUID.h:205
virtual void setMarkingText(const DtString &s)
Definition: rwUUID.h:59
bool operator!=(const DtString &rhs) const
Definition: rwUUID.h:319
DtUUIDOwner * myOwner
Definition: rwUUID.h:419
DtString myUUIDString
If the assignment is not a valid boost UUID then the string UUID is what is used. ...
Definition: rwUUID.h:416
This class will be used to manage UUID lookups. It will contain a list of sub-lists that can be used ...
Definition: rwUUID.h:72
#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:481
MarkingTextToUUIDMap myMarkingTextToUUIDMapForImport
Definition: rwUUID.h:209
MappingContexts myMappingContexts
Definition: rwUUID.h:219
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:373
boost::unordered_map< DtUUID, DtString > UUIDToEntityIdentifierMap
Definition: rwUUID.h:77
unsigned int dataSize() const
Definition: rwUUID.h:271
boost::unordered_map< DtString, DtUUID > MarkingTextToUUIDMap
Definition: rwUUID.h:78
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:385
To allow for faster marking text lookups, the DtUUIDMarkingTextProvider class wraps an object that wi...
Definition: rwUUID.h:40
boost::signals2::signal< void(const DtUUID &oldUUID, const DtUUID &newUUID)> signal_uuidUpgradedTo
Definition: rwUUID.h:199
tbb::recursive_mutex myMutex
Definition: rwUUID.h:216
boost::uuids::uuid uuid() const
Definition: rwUUID.h:328
virtual DtString markingText()
Definition: rwUUID.h:60

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)