14#include "arcane/mesh/ItemInternalMap.h"
16#include "arcane/utils/Iterator.h"
17#include "arcane/utils/FatalErrorException.h"
18#include "arcane/utils/NotSupportedException.h"
20#include "arcane/core/Item.h"
22#include <unordered_set>
46 std::unordered_set<Int64> uids;
49 if (uids.find(uid) != uids.end())
55 Int64 nb_item = m_new_impl.size();
58 for (
auto& x : m_new_impl) {
59 items[index] = x.second;
63 for (index = 0; index < nb_item; ++index) {
65 m_new_impl.insert(std::make_pair(item->
uniqueId(), item));
80 for (
auto& iter : m_new_impl) {
83 ItemInternal* new_ii = items_internal[old_to_new_local_ids[current_local_id]];
97 for (
auto& x : m_new_impl) {
98 if (x.first != x.second->uniqueId())
99 ARCANE_FATAL(
"Incoherent uid key={0} item_internal={1}", x.first, x.second->uniqueId());
106void ItemInternalMap::
107_throwNotFound(Int64 key)
const
115void ItemInternalMap::
116_throwNotSupported(
const char* func_name)
const
124void ItemInternalMap::
125_checkValid(
Int64 uid, ItemInternal* v)
const
127 if (v->uniqueId() != uid)
128 ARCANE_FATAL(
"Bad found uniqueId found={0} expected={1}", v->uniqueId(), uid);
#define ARCANE_THROW(exception_class,...)
Macro pour envoyer une exception avec formattage.
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
ItemUniqueId uniqueId() const
Numéro unique de l'entité
Int32 localId() const
Numéro local (au sous-domaine) de l'entité
Structure interne d'une entité de maillage.
Classe de base d'un élément de maillage.
ItemUniqueId uniqueId() const
Identifiant unique sur tous les domaines.
Vecteur 1D de données avec sémantique par valeur (style STL).
void notifyUniqueIdsChanged()
Notifie que les numéros uniques des entités ont changés.
void eachItem(const Lambda &lambda)
Fonction template pour itérer sur les entités de l'instance.
void _changeLocalIds(ArrayView< ItemInternal * > items_internal, ConstArrayView< Int32 > old_to_new_local_ids)
Change la valeurs des localId()
bool arcaneIsCheck()
Vrai si on est en mode vérification.
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.