VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simObjectReferenceTemplate.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/uuid.h>
13 
14 namespace makVrf
15 {
16  class DtStateDataWrapper;
17 
26  template <typename T_BaseClass>
28  {
29  public:
31 
35 
37 
39 
40  const T_BaseClass* operator -> () const;
41  const T_BaseClass* operator * () const;
42  operator const T_BaseClass* () const { return dynamic_cast<const T_BaseClass*>(mySimObject.get()); };
43  const DtUUID& uuid() const;
44 
45  void reset();
46 
48 
49  bool operator < ( const DtSimObjectReferenceTemplate& rhs ) const;
50  bool operator > ( const DtSimObjectReferenceTemplate& rhs ) { return !operator<( rhs ); };
51  bool operator == ( const DtSimObjectReferenceTemplate& ) const;
52 
53  bool operator < ( const DtUUID& rhs ) const;
54  bool operator > ( const DtUUID& rhs ) { return !operator<( rhs ); };
55  bool operator == ( const DtUUID& ) const;
56 
57  bool operator == (const T_BaseClass* rhs) const;
58 
59  operator DtUUID() const;
60  DtString objectName() const;
61 
62  bool isValid() const;
63  bool isDeleted() const;
64 
65  protected:
66  std::shared_ptr<const DtStateDataWrapper> mySimObject;
67  };
68 }
69 
70 #include "simObjectReferenceTemplate.inl"
UUID is a unique ID wrapper class.
Definition: uuid.h:59
const T_BaseClass * operator->() const
std::shared_ptr< const DtStateDataWrapper > mySimObject
Definition: simObjectReferenceTemplate.h:66
bool operator>(const DtSimObjectReferenceTemplate &rhs)
Definition: simObjectReferenceTemplate.h:50
Contains the DtUUID class declaration.
bool operator==(const DtSimObjectReferenceTemplate &) const
bool operator<(const DtSimObjectReferenceTemplate &rhs) const
const T_BaseClass * operator*() const
static DtSimObjectReferenceTemplate nullReference()
DtSimObjectReferenceTemplate()
Definition: simObjectReferenceTemplate.h:30
const DtUUID & uuid() const
The DtSimObjectReferenceTemplate is a shared pointer that can be used amongst many object for access ...
Definition: simObjectReferenceTemplate.h:27
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: stateDataWrapper.h:49
DtSimObjectReferenceTemplate & operator=(const DtStateDataWrapper *rhs)

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)