37class ALIEN_EXPORT AbstractItemFamily :
public IAbstractFamily
40 AbstractItemFamily(
const AbstractItemFamily& family);
48 AbstractItemFamily(ConstArrayView<Int64> uniqueIds,
49 ConstArrayView<Integer> owners,
50 IMessagePassingMng* parallel_mng,
51 ITraceMng* trace_mng =
nullptr);
60 AbstractItemFamily(ConstArrayView<Int64> uniqueIds,
61 ConstArrayView<Int64> ghost_uniqueIds,
62 ConstArrayView<Integer> ghost_owners,
63 IMessagePassingMng* parallel_mng,
64 ITraceMng* trace_mng =
nullptr);
71 AbstractItemFamily(ConstArrayView<Int64> uniqueIds,
72 IMessagePassingMng* parallel_mng,
73 [[maybe_unused]] ITraceMng* trace_mng =
nullptr);
75 ~AbstractItemFamily()
override =
default;
78 IAbstractFamily* clone()
const override {
return new AbstractItemFamily(*
this); }
81 Int32
maxLocalId()
const override {
return m_unique_ids.size(); }
83 void uniqueIdToLocalId(
84 ArrayView<Int32> localIds, ConstArrayView<Int64> uniqueIds)
const override;
95 IMessagePassingMng* m_parallel_mng =
nullptr;
96 ITraceMng* m_trace_mng =
nullptr;
97 UniqueArray<Int64> m_unique_ids;
98 UniqueArray<Integer> m_owners;
99 std::unordered_map<Int64, Integer> m_uid2lid;
105 AbstractFamily(
const AbstractFamily& family);
113 AbstractFamily(ConstArrayView<Int64> uniqueIds,
114 ConstArrayView<Integer> owners,
115 IMessagePassingMng* parallel_mng,
116 ITraceMng* trace_mng =
nullptr);
125 AbstractFamily(ConstArrayView<Int64> uniqueIds,
126 ConstArrayView<Int64> ghost_uniqueIds,
127 ConstArrayView<Integer> ghost_owners,
128 IMessagePassingMng* parallel_mng,
129 ITraceMng* trace_mng =
nullptr);
137 AbstractFamily(ConstArrayView<Int64> uniqueIds,
138 IMessagePassingMng* parallel_mng,
139 ITraceMng* trace_mng =
nullptr);
141 ~AbstractFamily()
override =
default;
147 Int32
maxLocalId()
const override {
return m_unique_ids.size(); }
149 void uniqueIdToLocalId(
150 ArrayView<Int32> localIds, ConstArrayView<Int64> uniqueIds)
const override;
154 Arccore::SharedArray<Arccore::Integer> owners(
155 ConstArrayView<Int32> localIds)
const override;
157 Arccore::SharedArray<Arccore::Int64> uids(
158 ConstArrayView<Int32> localIds)
const override;
160 Arccore::SharedArray<Arccore::Int32> allLocalIds()
const override;
163 IMessagePassingMng* m_parallel_mng =
nullptr;
164 ITraceMng* m_trace_mng =
nullptr;
165 UniqueArray<Int64> m_unique_ids;
166 UniqueArray<Integer> m_owners;
167 std::unordered_map<Int64, Integer> m_uid2lid;