12#ifndef ARCANE_ITEMGROUPIMPL_H
13#define ARCANE_ITEMGROUPIMPL_H
18#include "arcane/core/SharedReference.h"
19#include "arcane/utils/SharedPtr.h"
21#include "arcane/core/GroupIndexTable.h"
32#define ITEMGROUP_USE_OBSERVERS
41class ItemGroupInternal;
45class ItemGroupImplInternal;
72:
public SharedReference
76 friend class ItemGroupSubPartsByType;
239 bool isLocalToSubDomain()
const;
242 void setLocalToSubDomain(
bool v);
271 void invalidate(
bool force_recompute);
291 bool check_if_present);
296 void removeSuppressedItems();
308 bool checkNeedUpdate();
320 void beginTransaction();
323 void endTransaction();
325 ARCANE_DEPRECATED_REASON(
"Y2022: Use itemInfoListView() instead")
337 void setIsAllItems();
340 bool isAllItems() const;
349 bool needSynchronization() const;
352 Int64 timestamp() const;
367 void detachObserver(const
void * ref);
377 bool hasInfoObserver() const;
380 void setComputeFunctor(
IFunctor* functor);
383 bool hasComputeFunctor() const;
401 bool hasSynchronizer();
406 bool checkIsSorted() const;
412 bool isContiguousLocalIds()
const;
422 void checkLocalIdsAreContiguous()
const;
438 Int64 capacity()
const;
441 ItemGroupImplInternal* _internalApi()
const;
451 ARCANE_DEPRECATED_REASON(
"Y2024: This method is internal to Arcane")
452 Int32Array& unguardedItemsLocalId(const
bool self_invalidate = true);
458 static
void _buildSharedNull();
460 static
void _destroySharedNull();
465 void _computeChildrenByType();
475 void _executeInvalidate();
477 void _updateNeedInfoFlag(const
bool flag);
480 void _forceInvalidate(const
bool self_invalidate);
482 void _checkUpdateSimdPadding();
484 virtual
void deleteMe();
488 ItemGroupInternal* m_p =
nullptr;
494 bool _checkNeedUpdateNoPadding();
495 bool _checkNeedUpdateWithPadding();
496 bool _checkNeedUpdate(
bool do_padding);
Déclarations de types sur les entités.
Interface d'une famille d'entités.
Interface d'un opérateur sur des entités rangées par type.
Interface d'un observable.
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.
virtual Integer nbRef() const
Nombre de références sur le groupe.
ItemGroupImpl * parent() const
Groupe parent (0 si aucun)
void checkLocalIdsAreContiguous() const
Vérifie si les entités du groupe ont des localIds() contigüs.
const String & fullName() const
Nom complet du groupe (avec maillage + famille)
void checkLocalIdsAreContigous() const
bool isContiguousLocalIds() const
Indique si les entités du groupe ont des localIds() contigüs.
bool isContigousLocalIds() const
ItemGroupImpl()
Construit un groupe nul.
const String & name() const
Nom du groupe.
Groupe d'entités de maillage.
Vue sur une liste pour obtenir des informations sur les entités.
Int32 refCount() const override
Retourne la valeur du compteur de référence.
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 -*-
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.
ConstArrayView< ItemInternal * > ItemInternalList
Type de la liste interne des entités.
eItemKind
Genre d'entité de maillage.
Array< Int32 > Int32Array
Tableau dynamique à une dimension d'entiers 32 bits.
std::int32_t Int32
Type entier signé sur 32 bits.