12#ifndef ARCANE_ITEMGROUPIMPL_H
13#define ARCANE_ITEMGROUPIMPL_H
17#include "arcane/ItemTypes.h"
18#include "arcane/SharedReference.h"
19#include "arcane/utils/SharedPtr.h"
21#include "arcane/GroupIndexTable.h"
32#define ITEMGROUP_USE_OBSERVERS
37class IItemGroupObserver;
39class ItemGroupComputeFunctor;
41class ItemGroupInternal;
42class ItemPairGroupImpl;
44class IVariableSynchronizer;
45class ItemGroupImplInternal;
112 const String& name()
const;
115 const String& fullName()
const;
118 virtual Integer
nbRef()
const {
return refCount(); }
238 bool isLocalToSubDomain()
const;
241 void setLocalToSubDomain(
bool v);
253 Integer size()
const;
295 void removeSuppressedItems();
307 bool checkNeedUpdate();
319 void beginTransaction();
322 void endTransaction();
324 ARCANE_DEPRECATED_REASON(
"Y2022: Use itemInfoListView() instead")
336 void setIsAllItems();
339 bool isAllItems() const;
348 bool needSynchronization() const;
351 Int64 timestamp() const;
366 void detachObserver(const
void *
ref);
376 bool hasInfoObserver() const;
379 void setComputeFunctor(
IFunctor* functor);
382 bool hasComputeFunctor() const;
400 bool hasSynchronizer();
405 bool checkIsSorted() const;
408 bool isContigousLocalIds() const;
415 void checkLocalIdsAreContigous() const;
431 Int64 capacity() const;
451 static void _buildSharedNull();
453 static void _destroySharedNull();
458 void _initChildrenByType();
460 void _computeChildrenByType();
462 void _initChildrenByTypeV2();
464 void _computeChildrenByTypeV2();
474 void _executeInvalidate();
476 void _updateNeedInfoFlag(const
bool flag);
481 void _checkUpdateSimdPadding();
493 bool _checkNeedUpdateNoPadding();
494 bool _checkNeedUpdateWithPadding();
Tableau d'items de types quelconques.
Classe de base d'une table de hachage entre les items d'un groupe et leurs positions dans la table.
Interface d'une famille d'entités.
Interface d'un opérateur sur des entités rangées par type.
Interface d'un compteur de référence.
Interface d'un service de synchronisation de variable.
Fonctor pour le calcul des éléments d'un groupe.
API interne à Arcane de ItemGroupImpl.
Implémentation d'un groupe d'entités de maillage.
virtual Integer nbRef() const
Nombre de références sur le groupe.
Implémentation de la classe ItemGroupImpl.
Groupe d'entités de maillage.
Vue sur une liste pour obtenir des informations sur les entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Implémentation d'un compteur de référence utilisant std::atomic.
Vue constante d'un tableau de type T.
Vue d'un tableau d'éléments de type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.