12#ifndef ARCANE_ITEMGROUPOBSERVER_H
13#define ARCANE_ITEMGROUPOBSERVER_H
17#include "arcane/ItemTypes.h"
38 typedef void (T::*FuncPtr)();
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.
Vue constante d'un tableau de type T.
IItemGroupObserver * newItemGroupObserverT(T *object, typename IItemGroupObserver::FuncTraits< T >::FuncPtr funcptr)
Utilitaire pour création simplifié de ItemGroupObserverT.