50class ItemSharedInfoWithType
52 friend class ItemSharedInfoList;
53 static const Int32 NULL_INDEX = ItemSharedInfo::NULL_INDEX;
67 ItemTypeId itemTypeId() {
return this->m_type_id; }
68 Int32 index()
const {
return m_index; }
69 void setIndex(
Int32 aindex) { m_index = aindex; }
70 Int32 nbReference()
const {
return m_nb_reference; }
71 void addReference(){ ++m_nb_reference; }
72 void removeReference(){ --m_nb_reference; }
74 static Integer serializeSize() {
return 6; }
78 friend std::ostream& operator<<(std::ostream& o,
const ItemSharedInfoWithType& isi)
80 isi.m_shared_info->print(o);
88 Int32 m_index = NULL_INDEX;
89 Int32 m_nb_reference = 0;
100class ItemSharedInfoList
107 typedef std::map<ItemNumElements,ItemSharedInfoWithType*> ItemSharedInfoMap;
124 bool need_alloc =
false;
137 m_list_changed =
true;
138 m_free_item_shared_infos.add(item);
149 void prepareForDump();
152 void dumpSharedInfos();
159 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
160 Integer maxNodePerItem()
const {
return 0; }
161 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
162 Integer maxEdgePerItem()
const {
return 0; }
163 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
164 Integer maxFacePerItem()
const {
return 0; }
165 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
166 Integer maxCellPerItem()
const {
return 0; }
167 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
168 Integer maxLocalNodePerItemType()
const {
return 0; }
169 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
170 Integer maxLocalEdgePerItemType()
const {
return 0; }
171 ARCANE_DEPRECATED_REASON(
"Y2022: This method always return 0")
172 Integer maxLocalFacePerItemType()
const {
return 0; }
176 ItemSharedInfoWithType* findSharedInfo(ItemTypeInfo* type);
180 ItemSharedInfoWithType* _allocOne(
bool& need_alloc)
182 ItemSharedInfoWithType* new_item = 0;
183 Integer nb_free = m_free_item_shared_infos.size();
184 m_list_changed =
true;
186 new_item = m_free_item_shared_infos.back();
187 m_free_item_shared_infos.popBack();
191 new_item = m_item_shared_infos_buffer->allocOne();
192 new_item->setIndex(m_item_shared_infos.size());
193 m_item_shared_infos.add(new_item);
202 ItemFamily* m_family =
nullptr;
203 ItemSharedInfo* m_common_item_shared_info =
nullptr;
209 ItemSharedInfoMap* m_infos_map =
nullptr;
211 bool m_list_changed =
false;