14#include "arcane/core/ISerializer.h"
15#include "arcane/core/IItemFamily.h"
16#include "arcane/core/ItemInfoListView.h"
17#include "arcane/core/Item.h"
19#include "arcane/mesh/IndirectItemFamilySerializer.h"
30IndirectItemFamilySerializer::
31IndirectItemFamilySerializer(IItemFamily* family)
32: TraceAccessor(family->traceMng())
40void IndirectItemFamilySerializer::
47 case ISerializer::ModeReserve:
55 for(
Integer z=0; z<nb_item; ++z ){
56 Item item = items_internal[ local_ids[z] ];
57 particle_unique_ids[z] = item.
uniqueId().asInt64();
59 sbuf->
putSpan(particle_unique_ids);
71void IndirectItemFamilySerializer::
77 unique_ids.
resize(nb_item);
81 Int32Array* work_local_id = (local_ids) ? local_ids : &temporary_local_ids;
82 work_local_id->
resize(nb_item);
84 m_family->itemsUniqueIdToLocalId(*work_local_id,unique_ids,
true);
void resize(Int64 s)
Change le nombre d'éléments du tableau à s.
constexpr Integer size() const noexcept
Nombre d'éléments du tableau.
Interface d'une famille d'entités.
Interface d'un sérialiseur.
void reserveInt64(Int64 n)
Réserve pour n Int64.
@ ModePut
Le sérialiseur attend des reserve()
@ ModeGet
Le sérialiseur attend des get()
virtual Int64 getInt64()=0
Récupère une taille.
virtual void putSpan(Span< const Real > values)
Ajoute le tableau values.
virtual eMode mode() const =0
Mode de fonctionnement actuel.
virtual void getSpan(Span< Real > values)
Récupère le tableau values.
virtual void reserveSpan(eBasicDataType dt, Int64 n)=0
Réserve de la mémoire pour n valeurs de dt.
virtual void putInt64(Int64 value)=0
Ajoute l'entier value.
void deserializeItems(ISerializer *buf, Int32Array *local_ids) override
Désérialise depuis buf les entités de la famille family().
Vue sur une liste pour obtenir des informations sur les entités.
Classe de base d'un élément de maillage.
ItemUniqueId uniqueId() const
Identifiant unique sur tous les domaines.
UniqueArray< Int64 > Int64UniqueArray
Tableau dynamique à une dimension d'entiers 64 bits.
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
@ Int64
Donnée de type entier 64 bits.
UniqueArray< Int32 > Int32UniqueArray
Tableau dynamique à une dimension d'entiers 32 bits.
Array< Int32 > Int32Array
Tableau dynamique à une dimension d'entiers 32 bits.