12#ifndef ARCANE_CORE_ITEMPAIRGROUP_H
13#define ARCANE_CORE_ITEMPAIRGROUP_H
17#include "arcane/utils/AutoRef.h"
18#include "arcane/utils/Iterator.h"
19#include "arcane/utils/IFunctorWithArgument.h"
21#include "arcane/core/ItemPairGroupImpl.h"
71 virtual ~ItemPairGroup() =
default;
114 m_impl->invalidate(force_recompute);
134 return (impl->itemKind() == ik && impl->subItemKind() == aik) ? impl : ItemPairGroupImpl::checkSharedNull();
167template <
typename ItemKind,
typename SubItemKind>
174 typedef ItemPairGroupT<ItemKind, SubItemKind>
ThatClass;
179 typedef typename TraitsType::ItemType ItemType;
180 typedef typename TraitsType::ItemGroupType ItemGroupType;
181 typedef typename SubTraitsType::ItemType SubItemType;
182 typedef typename SubTraitsType::ItemGroupType SubItemGroupType;
193 ItemPairGroupT(
const ItemGroupType& group,
const SubItemGroupType& sub_group,
197 ItemPairGroupT(
const ItemGroupType& group,
const SubItemGroupType& sub_group,
Déclarations de types sur les entités.
Encapsulation d'un pointeur avec compteur de référence.
Interface d'un fonctor avec argument mais sans valeur de retour.
Interface d'une famille d'entités.
Groupe d'entités de maillage.
Enumérateur sur un tableau de tableaux d'entités du maillage.
Référence à un groupe d'un genre donné.
ItemTraitsT< ItemKind > TraitsType
Type de la classe contenant les caractéristiques de l'entité
ItemPairGroupT< ItemKind, SubItemKind > ThatClass
Type de cette classe.
Tableau de listes d'entités.
IFunctorWithArgumentT< ItemPairGroupBuilder & > CustomFunctor
Functor pour un calcul personnalisé des connectivités.
eItemKind itemKind() const
Type des entités du groupe.
const ItemGroup & itemGroup() const
Groupe des items initiaux.
IItemFamily * itemFamily() const
Famille d'entité à laquelle appartient ce groupe (0 pour une liste nulle)
eItemKind subItemKind() const
Type des sous-entités du groupe.
ItemPairGroup(const ItemPairGroup &from)
Constructeur de recopie.
static ItemPairGroupImpl * _check(ItemPairGroupImpl *impl, eItemKind ik, eItemKind aik)
Retourne le groupe impl s'il est du genre kt, le groupe nul sinon.
void checkValid()
Vérification interne de la validité du groupe.
void invalidate(bool force_recompute=false)
Invalide la liste.
IItemFamily * subItemFamily() const
Famille d'entité à laquelle appartient ce groupe (0 pour une liste nulle)
ItemPairGroup()
Construit un tableau vide.
AutoRefT< ItemPairGroupImpl > m_impl
Représentation interne du groupe.
const ItemGroup & subItemGroup() const
Groupe des items finaux (après rebond)
ItemPairGroupImpl * internal() const
Retourne l'implémentation du groupe.
bool null() const
true is le groupe est le groupe nul
IMesh * mesh() const
Maillage auquel appartient cette liste (0 pour une liste nulle)
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.