Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ItemGroupObserverWithInfoT< T > Class Template Reference
Inheritance diagram for Arcane::ItemGroupObserverWithInfoT< T >:
Collaboration diagram for Arcane::ItemGroupObserverWithInfoT< T >:

Public Member Functions

 ItemGroupObserverWithInfoT (T *object, typename FuncTraits< T >::FuncPtrWithInfo extend_funcptr, typename FuncTraits< T >::FuncPtrWithInfo reduce_funcptr, typename FuncTraits< T >::FuncPtrWithInfo compact_funcptr, typename FuncTraits< T >::FuncPtr invalidate_funcptr)
void executeExtend (const Int32ConstArrayView *info) override
 Execute the action associated with the extension.
void executeReduce (const Int32ConstArrayView *info) override
 Execute the action associated with the extension.
void executeCompact (const Int32ConstArrayView *info) override
 Executes the action associated with compaction.
void executeInvalidate () override
 Execute the action associated with invalidation.
bool needInfo () const override
 Indicates whether the observer will need transition information.
Public Member Functions inherited from Arcane::IItemGroupObserver
virtual ~IItemGroupObserver ()=default
 Destructor.

Private Attributes

T * m_object = nullptr
 Associated object.
FuncTraits< T >::FuncPtrWithInfo m_extend_function = nullptr
 Pointer to the associated method.
FuncTraits< T >::FuncPtrWithInfo m_reduce_function = nullptr
 Pointer to the associated method.
FuncTraits< T >::FuncPtrWithInfo m_compact_function = nullptr
 Pointer to the associated method.
FuncTraits< T >::FuncPtr m_invalidate_function = nullptr
 Pointer to the associated method.

Detailed Description

template<typename T>
class Arcane::ItemGroupObserverWithInfoT< T >

Definition at line 100 of file core/ItemGroupObserver.h.

Constructor & Destructor Documentation

◆ ItemGroupObserverWithInfoT()

template<typename T>
Arcane::ItemGroupObserverWithInfoT< T >::ItemGroupObserverWithInfoT ( T * object,
typename FuncTraits< T >::FuncPtrWithInfo extend_funcptr,
typename FuncTraits< T >::FuncPtrWithInfo reduce_funcptr,
typename FuncTraits< T >::FuncPtrWithInfo compact_funcptr,
typename FuncTraits< T >::FuncPtr invalidate_funcptr )
inline

Definition at line 105 of file core/ItemGroupObserver.h.

Member Function Documentation

◆ executeCompact()

template<typename T>
void Arcane::ItemGroupObserverWithInfoT< T >::executeCompact ( const Int32ConstArrayView * info)
inlineoverridevirtual

Executes the action associated with compaction.

Parameters
infolist of permutations in the old->new direction Assumes there is no change in size.

Implements Arcane::IItemGroupObserver.

Definition at line 129 of file core/ItemGroupObserver.h.

References m_compact_function, and m_object.

◆ executeExtend()

template<typename T>
void Arcane::ItemGroupObserverWithInfoT< T >::executeExtend ( const Int32ConstArrayView * info)
inlineoverridevirtual

Execute the action associated with the extension.

Parameters
infolist of added localIds Assumes there is no change in order or renumbering.

This method cannot be parallel.

Implements Arcane::IItemGroupObserver.

Definition at line 119 of file core/ItemGroupObserver.h.

References m_extend_function, and m_object.

◆ executeInvalidate()

template<typename T>
void Arcane::ItemGroupObserverWithInfoT< T >::executeInvalidate ( )
inlineoverridevirtual

Execute the action associated with invalidation.

No transition information available.

Implements Arcane::IItemGroupObserver.

Definition at line 134 of file core/ItemGroupObserver.h.

References m_invalidate_function, and m_object.

◆ executeReduce()

template<typename T>
void Arcane::ItemGroupObserverWithInfoT< T >::executeReduce ( const Int32ConstArrayView * info)
inlineoverridevirtual

Execute the action associated with the extension.

Parameters
infolist of positions removed in the old group Assumes there is no change in order or renumbering This approach compared to the list of localIds is motivated by the constraint in PartialVariable which is unaware of the localIds it hosts.
info2list of localIds of deleted elements. Potentially redundant with info, but inevitable for certain structures changing the order relative to the reference group (e.g.: ItemGroupDynamicMeshObserver) (DEPRECATED)

This method cannot be parallel.

Implements Arcane::IItemGroupObserver.

Definition at line 124 of file core/ItemGroupObserver.h.

References m_object, and m_reduce_function.

◆ needInfo()

template<typename T>
bool Arcane::ItemGroupObserverWithInfoT< T >::needInfo ( ) const
inlineoverridevirtual

Indicates whether the observer will need transition information.

This information must not change after the first call to this function

Implements Arcane::IItemGroupObserver.

Definition at line 139 of file core/ItemGroupObserver.h.

Member Data Documentation

◆ m_compact_function

template<typename T>
FuncTraits<T>::FuncPtrWithInfo Arcane::ItemGroupObserverWithInfoT< T >::m_compact_function = nullptr
private

Pointer to the associated method.

Definition at line 146 of file core/ItemGroupObserver.h.

Referenced by executeCompact().

◆ m_extend_function

template<typename T>
FuncTraits<T>::FuncPtrWithInfo Arcane::ItemGroupObserverWithInfoT< T >::m_extend_function = nullptr
private

Pointer to the associated method.

Definition at line 144 of file core/ItemGroupObserver.h.

Referenced by executeExtend().

◆ m_invalidate_function

template<typename T>
FuncTraits<T>::FuncPtr Arcane::ItemGroupObserverWithInfoT< T >::m_invalidate_function = nullptr
private

Pointer to the associated method.

Definition at line 147 of file core/ItemGroupObserver.h.

Referenced by executeInvalidate().

◆ m_object

template<typename T>
T* Arcane::ItemGroupObserverWithInfoT< T >::m_object = nullptr
private

Associated object.

Definition at line 143 of file core/ItemGroupObserver.h.

Referenced by executeCompact(), executeExtend(), executeInvalidate(), and executeReduce().

◆ m_reduce_function

template<typename T>
FuncTraits<T>::FuncPtrWithInfo Arcane::ItemGroupObserverWithInfoT< T >::m_reduce_function = nullptr
private

Pointer to the associated method.

Definition at line 145 of file core/ItemGroupObserver.h.

Referenced by executeReduce().


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