12#ifndef ARCANE_ITEMGROUPOBSERVER_H
13#define ARCANE_ITEMGROUPOBSERVER_H
17#include "arcane/ItemTypes.h"
88class ItemGroupObserverWithInfoT
93 ItemGroupObserverWithInfoT(T*
object,
99 , m_extend_function(extend_funcptr)
100 , m_reduce_function(reduce_funcptr)
101 , m_compact_function(compact_funcptr)
102 , m_invalidate_function(invalidate_funcptr) { }
108 (m_object->*m_extend_function)(info);
113 (m_object->*m_reduce_function)(info);
118 (m_object->*m_compact_function)(info);
123 (m_object->*m_invalidate_function)();
134 typename FuncTraits<T>::FuncPtrWithInfo m_extend_function;
135 typename FuncTraits<T>::FuncPtrWithInfo m_reduce_function;
136 typename FuncTraits<T>::FuncPtrWithInfo m_compact_function;
137 typename FuncTraits<T>::FuncPtr m_invalidate_function;
153 m_function(funcptr) { }
159 (m_object->*m_function)();
164 (m_object->*m_function)();
169 (m_object->*m_function)();
174 (m_object->*m_function)();
185 typename FuncTraits<T>::FuncPtr m_function;
virtual bool needInfo() const =0
Indique si l'observer aura besoin d'information de transition.
virtual void executeExtend(const Int32ConstArrayView *info)=0
Execute l'action associée à l'extension.
virtual void executeInvalidate()=0
Execute l'action associée à l'invalidation.
virtual void executeCompact(const Int32ConstArrayView *info)=0
Execute l'action associée au compactage.
virtual ~IItemGroupObserver()
Destructeur.
virtual void executeReduce(const Int32ConstArrayView *info)=0
Execute l'action associée à l'extension.
bool needInfo() const
Indique si l'observer aura besoin d'information de transition.
void executeCompact(const Int32ConstArrayView *info)
Execute l'action associée au compactage.
void executeReduce(const Int32ConstArrayView *info)
Execute l'action associée à l'extension.
void executeExtend(const Int32ConstArrayView *info)
Execute l'action associée à l'extension.
void executeInvalidate()
Execute l'action associée à l'invalidation.
ItemGroupObserverWithoutInfoT(T *object, typename FuncTraits< T >::FuncPtr funcptr)
Constructeur à partir d'une unique fonction sans argument.
bool needInfo() const
Indique si l'observer aura besoin d'information de transition.
void executeReduce(const Int32ConstArrayView *)
Execute l'action associée à l'extension.
void executeInvalidate()
Execute l'action associée à l'invalidation.
void executeExtend(const Int32ConstArrayView *)
Execute l'action associée à l'extension.
void executeCompact(const Int32ConstArrayView *)
Execute l'action associée au compactage.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
IItemGroupObserver * newItemGroupObserverT(T *object, typename IItemGroupObserver::FuncTraits< T >::FuncPtr funcptr)
Utilitaire pour création simplifié de ItemGroupObserverT.
void(T::* FuncPtr)()
Type du pointeur sur la méthode sans Infos.
void(T::* FuncPtrWithInfo)(const Int32ConstArrayView *info)
Type du pointeur sur la méthode avec Infos.