19#include "ScalarIndexSet.h"
23#include <alien/index_manager/IndexManager.h>
45ScalarIndexSet::ScalarIndexSet() =
default;
49ScalarIndexSet::ScalarIndexSet(
const ScalarIndexSet& en) =
default;
53ScalarIndexSet::ScalarIndexSet(ScalarIndexSet&& en) noexcept
54: m_internal(std::move(en.m_internal))
59ScalarIndexSet::ScalarIndexSet(
60const String& name,
const Integer uid,
const IndexManager* manager, Integer kind)
61: m_internal(new Internal{ name, kind, uid, manager })
66ScalarIndexSet& ScalarIndexSet::operator=(
const ScalarIndexSet& en) =
default;
72ScalarIndexSet::operator=(ScalarIndexSet&& en)
noexcept
74 m_internal = std::move(en.m_internal);
83 return m_internal == en.m_internal;
88ConstArrayView<Integer>
91 return manager()->getOwnIndexes(*
this);
96ConstArrayView<Integer>
99 return manager()->getAllIndexes(*
this);
104ConstArrayView<Integer>
105ScalarIndexSet::getOwnLocalIds()
const
107 return manager()->getOwnLocalIds(*
this);
112ConstArrayView<Integer>
113ScalarIndexSet::getAllLocalIds()
const
115 return manager()->getAllLocalIds(*
this);
121ScalarIndexSet::getName()
const
123 return m_internal->m_name;
131 return m_internal->m_kind;
137ScalarIndexSet::getFamily()
const
139 return manager()->getFamily(*
this);
147 return m_internal->m_manager;
155 return m_internal->m_uid;
Interface for abstract families of items.
bool operator==(const ScalarIndexSet &en) const
Opérateur de comparaison.
ConstArrayView< Integer > getOwnIndexes() const
Indices of owned, for this entry.
Integer getUid() const
Creation label.
const IndexManager * manager() const
Associated index manager.
Integer getKind() const
Item where the entry is defined.
ConstArrayView< Integer > getAllIndexes() const
Indices of owned then ghosts, for this entry.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --