12 #include <boost/signals2.hpp>
13 #include <tbb/spin_rw_mutex.h>
14 #include <tbb/spin_mutex.h>
29 typedef std::list<DtSimObjectReference>::iterator
iterator;
41 void addUUID(
const DtUUID&,
int index = -1);
49 bool removeUUID(
const DtUUID&);
58 virtual void disconnect();
59 virtual void connect();
66 bool hasUUID(
const DtUUID&)
const;
73 return mySimulationServices;
78 const SimObjectReferenceList& simObjectReferenceList()
const;
83 const_iterator begin()
const;
84 const_iterator end()
const;
86 reverse_iterator rbegin();
87 reverse_iterator rend();
89 const_reverse_iterator rbegin()
const;
90 const_reverse_iterator rend()
const;
101 std::list<DtSimObjectReference>::iterator
lookup;
155 virtual void addUUID(
const DtUUID&,
int index = -1);
158 virtual bool removeUUID(
const DtUUID&);
161 bool hasUUID(
const DtUUID&)
const;
164 virtual std::vector<DtRwUUID> uuidsAsVector()
const;
167 virtual std::list<DtRwUUID> uuidsAsList()
const;
175 virtual void disconnect();
176 virtual void connect();
180 return mySimObjectReferenceList.size();
191 virtual void slot_uuidUpgradedTo(
const DtUUID& oldUUID,
const DtUUID& newUUID);
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual DtRwTemplatedListPtr & operator=(const DtRwTemplatedListPtr &orig)
DtSimObjectReference simObject(const DtUUID &u) const
Definition: simObjectReferenceList.h:172
DtSimObjectReferenceList::iterator begin()
Definition: simObjectReferenceList.h:183
boost::signals2::scoped_connection myUUIDUpgradedToConnection
Definition: simObjectReferenceList.h:198
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:120
makVrf::DtSimObjectReferenceTemplate< DtSimObject > DtSimObjectReference
Definition: simObjectReference.h:14
DtSimObjectReferenceList mySimObjectReferenceList
Definition: simObjectReferenceList.h:197
SimObjectReferenceList mySimObjectReferenceList
Definition: simObjectReferenceList.h:110
virtual void postGetSelf()
Called after either version of getSelf (mtl or environment). Default is no-op.
DtSimObjectReferenceList::const_iterator end() const
Definition: simObjectReferenceList.h:187
voidpf void uLong size
Definition: ioapi.h:39
virtual void removeAndDeleteAll() override
Removes and deletes all entries in the list.
Definition: readerWriterRegistry.h:39
std::map< DtString, ObjectInformation > QuickLookupMap
Definition: simObjectReferenceList.h:104
DtSimObjectReferenceList::const_iterator begin() const
Definition: simObjectReferenceList.h:186
DtSimObjectReferenceList::iterator end()
Definition: simObjectReferenceList.h:184
std::list< DtSimObjectReference > SimObjectReferenceList
Definition: simObjectReferenceList.h:28
bool myConnectedForRemoval
Definition: simObjectReferenceList.h:108
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
QuickLookupMap myQuickLookupMap
Definition: simObjectReferenceList.h:105
DtSimObjectReferenceList & simObjectReferenceList()
Definition: simObjectReferenceList.h:143
const DtSimulationServices * simulationServices() const
Definition: simObjectReferenceList.h:71
const DtSimulationServices * mySimulationServices
Definition: simObjectReferenceList.h:106
int size() const
Definition: simObjectReferenceList.h:178
This is a convenience list that will add DtSimObjectReference objects and modify the list as objects ...
Definition: simObjectReferenceList.h:25
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
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: simObject.h:80
Definition: rwTemplatedList.h:34
std::list< DtSimObjectReference >::const_iterator const_iterator
Definition: simObjectReferenceList.h:30
Contains the DtSimObjectReference class declaration.
boost::signals2::signal< void(const DtUUID &)> signal_simObjectRemoved
Signal sent when an object is removed either by directly calling removeUUID or when the object is del...
Definition: simObjectReferenceList.h:69
const DtSimObjectReferenceList & simObjectReferenceList() const
Definition: simObjectReferenceList.h:142
std::list< DtSimObjectReference >::iterator iterator
Definition: simObjectReferenceList.h:29
std::list< DtSimObjectReference >::reverse_iterator reverse_iterator
Definition: simObjectReferenceList.h:31
tbb::spin_rw_mutex myQuickLookupMapMutex
Definition: simObjectReferenceList.h:111
std::list< DtSimObjectReference >::const_reverse_iterator const_reverse_iterator
Definition: simObjectReferenceList.h:32
tbb::spin_mutex mySimObjectReferenceListMutex
Definition: simObjectReferenceList.h:112
bool myConnectedForRemoval
Definition: simObjectReferenceList.h:196
virtual void removeAll() override
Removes all entries from the list. If autoDelete is true, also deletes all items. ...