Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ItemEnumeratorBase Class Reference

Base class for enumerators over a list of entities. More...

#include <arcane/core/ItemEnumeratorBase.h>

Inheritance diagram for Arcane::ItemEnumeratorBase:
Collaboration diagram for Arcane::ItemEnumeratorBase:

Public Member Functions

constexpr void operator++ ()
 Increments the enumerator index.
constexpr bool operator() ()
constexpr bool hasNext ()
 True if the end of the enumerator has not been reached (index()<count()).
constexpr Integer count () const
 Number of elements in the enumerator.
constexpr Integer index () const
 Current index of the enumerator.
Int32 itemLocalId () const
 localId() of the current entity.
Int32 localId () const
 localId() of the current entity.
constexpr const Int32unguardedLocalIds () const
 Local indices.
constexpr const ItemGroupImplgroup () const
 Underlying group if it exists (nullptr otherwise).

Static Public Member Functions

static constexpr int version ()

Protected Member Functions

 ItemEnumeratorBase (const ItemInternalPtr *, const Int32 *local_ids, Integer n, const ItemGroupImpl *agroup)
 ItemEnumeratorBase (const Int32ConstArrayView &local_ids)
 ItemEnumeratorBase (const Int32ConstArrayView &local_ids, const ItemGroupImpl *agroup)
 ItemEnumeratorBase (const ItemInternalVectorView &view, const ItemGroupImpl *agroup)
 ItemEnumeratorBase (const ItemVectorView &rhs)
template<int E>
 ItemEnumeratorBase (const ItemConnectedListView< E > &rhs)
 ItemEnumeratorBase (const ItemEnumerator &rhs)
 ItemEnumeratorBase (const ItemEnumerator &rhs, bool)
 Constructor only used by fromItemEnumerator().
 ItemEnumeratorBase (const impl::ItemLocalIdListContainerView &view, Int32 index, const ItemGroupImpl *agroup)
 ItemEnumeratorBase (const impl::ItemLocalIdListContainerView &view)
ItemInternal_internal (ItemSharedInfo *si) const
constexpr const ItemInternalPtr * _unguardedItems (ItemSharedInfo *si) const

Protected Attributes

impl::ItemLocalIdListContainerView m_view
Int32 m_index = 0
const ItemGroupImplm_group_impl = nullptr

Private Types

using ItemInternalPtr = ItemInternal*

Detailed Description

Base class for enumerators over a list of entities.

Instances of this class are created either via ItemEnumerator or via ItemEnumeratorT.

Definition at line 80 of file ItemEnumeratorBase.h.

Member Typedef Documentation

◆ ItemInternalPtr

using Arcane::ItemEnumeratorBase::ItemInternalPtr = ItemInternal*
private

Definition at line 84 of file ItemEnumeratorBase.h.

Constructor & Destructor Documentation

◆ ItemEnumeratorBase() [1/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const ItemInternalPtr * ,
const Int32 * local_ids,
Integer n,
const ItemGroupImpl * agroup )
inlineprotected

Definition at line 89 of file ItemEnumeratorBase.h.

◆ ItemEnumeratorBase() [2/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const Int32ConstArrayView & local_ids)
inlineexplicitprotected

Definition at line 94 of file ItemEnumeratorBase.h.

◆ ItemEnumeratorBase() [3/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const Int32ConstArrayView & local_ids,
const ItemGroupImpl * agroup )
inlineprotected

Definition at line 99 of file ItemEnumeratorBase.h.

◆ ItemEnumeratorBase() [4/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const ItemInternalVectorView & view,
const ItemGroupImpl * agroup )
inlineprotected

Definition at line 105 of file ItemEnumeratorBase.h.

◆ ItemEnumeratorBase() [5/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const ItemVectorView & rhs)
inlineprotected

Definition at line 109 of file ItemEnumeratorBase.h.

◆ ItemEnumeratorBase() [6/10]

template<int E>
Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const ItemConnectedListView< E > & rhs)
inlineprotected

Definition at line 112 of file ItemEnumeratorBase.h.

◆ ItemEnumeratorBase() [7/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const ItemEnumerator & rhs)
inlineprotected

Definition at line 190 of file ItemEnumerator.h.

◆ ItemEnumeratorBase() [8/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const ItemEnumerator & rhs,
bool  )
inlineprotected

Constructor only used by fromItemEnumerator().

Definition at line 168 of file ItemEnumerator.h.

References group(), and index().

Here is the call graph for this function:

◆ ItemEnumeratorBase() [9/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const impl::ItemLocalIdListContainerView & view,
Int32 index,
const ItemGroupImpl * agroup )
inlineprotected

Definition at line 166 of file ItemEnumeratorBase.h.

◆ ItemEnumeratorBase() [10/10]

Arcane::ItemEnumeratorBase::ItemEnumeratorBase ( const impl::ItemLocalIdListContainerView & view)
inlineexplicitprotected

Definition at line 173 of file ItemEnumeratorBase.h.

Member Function Documentation

◆ _internal()

ItemInternal * Arcane::ItemEnumeratorBase::_internal ( ItemSharedInfo * si) const
inlineprotected

Definition at line 178 of file ItemEnumeratorBase.h.

◆ _unguardedItems()

const ItemInternalPtr * Arcane::ItemEnumeratorBase::_unguardedItems ( ItemSharedInfo * si) const
inlineconstexprprotected

Definition at line 182 of file ItemEnumeratorBase.h.

◆ count()

Integer Arcane::ItemEnumeratorBase::count ( ) const
inlineconstexpr

Number of elements in the enumerator.

Definition at line 128 of file ItemEnumeratorBase.h.

Referenced by Arcane::ItemEnumeratorTracer::enterEnumerator().

Here is the caller graph for this function:

◆ group()

const ItemGroupImpl * Arcane::ItemEnumeratorBase::group ( ) const
inlineconstexpr

Underlying group if it exists (nullptr otherwise).

This aims to test that accesses via this enumerator on a partial object are legitimate.

Definition at line 151 of file ItemEnumeratorBase.h.

Referenced by ItemEnumeratorBase().

Here is the caller graph for this function:

◆ hasNext()

bool Arcane::ItemEnumeratorBase::hasNext ( )
inlineconstexpr

True if the end of the enumerator has not been reached (index()<count()).

Definition at line 125 of file ItemEnumeratorBase.h.

Referenced by ItemGroupBuilder< T >::add(), and Arcane::ItemItemGroupComputeFunctor< ItemType >::executeFunctor().

Here is the caller graph for this function:

◆ index()

Integer Arcane::ItemEnumeratorBase::index ( ) const
inlineconstexpr

Current index of the enumerator.

Definition at line 131 of file ItemEnumeratorBase.h.

Referenced by Arcane::AnyItem::LinkFamilyInternal::initLinkData(), ItemEnumeratorBase(), and Arcane::ItemEnumeratorBaseT< Item >::ItemEnumeratorBaseT().

Here is the caller graph for this function:

◆ itemLocalId()

Int32 Arcane::ItemEnumeratorBase::itemLocalId ( ) const
inline

localId() of the current entity.

Definition at line 134 of file ItemEnumeratorBase.h.

Referenced by Arcane::CellDirectionMng::operator[](), Arcane::FaceDirectionMng::operator[](), and Arcane::NodeDirectionMng::operator[]().

Here is the caller graph for this function:

◆ localId()

Int32 Arcane::ItemEnumeratorBase::localId ( ) const
inline

localId() of the current entity.

Definition at line 137 of file ItemEnumeratorBase.h.

Referenced by ItemGroupBuilder< T >::add(), and Arcane::AnyItem::LinkFamilyInternal::initLinkData().

Here is the caller graph for this function:

◆ operator()()

bool Arcane::ItemEnumeratorBase::operator() ( )
inlineconstexpr

Definition at line 122 of file ItemEnumeratorBase.h.

◆ operator++()

void Arcane::ItemEnumeratorBase::operator++ ( )
inlineconstexpr

Increments the enumerator index.

Definition at line 121 of file ItemEnumeratorBase.h.

◆ unguardedLocalIds()

const Int32 * Arcane::ItemEnumeratorBase::unguardedLocalIds ( ) const
inlineconstexpr

Local indices.

Definition at line 144 of file ItemEnumeratorBase.h.

References unguardedLocalIds().

Referenced by unguardedLocalIds().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ version()

constexpr int Arcane::ItemEnumeratorBase::version ( )
inlinestaticconstexpr

Definition at line 153 of file ItemEnumeratorBase.h.

Member Data Documentation

◆ m_group_impl

const ItemGroupImpl* Arcane::ItemEnumeratorBase::m_group_impl = nullptr
protected

Definition at line 159 of file ItemEnumeratorBase.h.

◆ m_index

Int32 Arcane::ItemEnumeratorBase::m_index = 0
protected

Definition at line 158 of file ItemEnumeratorBase.h.

◆ m_view

impl::ItemLocalIdListContainerView Arcane::ItemEnumeratorBase::m_view
protected

Definition at line 157 of file ItemEnumeratorBase.h.


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