15 #include <vsg/core/Object.h>
16 #include <vsg/core/ref_ptr.h>
28 std::mutex& getMutex()
const {
return _mutex; }
30 Object* getConnectedObject() {
return _connectedObject; }
31 const Object* getConnectedObject()
const {
return _connectedObject; }
33 virtual std::size_t getSizeOf()
const {
return sizeof(
Auxiliary); }
37 void unref_nodelete()
const;
38 inline unsigned int referenceCount()
const {
return _referenceCount.load(); }
42 userObjects[key] = object;
45 Object* getObject(
const std::string& key)
47 if (
auto itr = userObjects.find(key); itr != userObjects.end())
48 return itr->second.get();
53 const Object* getObject(
const std::string& key)
const
55 if (
auto itr = userObjects.find(key); itr != userObjects.end())
56 return itr->second.get();
63 if (
auto itr = userObjects.find(key); itr != userObjects.end())
71 if (
auto itr = userObjects.find(key); itr != userObjects.end())
77 using ObjectMap = std::map<std::string, vsg::ref_ptr<Object>>;
91 void resetConnectedObject();
96 mutable std::atomic_uint _referenceCount;
98 mutable std::mutex _mutex;
Definition: Allocator.h:41
Definition: Auxiliary.h:26
bool signalConnectedObjectToBeDeleted()
ObjectMap userObjects
container for all user objects
Definition: Auxiliary.h:80