vsg  1.0.4
VulkanSceneGraph library
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
vsg::Auxiliary Class Reference

#include <Auxiliary.h>

Collaboration diagram for vsg::Auxiliary:
Collaboration graph

Public Types

using ObjectMap = std::map< std::string, vsg::ref_ptr< Object > >

Public Member Functions

std::mutex & getMutex () const
ObjectgetConnectedObject ()
const ObjectgetConnectedObject () const
virtual std::size_t getSizeOf () const
void ref () const
void unref () const
void unref_nodelete () const
unsigned int referenceCount () const
void setObject (const std::string &key, ref_ptr< Object > object)
ObjectgetObject (const std::string &key)
const ObjectgetObject (const std::string &key) const
ref_ptr< ObjectgetRefObject (const std::string &key)
ref_ptr< const ObjectgetRefObject (const std::string &key) const

Public Attributes

ObjectMap userObjects
 container for all user objects

Protected Member Functions

 Auxiliary (Object *object)
bool signalConnectedObjectToBeDeleted ()
void resetConnectedObject ()

Protected Attributes

std::atomic_uint _referenceCount
std::mutex _mutex


class Object
class Allocator

Detailed Description

Auxiliary provides extra Object data that is rarely used, and hooks for observers.

Member Function Documentation

◆ signalConnectedObjectToBeDeleted()

bool vsg::Auxiliary::signalConnectedObjectToBeDeleted ( )

reset the ConnectedObject pointer to 0 unless the ConnectedObject referenceCount goes back above 0, return true if ConnectedObject should still be deleted, or false if the object should be kept.

The documentation for this class was generated from the following file: