Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ObserverT< T > Class Template Reference

Observer for a type T. More...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/base/arccore/base/Observer.h>

Inheritance diagram for Arcane::ObserverT< T >:
Collaboration diagram for Arcane::ObserverT< T >:

Public Types

typedef void(T::* Func0Ptr) ()
 Type of the member function pointer.
typedef void(T::* Func1Ptr) (const IObservable &)
 Type of the member function pointer.

Public Member Functions

 ObserverT (T *object, Func1Ptr funcptr)
 Constructor.
 ObserverT (T *object, Func0Ptr funcptr)
void observerUpdate (IObservable *iob) override
 Executes the associated method.
Public Member Functions inherited from Arcane::AbstractObserver
void attachToObservable (IObservable *obs) override
 Attaches to the observable obs.
void detach () override
 Detaches from the observable.
Public Member Functions inherited from Arcane::IObserver
virtual ~IObserver ()
 Releases resources.

Private Attributes

T * m_object
 Associated object.
Func0Ptr m_function0
 Pointer to the associated method.
Func1Ptr m_function1
 Pointer to the associated method.

Detailed Description

template<class T>
class Arcane::ObserverT< T >

Observer for a type T.

Definition at line 62 of file arccore/src/base/arccore/base/Observer.h.

Member Typedef Documentation

◆ Func0Ptr

template<class T>
typedef void(T::* Arcane::ObserverT< T >::Func0Ptr) ()

Type of the member function pointer.

Definition at line 67 of file arccore/src/base/arccore/base/Observer.h.

◆ Func1Ptr

template<class T>
typedef void(T::* Arcane::ObserverT< T >::Func1Ptr) (const IObservable &)

Type of the member function pointer.

Definition at line 68 of file arccore/src/base/arccore/base/Observer.h.

Constructor & Destructor Documentation

◆ ObserverT() [1/2]

template<class T>
Arcane::ObserverT< T >::ObserverT ( T * object,
Func1Ptr funcptr )
inline

Constructor.

Definition at line 73 of file arccore/src/base/arccore/base/Observer.h.

References m_function0, m_function1, and m_object.

◆ ObserverT() [2/2]

template<class T>
Arcane::ObserverT< T >::ObserverT ( T * object,
Func0Ptr funcptr )
inline

Definition at line 78 of file arccore/src/base/arccore/base/Observer.h.

Member Function Documentation

◆ observerUpdate()

template<class T>
void Arcane::ObserverT< T >::observerUpdate ( IObservable * iob)
inlineoverridevirtual

Executes the associated method.

Implements Arcane::IObserver.

Definition at line 88 of file arccore/src/base/arccore/base/Observer.h.

References m_function0, m_function1, and m_object.

Member Data Documentation

◆ m_function0

template<class T>
Func0Ptr Arcane::ObserverT< T >::m_function0
private

Pointer to the associated method.

Definition at line 99 of file arccore/src/base/arccore/base/Observer.h.

Referenced by ObserverT(), and observerUpdate().

◆ m_function1

template<class T>
Func1Ptr Arcane::ObserverT< T >::m_function1
private

Pointer to the associated method.

Definition at line 100 of file arccore/src/base/arccore/base/Observer.h.

Referenced by ObserverT(), and observerUpdate().

◆ m_object

template<class T>
T* Arcane::ObserverT< T >::m_object
private

Associated object.

Definition at line 98 of file arccore/src/base/arccore/base/Observer.h.

Referenced by ObserverT(), and observerUpdate().


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