Arcane  v3.16.6.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemPairGroupImpl.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ItemPairGroupImpl.h (C) 2000-2025 */
9/* */
10/* Implémentation d'un tableau de listes d'entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ITEMPAIRGROUPIMPL_H
13#define ARCANE_CORE_ITEMPAIRGROUPIMPL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/core/SharedReference.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
33class ARCANE_CORE_EXPORT ItemPairGroupImpl
34: public SharedReference
35{
36 public:
37
38 ItemPairGroupImpl();
39 ItemPairGroupImpl(const ItemGroup& group, const ItemGroup& sub_group);
40 ~ItemPairGroupImpl() override;
41
42 public:
43
44 static ItemPairGroupImpl* shared_null;
45 static ItemPairGroupImpl* checkSharedNull();
46
47 public:
48
49 virtual ISharedReference& sharedReference() { return *this; }
50
51 public:
52
54 const String& name() const;
55
57 virtual Integer nbRef() const { return refCount(); }
58
60 bool null() const;
61
63 IMesh* mesh() const;
64
66 eItemKind itemKind() const;
67
69 eItemKind subItemKind() const;
70
72 IItemFamily* itemFamily() const;
73
75 IItemFamily* subItemFamily() const;
76
78 const ItemGroup& itemGroup() const;
79
81 const ItemGroup& subItemGroup() const;
82
84 Integer size() const;
85
87 void invalidate(bool force_recompute);
88
90 void checkValid();
91
100 bool checkNeedUpdate();
101
103 void changeIds(IntegerConstArrayView old_to_new_ids);
104
109
114
118 void setComputeFunctor(IFunctor* functor);
119
120 Int64ArrayView indexes();
121
122 Span<const Int32> subItemsLocalId();
123
124 private:
125
127
128 public:
129
130 void addRef() override;
131 void removeRef() override;
132
133 private:
134
135 void deleteMe() override;
136};
137
138/*---------------------------------------------------------------------------*/
139/*---------------------------------------------------------------------------*/
140
141} // namespace Arcane
142
143/*---------------------------------------------------------------------------*/
144/*---------------------------------------------------------------------------*/
145
146#endif
Déclarations de types sur les entités.
Tableau d'items de types quelconques.
Interface d'une famille d'entités.
Definition IItemFamily.h:84
Interface d'un compteur de référence.
Groupe d'entités de maillage.
Definition ItemGroup.h:49
ItemPairGroupImplPrivate * m_p
Implémentation du groupe.
Integer size() const
Nombre d'entités du groupe.
const String & name() const
Nom du groupe.
bool checkNeedUpdate()
Réactualise le groupe si nécessaire.
void checkValid()
Vérifie que le groupe est valide.
Array< Int32 > & unguardedLocalIds() const
virtual Integer nbRef() const
Nombre de références sur le groupe.
void removeRef() override
Décrémente le compteur de référence.
Array< Int64 > & unguardedIndexes() const
void addRef() override
Incrémente le compteur de référence.
void changeIds(IntegerConstArrayView old_to_new_ids)
Change les indices des entités du groupe.
void invalidate(bool force_recompute)
Invalide le groupe.
void setComputeFunctor(IFunctor *functor)
Int32 refCount() const override
Retourne la valeur du compteur de référence.
Vue d'un tableau d'éléments de type T.
Definition Span.h:513
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
ArrayView< Int64 > Int64ArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition UtilsTypes.h:538
Int32 Integer
Type représentant un entier.
eItemKind
Genre d'entité de maillage.
ConstArrayView< Integer > IntegerConstArrayView
Equivalent C d'un tableau à une dimension d'entiers.
Definition UtilsTypes.h:573