Classe de base d'un handler d'évènement. Plus de détails...
Graphe d'héritage de Arcane::EventObservable< Args >:
Graphe de collaboration de Arcane::EventObservable< Args >:Types publics | |
| typedef EventObserver< Args... > | ObserverType |
Fonctions membres publiques | |
| void | attach (ObserverType *o) |
| Attache l'observateur o à cet observable. | |
| void | detach (ObserverType *o) |
| Détache l'observateur o de cet observable. | |
| template<typename Lambda> | |
| void | attach (EventObserverPool &pool, const Lambda &lambda) |
| Ajoute un observateur utilisant la lambda lambda et conserve une référence dans pool. | |
| void | notify (Args... args) |
| Appelle les observeurs associés à cet observable. | |
Fonctions membres publiques hérités de Arcane::EventObservableBase | |
| EventObservableBase (const EventObservableBase &)=delete | |
| EventObservableBase (EventObservableBase &&)=delete | |
| EventObservableBase & | operator= (const EventObservableBase &)=delete |
| EventObservableBase & | operator= (EventObservableBase &&)=delete |
| bool | hasObservers () const |
| void | detachAllObservers () |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arcane::EventObservableBase | |
| void | _attachObserver (EventObserverBase *obs, bool is_auto_destroy) |
| void | _detachObserver (EventObserverBase *obs) |
| ConstArrayView< EventObserverBase * > | _observers () const |
Classe de base d'un handler d'évènement.
Les instances de cette classe ne peuvent pas être copiées.
Cette classe permet d'enregistrer une liste d'observateurs qui peuvent être notifiés lors de l'appel à notify(). Args contient la liste des paramètres de notification.
Il est possible d'ajouter un observateur via la méthode attach(). Si l'observateur est une fonction lambda, il est nécessaire de spécifier une instance de EventObserverPool pour gérer la durée de vie de la lambda, qui sera alors la même que celle de l'EventObserverPool associé.
Définition à la ligne 190 du fichier arccore/src/common/arccore/common/Event.h.
| typedef EventObserver<Args...> Arcane::EventObservable< Args >::ObserverType |
Définition à la ligne 195 du fichier arccore/src/common/arccore/common/Event.h.
|
inline |
Ajoute un observateur utilisant la lambda lambda et conserve une référence dans pool.
Définition à la ligne 221 du fichier arccore/src/common/arccore/common/Event.h.
|
inline |
Attache l'observateur o à cet observable.
Une exception est levée si l'observateur est déjà attaché à un observable.
Définition à la ligne 208 du fichier arccore/src/common/arccore/common/Event.h.
|
inline |
Détache l'observateur o de cet observable.
Une exception est levée si l'observateur n'est pas attaché à cet observable.
Définition à la ligne 214 du fichier arccore/src/common/arccore/common/Event.h.
|
inline |
Appelle les observeurs associés à cet observable.
Définition à la ligne 229 du fichier arccore/src/common/arccore/common/Event.h.