12#ifndef ARCANE_ITEMINFOLISTVIEW_H
13#define ARCANE_ITEMINFOLISTVIEW_H
17#include "arcane/core/ItemGenericInfoListView.h"
40class ARCANE_CORE_EXPORT ItemInfoListView
41:
public ItemGenericInfoListView
43 using BaseClass = ItemGenericInfoListView;
44 friend class mesh::ItemFamily;
46 friend ItemPairEnumerator;
47 friend ItemGenericInfoListView;
48 template <
int Extent>
friend class ItemConnectedListView;
49 template <
typename ItemType>
friend class ItemEnumeratorBaseT;
52 friend ItemVectorView;
56 ItemInfoListView() =
default;
77 inline Item operator[](
Int32 local_id)
const;
88 using BaseClass::m_flags;
89 using BaseClass::m_item_shared_info;
90 void _checkValid(eItemKind expected_kind);
99template <
typename ItemType>
100class ItemInfoListViewT
101:
public ItemInfoListView
105 ItemInfoListViewT() =
default;
109 : ItemInfoListView(family)
131class NodeInfoListView
132:
public ItemInfoListViewT<Node>
136 using BaseClass = ItemInfoListViewT<Node>;
140 NodeInfoListView() =
default;
154class EdgeInfoListView
155:
public ItemInfoListViewT<Edge>
159 using BaseClass = ItemInfoListViewT<Edge>;
163 EdgeInfoListView() =
default;
177class FaceInfoListView
178:
public ItemInfoListViewT<Face>
182 using BaseClass = ItemInfoListViewT<Face>;
186 FaceInfoListView() =
default;
195 constexpr ARCCORE_HOST_DEVICE
bool isSubDomainBoundary(FaceLocalId local_id)
const
197 return ItemFlags::isSubDomainBoundary(m_flags[local_id]);
199 constexpr ARCCORE_HOST_DEVICE
bool isSubDomainBoundaryOutside(FaceLocalId local_id)
const
201 return ItemFlags::isSubDomainBoundaryOutside(m_flags[local_id]);
203 constexpr ARCCORE_HOST_DEVICE
Int32 backCellIndex(FaceLocalId local_id)
const
207 constexpr ARCCORE_HOST_DEVICE
Int32 frontCellIndex(FaceLocalId local_id)
const
219class CellInfoListView
220:
public ItemInfoListViewT<Cell>
224 using BaseClass = ItemInfoListViewT<Cell>;
228 CellInfoListView() =
default;
242class ParticleInfoListView
243:
public ItemInfoListViewT<Particle>
247 using BaseClass = ItemInfoListViewT<Particle>;
251 ParticleInfoListView() =
default;
266:
public ItemInfoListViewT<DoF>
270 using BaseClass = ItemInfoListViewT<DoF>;
274 DoFInfoListView() =
default;
CellInfoListView(IItemFamily *family)
Constructs a view associated with the family family.
DoFInfoListView(IItemFamily *family)
Constructs a view associated with the family family.
EdgeInfoListView(IItemFamily *family)
Constructs a view associated with the family family.
FaceInfoListView(IItemFamily *family)
Constructs a view associated with the family family.
Interface of an entity family.
static constexpr Int32 backCellIndex(FlagType f)
Index in the face for the back cell.
static constexpr Int32 frontCellIndex(FlagType f)
Index in the face for the front cell.
View of the generic information of an entity family.
ItemInfoListViewT(IItemFamily *family)
Constructs a view associated with the family family.
ItemType operator[](Int32 local_id) const
Entity associated with local ID local_id.
ItemType operator[](ItemLocalId local_id) const
Entity associated with local ID local_id.
View of a list to obtain information about entities.
IItemFamily * itemFamily() const
Associated family.
void _checkValid(eItemKind expected_kind)
Checks that the entity kind matches the expected one.
Index of an Item in a variable.
static eItemKind kind()
Entity kind.
Base class for a mesh element.
NodeInfoListView(IItemFamily *family)
Constructs a view associated with the family family.
ParticleInfoListView(IItemFamily *family)
Constructs a view associated with the family family.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Signed integer type of 32 bits.