12#ifndef ARCANE_ITEMGROUP_H
13#define ARCANE_ITEMGROUP_H
17#include "arcane/utils/AutoRef.h"
18#include "arcane/utils/Iterator.h"
20#include "arcane/core/ItemGroupImpl.h"
90 m_impl->_checkNeedUpdateNoPadding();
104 m_impl->_checkNeedUpdateNoPadding();
227 return m_impl->isLocalToSubDomain();
240 m_impl->setLocalToSubDomain(v);
283 bool isAllItems()
const;
288 return m_impl->timestamp();
294 return m_impl->localIdToIndex();
301 bool isAutoComputed()
const;
304 bool hasSynchronizer()
const;
307 bool checkIsSorted()
const;
323 ItemGroupImplInternal* _internalApi()
const;
332 template <
typename T>
347 return impl->
itemKind()==ik ? impl : ItemGroupImpl::checkSharedNull();
363 return g1.internal()==g2.internal();
376 return g1.internal()<g2.internal();
387 return g1.internal()!=g2.internal();
406 typedef typename TraitsType::ItemType ItemType;
408 typedef const ItemType* const_iterator;
409 typedef ItemType* iterator;
410 typedef ItemType value_type;
411 typedef const ItemType& const_reference;
415 inline ItemGroupT() =
default;
420 inline ItemGroupT(
const ItemGroupT<T>& from)
422 inline const ItemGroupT<T>& operator=(
const ItemGroupT<T>& from)
423 {
m_impl = from.internal();
return (*
this); }
424 inline const ItemGroupT<T>& operator=(
const ItemGroup& from)
425 { _assign(from);
return (*
this); }
434 ItemEnumeratorT<T> enumerator()
const
Déclarations de types sur les entités.
Encapsulation d'un pointeur avec compteur de référence.
Interface d'une famille d'entités.
Interface d'un opérateur sur des entités rangées par type.
Interface d'un service de synchronisation de variable.
Fonctor pour le calcul des éléments d'un groupe.
eItemKind itemKind() const
Genre du groupe. Il s'agit du genre de ses éléments.
Référence à un groupe d'un genre donné.
ItemTraitsT< T > TraitsType
Type de la classe contenant les caractéristiques de l'entité
ItemGroupT< T > ThatClass
Type de cette classe.
Groupe d'entités de maillage.
ItemEnumerator enumerator() const
Enumérateur sur les entités du groupe.
bool empty() const
Teste si le groupe est vide.
void setLocalToSubDomain(bool v)
Positionne le booléen indiquant si le groupe est local au sous-domaine.
static ItemGroupImpl * _check(ItemGroupImpl *impl, eItemKind ik)
Retourne le groupe impl s'il est du genre kt, le groupe nul sinon.
const String & name() const
Nom du groupe.
bool isLocalToSubDomain() const
Vrai si le groupe est local au sous-domaine.
void invalidate(bool force_recompute=false)
Invalide le groupe.
Int64 timestamp() const
Retourne le temps du groupe. Ce temps est incrémenté après chaque modification.
ItemGroup & operator=(const ItemGroup &from)=default
Affecte à cette instance une référence au groupe from.
const String & fullName() const
Nom du groupe.
SharedPtrT< GroupIndexTable > localIdToIndex() const
Table des local ids vers une position pour toutes les entités du groupe.
Integer size() const
Nombre d'éléments du groupe.
IItemFamily * itemFamily() const
Famille d'entité à laquelle appartient ce groupe (0 pour le group nul)
ItemGroup(const ItemGroup &from)
Construit une référence au groupe from.
AutoRefT< ItemGroupImpl > m_impl
Représentation interne du groupe.
eItemKind itemKind() const
Genre du groupe. Il s'agit du genre de ses éléments.
bool null() const
true is le groupe est le groupe nul
ItemEnumerator const_iter
Type de l'intervalle d'itération (à supprimer)
ItemGroup()
Construit un groupe nul.
IMesh * mesh() const
Maillage auquel appartient ce groupe (0 pour le group nul)
ItemGroup own() const
Groupe équivalent à celui-ci mais contenant uniquement les éléments propres au sous-domaine.
static eItemKind kind()
Genre de l'entité
Vue sur un vecteur d'entités.
Chaîne de caractères unicode.
ItemGroupT< Cell > CellGroup
Groupe de mailles.
ItemGroupT< Face > FaceGroup
Groupe de faces.
ItemGroupT< Edge > EdgeGroup
Groupe d'arêtes.
ItemGroupT< Node > NodeGroup
Groupe de noeuds.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
bool operator<(const Item &item1, const Item &item2)
Compare deux entités.
eItemKind
Genre d'entité de maillage.