25 class VSG_DECLSPEC Auxiliary
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(); }
40 virtual int compare(
const Auxiliary& rhs)
const;
42 using ObjectMap = std::map<std::string, vsg::ref_ptr<Object>>;
52 Object* getObject(
const std::string& key)
54 if (
auto itr = userObjects.find(key); itr != userObjects.end())
55 return itr->second.get();
60 const Object* getObject(
const std::string& key)
const
62 if (
auto itr = userObjects.find(key); itr != userObjects.end())
63 return itr->second.get();
68 ref_ptr<Object> getRefObject(
const std::string& key)
70 if (
auto itr = userObjects.find(key); itr != userObjects.end())
76 ref_ptr<const Object> getRefObject(
const std::string& key)
const
78 if (
auto itr = userObjects.find(key); itr != userObjects.end())
90 explicit Auxiliary(Object*
object);
98 void resetConnectedObject();
101 friend class Allocator;
103 mutable std::atomic_uint _referenceCount;
105 mutable std::mutex _mutex;
106 Object* _connectedObject;