GL Studio C++ Runtime API
WeakReferenceableMixin Class Reference

#include <weak_referenceable_mixin.h>

Inheritance diagram for WeakReferenceableMixin:
WeakReferenceable DisplayFrame DisplayObject DistiAttributeBase ComponentBase RuntimeDisplayFrame GLPolygon GlsCylinder GlsDynamicPath GlsEyePoint GlsGeometryResourceMesh GlsLightSource GlsLinearFloatController GlsNurbCurve GlsPathManager GlsSphere Group DistiAttribute< std::string > DistiAttribute< Vertex > DistiAttribute< unsigned char > DistiAttributeEnum< containerClass, const int, int > DistiAttributeEnum< GlsEyePoint, GlsEyePoint::FovConstraintType, GlsEyePoint::FovConstraintType > DistiAttributeEnum< GlsLightSource, int, int > DistiAttributeEnum< containerClass, int, int > DistiAttributeEnum< GlsSphere, glsSphereMapping_e, glsSphereMapping_e > DistiAttributeEnumDirect< glsImageCodec > DistiAttributeVertexArray< Vector > DistiAttribute< T > DistiAttributeAlias DistiAttributeConnectionGlsAngularScaleDataArray DistiAttributeConnectionGlsLinearScaleDataArray DistiAttributeDictionaryAttribute DistiAttributeDictionaryAttributeSibling DistiAttributeDoubleArray DistiAttributeDynamicArray< T, showIndex > DistiAttributeEnum< containerClass, setType, getType > DistiAttributeEnumDirect< enumType > DistiAttributeFilePathClass DistiAttributeFixedString DistiAttributeFloatArray DistiAttributeHomogeneousItemArray< T > DistiAttributeMeshFaceArray DistiAttributeStdMap< Map_t > DistiAttributeStdVector< T, showIndex > DistiAttributeString DistiAttributeVertexArray< T > DistiAttributeVertexArray< Vertex > DistiAttributeViewDataArray DistiEmptyAttribute TexturePalette::DistiAttributeTexturePalette TexturePalette::DistiAttributeTexturePalette_V21

Public Member Functions

void AddWeakReference (WeakReference *weakRef) override
 
void NotifyWeakReferenceDestroyed (WeakReference *ref) override
 
virtual void AddWeakReference (WeakReference *weakRef)=0
 
virtual void NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0
 

Protected Member Functions

 WeakReferenceableMixin ()
 
virtual ~WeakReferenceableMixin ()
 

Protected Attributes

DynamicArray< WeakReference * > * _weakRefs
 

Detailed Description

utility helper mixin class for simplifying implementing WeakReferenceable. Classes that want to implement WeakReferenceable can simply inherit this class

Constructor & Destructor Documentation

◆ WeakReferenceableMixin()

WeakReferenceableMixin ( )
inlineprotected

constructor

◆ ~WeakReferenceableMixin()

virtual ~WeakReferenceableMixin ( )
inlineprotectedvirtual

destructor. Notifies all weak references that this object is being deleted

Member Function Documentation

◆ AddWeakReference()

void AddWeakReference ( WeakReference weakRef)
inlineoverridevirtual

Add a weak reference to this object, that gets notified when this object is destroyed. Does not take ownership of weakRef.

Parameters
weakRefthe weak reference to add.

Implements WeakReferenceable.

◆ NotifyWeakReferenceDestroyed()

void NotifyWeakReferenceDestroyed ( WeakReference weakReference)
inlineoverridevirtual

Notify this object that its weak reference is being destroyed.

Parameters
weakReferenceThe weak reference to notify.

Implements WeakReferenceable.

Member Data Documentation

◆ _weakRefs

DynamicArray<WeakReference*>* _weakRefs
protected

pointer to array of weak refs. Allocated on the first call to GetWeakReference()


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