Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
ItemEnumerator.h File Reference

Types and macros for iterating over mesh entities. More...

#include "arcane/core/ItemInternalEnumerator.h"
#include "arcane/core/Item.h"
#include "arcane/core/EnumeratorTraceWrapper.h"
#include "arcane/core/IItemEnumeratorTracer.h"
#include "arcane/core/ItemEnumeratorBase.h"
#include "arcane/core/ItemConnectedEnumerator.h"
Include dependency graph for ItemEnumerator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Arcane::ItemEnumerator
 Enumerator over a list of entities. More...
class  Arcane::ItemEnumeratorT< ItemType >
 Enumerator over a typed list of entities of type ItemType. More...

Namespaces

namespace  Arcane
 -- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --

Macros

#define ARCANE_CHECK_ENUMERATOR(enumerator, testgroup)
#define A_ENUMERATE_ITEM(_EnumeratorClassName, iname, view)
#define A_ENUMERATE_ITEM_NO_TRACE(_EnumeratorClassName, iname, view)
#define ENUMERATE_NO_TRACE_(type, name, group)
 Generic enumerator for an entity group.
#define ENUMERATE_(type, name, group)
 Generic enumerator for an entity group.
#define ENUMERATE_GENERIC(type, name, group)
 Generic enumerator for an entity group.
#define ENUMERATE_ITEM(name, group)
 Generic enumerator for a node group.
#define ENUMERATE_ITEMWITHNODES(name, group)
#define ENUMERATE_NODE(name, group)
 Generic enumerator for a node group.
#define ENUMERATE_EDGE(name, group)
 Generic enumerator for an edge group.
#define ENUMERATE_FACE(name, group)
 Generic enumerator for a face group.
#define ENUMERATE_CELL(name, group)
 Generic enumerator for a cell group.
#define ENUMERATE_PARTICLE(name, group)
 Generic enumerator for a particle group.
#define ENUMERATE_DOF(name, group)
 Generic enumerator for a degree of freedom group.
#define ENUMERATE_ITEMPAIR(_item_type1, _item_type2, _name, _array)
 Enumerator over an ItemPairGroup.
#define ENUMERATE_ITEMPAIR_DIRECT(_name, _array)
 Generic enumerator over an ItemPairGroup.
#define ENUMERATE_SUB_ITEM(_item_type, _name, _parent_item)
 Enumerator over a sub-element of an ItemPairGroup.
#define ENUMERATE_SUB_ITEM_DIRECT(_name, _parent_item)
 Generic enumerator over a sub-element of an ItemPairGroup.

Functions

void Arcane::_arcaneInternalItemEnumeratorSwigSet (const ItemEnumerator *ie, ItemEnumeratorPOD *vpod)

Detailed Description

Types and macros for iterating over mesh entities.

This file contains the different enumerator types and macros for iterating over mesh entities.

Definition in file ItemEnumerator.h.

Macro Definition Documentation

◆ A_ENUMERATE_ITEM

#define A_ENUMERATE_ITEM ( _EnumeratorClassName,
iname,
view )
Value:
for (A_TRACE_ITEM_ENUMERATOR(_EnumeratorClassName) iname(_EnumeratorClassName ::fromItemEnumerator((view).enumerator()) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname)

Definition at line 413 of file ItemEnumerator.h.

◆ A_ENUMERATE_ITEM_NO_TRACE

#define A_ENUMERATE_ITEM_NO_TRACE ( _EnumeratorClassName,
iname,
view )
Value:
for (_EnumeratorClassName iname(_EnumeratorClassName ::fromItemEnumerator((view).enumerator())); iname.hasNext(); ++iname)

Definition at line 416 of file ItemEnumerator.h.

◆ ARCANE_CHECK_ENUMERATOR

#define ARCANE_CHECK_ENUMERATOR ( enumerator,
testgroup )
Value:
ARCANE_ASSERT(((enumerator).group() == (testgroup).internal()), ("Invalid access on partial data using enumerator not associated to underlying group %s", testgroup.name().localstr()))

Definition at line 407 of file ItemEnumerator.h.

◆ ENUMERATE_

◆ ENUMERATE_CELL

◆ ENUMERATE_DOF

#define ENUMERATE_DOF ( name,
group )
Value:
ENUMERATE_ (::Arcane::DoF, name, group)
degree of freedom class.
Definition Item.h:1649

Generic enumerator for a degree of freedom group.

Definition at line 452 of file ItemEnumerator.h.

◆ ENUMERATE_EDGE

#define ENUMERATE_EDGE ( name,
group )
Value:
ENUMERATE_ (::Arcane::Edge, name, group)
Edge of a cell.
Definition Item.h:875

Generic enumerator for an edge group.

Definition at line 440 of file ItemEnumerator.h.

◆ ENUMERATE_FACE

◆ ENUMERATE_GENERIC

#define ENUMERATE_GENERIC ( type,
name,
group )
Value:
A_ENUMERATE_ITEM(::Arcane::ItemEnumeratorT<type>, name, group)

Generic enumerator for an entity group.

Definition at line 429 of file ItemEnumerator.h.

◆ ENUMERATE_ITEM

◆ ENUMERATE_ITEMPAIR

#define ENUMERATE_ITEMPAIR ( _item_type1,
_item_type2,
_name,
_array )
Value:
for (::Arcane::ItemPairEnumeratorT<_item_type1, _item_type2> _name(_array); _name.hasNext(); ++_name)
Enumerator over an array of arrays of mesh entities of type ItemType and SubItemType.

Enumerator over an ItemPairGroup.

Parameters
_item_type1Type of the group entity
_item_type2Type of the sub-entities of the group
_nameName of the enumerator
_arrayInstance of ItemPairGroup

Definition at line 464 of file ItemEnumerator.h.

◆ ENUMERATE_ITEMPAIR_DIRECT

#define ENUMERATE_ITEMPAIR_DIRECT ( _name,
_array )
Value:
for (::Arcane::ItemPairEnumerator _name(_array); _name.hasNext(); ++_name)
Enumerator over an array of arrays of mesh entities.

Generic enumerator over an ItemPairGroup.

See also
ENUMERATE_ITEMPAIR

Definition at line 471 of file ItemEnumerator.h.

◆ ENUMERATE_ITEMWITHNODES

#define ENUMERATE_ITEMWITHNODES ( name,
group )
Value:
Mesh element based on nodes (Edge,Face,Cell).
Definition Item.h:773

Definition at line 434 of file ItemEnumerator.h.

◆ ENUMERATE_NO_TRACE_

#define ENUMERATE_NO_TRACE_ ( type,
name,
group )
Value:
A_ENUMERATE_ITEM_NO_TRACE(::Arcane::ItemEnumeratorT<type>, name, group)

Generic enumerator for an entity group.

Definition at line 423 of file ItemEnumerator.h.

◆ ENUMERATE_NODE

#define ENUMERATE_NODE ( name,
group )

◆ ENUMERATE_PARTICLE

#define ENUMERATE_PARTICLE ( name,
group )
Value:
Particle.
Definition Item.h:1529

Generic enumerator for a particle group.

Definition at line 449 of file ItemEnumerator.h.

◆ ENUMERATE_SUB_ITEM

#define ENUMERATE_SUB_ITEM ( _item_type,
_name,
_parent_item )
Value:
for (::Arcane::ItemEnumeratorT<_item_type> _name(_parent_item.subItems()); _name.hasNext(); ++_name)
constexpr bool hasNext()
True if the end of the enumerator has not been reached (index()<count()).

Enumerator over a sub-element of an ItemPairGroup.

Parameters
_item_typeType of the sub-entity
_nameName of the enumerator
_parent_itemInstance of the parent entity or the enumerator on the parent entity.

Definition at line 484 of file ItemEnumerator.h.

◆ ENUMERATE_SUB_ITEM_DIRECT

#define ENUMERATE_SUB_ITEM_DIRECT ( _name,
_parent_item )
Value:
for (::Arcane::ItemInternalEnumerator _name(_parent_item.subItems()); _name.hasNext(); ++_name)

Generic enumerator over a sub-element of an ItemPairGroup.

See also
ENUMERATE_SUB_ITEM

Definition at line 491 of file ItemEnumerator.h.