VR-Engage  2.2
Loading...
Searching...
No Matches
makVre::DtAttributeValueCallback< T > Class Template Reference

Detailed Description

template<typename T>
class makVre::DtAttributeValueCallback< T >

This class provides a mechanism for registering callbacks that are triggered when attributes are changed. It maintains a list of connected attributes and manages the lifecycle of these connections.

This is a type-specific callback. The new value of the connected attribute is passed to the callback function.

#include <attributeCallback.h>

Inheritance diagram for makVre::DtAttributeValueCallback< T >:
[legend]

Public Member Functions

template<class OBJECT_T, typename METHOD_T>
 DtAttributeValueCallback (OBJECT_T *object, METHOD_T method)
 
template<typename FUNC_T>
 DtAttributeValueCallback (FUNC_T func)
 
virtual ~DtAttributeValueCallback () override
 
- Public Member Functions inherited from makVre::DtAttributeCallbackBase
 DtAttributeCallbackBase ()
 
virtual ~DtAttributeCallbackBase ()
 
virtual void connect (DtAttributeHandle attribute)
 
virtual void disconnect (DtAttributeHandle attribute)
 
virtual void disconnectAll ()
 
virtual bool isConnected (const DtAttributeHandle &attribute) const
 
virtual bool hasConnection () const
 
virtual unsigned int threadId () const
 
- Public Member Functions inherited from makVre::DtDelegate< void, T >
 DtDelegate ()=default
 
 DtDelegate (void(*func)(Args...))
 
 DtDelegate (T *object, Method method)
 
 DtDelegate (const T *object, Method method)
 
 DtDelegate (Callable &&callable)
 
 DtDelegate (const DtDelegate &other)
 
 DtDelegate (DtDelegate &&other) noexcept
 
 ~DtDelegate ()=default
 
DtDelegateoperator= (const DtDelegate &other)
 
DtDelegateoperator= (DtDelegate &&other) noexcept
 
void reset () noexcept
 
void operator() (CallArgs &&... args) const
 
void operator() (CallArgs &&... args) const
 
 operator bool () const noexcept
 
std::size_t hash () const noexcept
 
bool operator== (const DtDelegate &rhs) const noexcept
 
bool operator!= (const DtDelegate &rhs) const noexcept
 
DelegateType getType () const noexcept
 

Protected Member Functions

virtual void invoke (const DtAttributeHandle &changedAttribute) const override
 
- Protected Member Functions inherited from makVre::DtDelegate< void, T >
void computeHash () noexcept
 
void resetHash () const noexcept
 

Additional Inherited Members

- Public Types inherited from makVre::DtDelegate< void, T >
enum  DelegateType
 
- Static Public Member Functions inherited from makVre::DtDelegate< void, T >
static std::size_t hashMethodPtr (const Method &method) noexcept
 
static std::size_t hashPtr (PtrType ptr) noexcept
 
static std::size_t hashLambda (const Callable &callable) noexcept
 
- Protected Types inherited from makVre::DtAttributeCallbackBase
using AttributeList = std::list<DtAttributeHandle>
 
- Protected Attributes inherited from makVre::DtAttributeCallbackBase
AttributeList myConnections
 
unsigned int myThreadId
 
- Protected Attributes inherited from makVre::DtDelegate< void, T >
std::function< void(Args...)> myFunction
 
DelegateType myType
 
std::size_t myObjectHash
 
std::size_t myStaticFuncHash
 
std::size_t myMethodHash
 
std::size_t myLambdaHash
 
std::size_t myHash
 
bool myHashComputed
 

Constructor & Destructor Documentation

◆ DtAttributeValueCallback() [1/2]

template<typename T>
template<class OBJECT_T, typename METHOD_T>
makVre::DtAttributeValueCallback< T >::DtAttributeValueCallback ( OBJECT_T * object,
METHOD_T method )

Constructor for attribute callbacks using member functions.

Template Parameters
OBJECT_TType of the object containing the method
METHOD_TPattern of the callback function, should be one of: void(OBJECT_T::*method)(const T&) or void(OBJECT_T::*method)(T)
Parameters
objectPointer to the object containing the method
methodMethod pointer to be called when an attribute changes

◆ DtAttributeValueCallback() [2/2]

template<typename T>
template<typename FUNC_T>
makVre::DtAttributeValueCallback< T >::DtAttributeValueCallback ( FUNC_T func)

Constructor for attribute callbacks using static function.

Template Parameters
FUNC_TPattern for the callback function, should be one of: void(*func)(const T&) or void(*func)(T)
Parameters
funcPointer to function to be called when attribute changes

◆ ~DtAttributeValueCallback()

template<typename T>
virtual makVre::DtAttributeValueCallback< T >::~DtAttributeValueCallback ( )
overridevirtual

Virtual destructor.

Automatically disconnects from all connected attributes

Member Function Documentation

◆ invoke()

template<typename T>
virtual void makVre::DtAttributeValueCallback< T >::invoke ( const DtAttributeHandle & changedAttribute) const
overrideprotectedvirtual

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