55class ARCANE_CORE_EXPORT ItemSharedInfo
57 friend class ItemBase;
58 friend class MutableItemBase;
60 friend class ItemGenericInfoListView;
61 friend class ItemInternal;
62 friend class ItemInfoListView;
63 friend class mesh::ItemFamily;
64 friend class mesh::DynamicMeshKindInfos;
65 friend class mesh::ItemSharedInfoWithType;
66 friend class ItemInternalVectorView;
67 friend class ItemVectorViewConstIterator;
68 friend class ItemConnectedListViewConstIterator;
69 friend class ItemVectorView;
70 friend class ItemEnumeratorBase;
71 friend class ItemInternalCompatibility;
72 friend class SimdItemBase;
73 friend class SimdItemEnumeratorBase;
74 template <
int Extent>
friend class ItemConnectedListView;
78 static const Int32 NULL_INDEX =
static_cast<Int32>(-1);
88 static ItemSharedInfo* nullItemSharedInfoPointer;
92 static ItemSharedInfo* nullInstance() {
return nullItemSharedInfoPointer; }
106 eItemKind itemKind()
const {
return m_item_kind; }
107 IItemFamily* itemFamily()
const {
return m_item_family; }
108 Int32 nbParent()
const {
return m_nb_parent; }
109 ItemTypeInfo* typeInfoFromId(Int32 type_id)
const;
111 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
112 constexpr Int32 nbNode()
const {
return 0; }
113 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 0")
114 constexpr Int32 nbEdge()
const {
return 0; }
115 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 0")
116 constexpr Int32 nbFace()
const {
return 0; }
117 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 0")
118 constexpr Int32 nbCell()
const {
return 0; }
119 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 0")
120 constexpr Int32 nbHParent()
const {
return 0; }
121 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 0")
122 constexpr Int32 nbHChildren()
const {
return 0; }
124 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception. Use ItemInternal::typeId() instead")
125 Int32 typeId() const;
127 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
128 Int32 firstNode()
const {
return 0; }
129 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
130 Int32 firstEdge()
const {
return 0; }
131 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
132 Int32 firstFace()
const {
return 0; }
133 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
134 Int32 firstCell()
const {
return 0; }
135 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
136 Int32 firstParent()
const {
return 0; }
137 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
138 Int32 firstHParent()
const {
return 0; }
139 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
140 Int32 firstHChild()
const {
return 0; }
142 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
143 constexpr Int32 neededMemory()
const {
return 0; }
144 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
145 constexpr Int32 minimumNeededMemory()
const {
return 0; }
146 ARCCORE_DEPRECATED_2021(
"This method always return 'false'")
147 constexpr
bool hasLegacyConnectivity()
const {
return false; }
149 void updateMeshItemInternalList();
153 void print(std::ostream& o)
const;
157 ARCANE_DEPRECATED_REASON(
"Y2022: This list is always empty")
158 ItemInternalVectorView nodes(Int32) const;
160 ARCANE_DEPRECATED_REASON(
"Y2020: This list is always empty")
161 ItemInternalVectorView edges(Int32) const;
163 ARCANE_DEPRECATED_REASON(
"Y2020: This list is always empty")
164 ItemInternalVectorView faces(Int32) const;
166 ARCANE_DEPRECATED_REASON(
"Y2020: This list is always empty")
167 ItemInternalVectorView cells(Int32) const;
169 ARCANE_DEPRECATED_REASON(
"Y2020: This list is always empty")
170 ItemInternalVectorView hChildren(Int32) const;
174 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception. Use _parentV2() instead")
175 ItemInternal* parent(Integer, Integer) const;
179 ItemInternal* _parentV2(Int32 local_id, [[maybe_unused]] Integer aindex)
const
182 ARCANE_ASSERT((aindex == 0), (
"Only one parent access implemented"));
183 return _parent(m_parent_item_ids[local_id]);
185 Int32 _parentLocalIdV2(Int32 local_id, [[maybe_unused]] Integer aindex)
const
188 ARCANE_ASSERT((aindex == 0), (
"Only one parent access implemented"));
189 return m_parent_item_ids[local_id];
191 void _setParentV2(Int32 local_id, Integer aindex, Int32 parent_local_id);
192 Int32* _parentPtr(Int32 local_id);
196 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'nullptr'")
197 ItemInternal* node(Int32, Int32)
const {
return nullptr; }
198 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'nullptr'")
199 ItemInternal* edge(Int32, Int32)
const {
return nullptr; }
200 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'nullptr'")
201 ItemInternal* face(Int32, Int32)
const {
return nullptr; }
202 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'nullptr'")
203 ItemInternal* cell(Int32, Int32)
const {
return nullptr; }
204 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'nullptr'")
205 ItemInternal* hParent(Integer, Integer)
const {
return nullptr; }
206 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'nullptr'")
207 ItemInternal* hChild(Int32, Int32)
const {
return nullptr; }
211 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'NULL_ITEM_LOCAL_ID'")
212 Int32 nodeLocalId(Int32, Int32)
const {
return NULL_ITEM_LOCAL_ID; }
213 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'NULL_ITEM_LOCAL_ID'")
214 Int32 edgeLocalId(Int32, Int32)
const {
return NULL_ITEM_LOCAL_ID; }
215 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'NULL_ITEM_LOCAL_ID'")
216 Int32 faceLocalId(Int32, Int32)
const {
return NULL_ITEM_LOCAL_ID; }
217 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'NULL_ITEM_LOCAL_ID'")
218 Int32 cellLocalId(Int32, Int32)
const {
return NULL_ITEM_LOCAL_ID; }
219 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'NULL_ITEM_LOCAL_ID'")
220 Integer parentLocalId(Integer, Integer)
const {
return NULL_ITEM_LOCAL_ID; }
221 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'NULL_ITEM_LOCAL_ID'")
222 Int32 hParentLocalId(Integer, Integer)
const {
return NULL_ITEM_LOCAL_ID; }
223 ARCANE_DEPRECATED_REASON(
"Y2020: This method always return 'NULL_ITEM_LOCAL_ID'")
224 Int32 hChildLocalId(Integer, Integer)
const {
return NULL_ITEM_LOCAL_ID; }
228 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception.")
229 void setNode(Int32, Int32, Int32) const;
230 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception.")
231 void setEdge(Int32, Int32, Int32) const;
232 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception.")
233 void setFace(Int32, Int32, Int32) const;
234 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception.")
235 void setCell(Int32, Int32, Int32) const;
236 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception.")
237 void setHParent(Int32, Int32, Int32) const;
238 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception.")
239 void setHChild(Int32, Int32, Int32) const;
241 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception. Use _setParentV2() instead")
242 void setParent(Integer, Integer, Integer) const;
246 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
247 constexpr Int32 edgeAllocated()
const {
return 0; }
248 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
249 constexpr Int32 faceAllocated()
const {
return 0; }
250 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
251 constexpr Int32 cellAllocated()
const {
return 0; }
252 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
253 constexpr Int32 hParentAllocated()
const {
return 0; }
254 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
255 constexpr Int32 hChildAllocated()
const {
return 0; }
259 ARCANE_DEPRECATED_REASON(
"Y2022: This method always returns 'nullptr'")
260 const Int32* _infos()
const {
return nullptr; }
261 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception.")
262 void _setInfos(Int32* ptr);
270 MeshItemInternalList* m_items =
nullptr;
271 ItemInternalConnectivityList* m_connectivity;
272 IItemFamily* m_item_family =
nullptr;
273 ItemTypeMng* m_item_type_mng =
nullptr;
274 Int64ArrayView m_unique_ids;
275 Int32ArrayView m_parent_item_ids;
276 Int32ArrayView m_owners;
277 Int32ArrayView m_flags;
278 Int16ArrayView m_type_ids;
279 eItemKind m_item_kind = IK_Unknown;
280 Int32 m_nb_parent = 0;
281 ConstArrayView<ItemInternal*> m_items_internal;
285 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception. Use _ownerV2() instead")
286 Int32 owner(Int32) const;
287 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception. Use _setOwnerV2() instead")
288 void setOwner(Int32, Int32) const;
289 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception. Use _flagsV2() instead")
290 Int32 flags(Int32) const;
291 ARCANE_DEPRECATED_REASON(
"Y2022: This method always throws an exception. Use _setFlagsV2() instead")
292 void setFlags(Int32, Int32) const;
296 constexpr Int32 _ownerV2(Int32 local_id)
const {
return m_owners[local_id]; }
297 void _setOwnerV2(Int32 local_id, Int32 aowner) { m_owners[local_id] = aowner; }
298 constexpr Int32 _flagsV2(Int32 local_id)
const {
return m_flags[local_id]; }
299 void _setFlagsV2(Int32 local_id, Int32 f) { m_flags[local_id] = f; }
301 constexpr Int16 _typeId(Int32 local_id)
const {
return m_type_ids[local_id]; }
302 void _setTypeId(Int32 local_id, Int16 v) { m_type_ids[local_id] = v; }
307 ARCANE_DEPRECATED_REASON(
"Y2022: COMMON_BASE_MEMORY is always 0")
308 static const Int32 COMMON_BASE_MEMORY = 0;
312 void _init(eItemKind ik);
314 ItemInternal* _parent(Int32
id) const;