12#ifndef ARCANE_CORE_ITEMGROUPOBSERVER_H
13#define ARCANE_CORE_ITEMGROUPOBSERVER_H
100class ItemGroupObserverWithInfoT
105 ItemGroupObserverWithInfoT(T*
object,
111 , m_extend_function(extend_funcptr)
112 , m_reduce_function(reduce_funcptr)
113 , m_compact_function(compact_funcptr)
114 , m_invalidate_function(invalidate_funcptr)
121 (m_object->*m_extend_function)(info);
126 (m_object->*m_reduce_function)(info);
131 (m_object->*m_compact_function)(info);
136 (m_object->*m_invalidate_function)();
143 T* m_object =
nullptr;
144 typename FuncTraits<T>::FuncPtrWithInfo m_extend_function =
nullptr;
145 typename FuncTraits<T>::FuncPtrWithInfo m_reduce_function =
nullptr;
146 typename FuncTraits<T>::FuncPtrWithInfo m_compact_function =
nullptr;
147 typename FuncTraits<T>::FuncPtr m_invalidate_function =
nullptr;
162 , m_function(funcptr)
169 (m_object->*m_function)();
174 (m_object->*m_function)();
179 (m_object->*m_function)();
184 (m_object->*m_function)();
194 T* m_object =
nullptr;
195 typename FuncTraits<T>::FuncPtr m_function =
nullptr;
213template <
typename T>
inline IItemGroupObserver*
Déclarations de types sur les entités.
virtual ~IItemGroupObserver()=default
Destructeur.
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
Éxecute l'action associée au compactage.
virtual void executeReduce(const Int32ConstArrayView *info)=0
Execute l'action associée à l'extension.
void executeReduce(const Int32ConstArrayView *info) override
Execute l'action associée à l'extension.
bool needInfo() const override
Indique si l'observer aura besoin d'information de transition.
void executeExtend(const Int32ConstArrayView *info) override
Execute l'action associée à l'extension.
void executeInvalidate() override
Execute l'action associée à l'invalidation.
void executeCompact(const Int32ConstArrayView *info) override
Éxecute l'action associée au compactage.
ItemGroupObserverWithoutInfoT(T *object, typename FuncTraits< T >::FuncPtr funcptr)
Constructeur à partir d'une unique fonction sans argument.
void executeCompact(const Int32ConstArrayView *) override
Éxecute l'action associée au compactage.
void executeInvalidate() override
Execute l'action associée à l'invalidation.
bool needInfo() const override
Indique si l'observer aura besoin d'information de transition.
void executeExtend(const Int32ConstArrayView *) override
Execute l'action associée à l'extension.
void executeReduce(const Int32ConstArrayView *) override
Execute l'action associée à l'extension.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
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.