Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::SerializedData

Interface d'une donnée sérialisée. Plus de détails...

+ Graphe d'héritage de Arcane::SerializedData:
+ Graphe de collaboration de Arcane::SerializedData:

Fonctions membres publiques

 SerializedData (eDataType base_data_type, Int64 memory_size, Integer nb_dimension, Int64 nb_element, Int64 nb_base_element, bool is_multi_size, Int64ConstArrayView extents, const ArrayShape &shape)
 
eDataType baseDataType () const override
 Type de la donnée.
 
Integer nbDimension () const override
 Dimension. 0 pour un scalaire, 1 pour un tableau mono-dim, ...
 
Int64 nbElement () const override
 Nombre d'éléments.
 
bool isMultiSize () const override
 Indique s'il s'agit d'un tableau multi-taille. (pertinent uniquement si nbDimension()>1)
 
Int64 memorySize () const override
 Indique le nombre d'octets qu'il faut allouer pour stocker ou lire les données.
 
Int64ConstArrayView extents () const override
 Tableau contenant le nombre d'éléments pour chaque dimension.
 
ArrayShape shape () const override
 Forme du tableau associé aux données.
 
Int64 nbBaseElement () const override
 Nombre d'éléments du type de base.
 
ByteConstArrayView buffer () const override
 
ByteArrayView buffer () override
 
Span< const Bytebytes () const override
 
Span< const ByteconstBytes () const override
 Valeurs sérialisées.
 
Span< Bytebytes () override
 
void setBuffer (ByteArrayView buffer) override
 Positionne les valeurs de sérialisation.
 
void setBuffer (ByteConstArrayView buffer) override
 Positionne les valeurs de sérialisation.
 
void setBytes (Span< Byte > bytes) override
 Positionne les valeurs de sérialisation.
 
void setBytes (Span< const Byte > bytes) override
 Positionne les valeurs de sérialisation.
 
Span< BytewritableBytes () override
 Vue sur les valeurs sérialisées.
 
void setWritableBytes (Span< Byte > bytes) override
 Positionne les valeurs de sérialisation.
 
void setConstBytes (Span< const Byte > bytes) override
 Positionne les valeurs de sérialisation pour la lecture.
 
void allocateMemory (Int64 size) override
 Alloue un tableaux pour contenir les éléments sérialisés.
 
void serialize (ISerializer *buffer) override
 Serialize en lecture ou écriture la donnée.
 
void serialize (ISerializer *buffer) const override
 
void computeHash (IHashAlgorithm *algo, ByteArray &output) const override
 Calcul une clé de hashage sur cette donnée.
 
- Fonctions membres publiques hérités de Arccore::ReferenceCounterImpl
void addReference ()
 
void removeReference ()
 
void _internalAddReference ()
 
bool _internalRemoveReference ()
 
- Fonctions membres publiques hérités de Arcane::ISerializedData
virtual ~ISerializedData ()=default
 Libère les ressources.
 
 ARCANE_DEPRECATED_2018_R ("Use method 'writableBytes()' or 'constBytes()' instead") virtual ByteConstArrayView buffer() const =0
 Valeurs sérialisées.
 
 ARCANE_DEPRECATED_2018_R ("Use method 'writableBytes()' or 'constBytes()' instead") virtual ByteArrayView buffer()=0
 Valeurs sérialisées.
 
 ARCCORE_DEPRECATED_2021 ("Use method 'writableBytes()' or 'constBytes()' instead") virtual Span< const Byte > bytes() const =0
 Valeurs sérialisées.
 
 ARCCORE_DEPRECATED_2021 ("Use method 'writableBytes()' or 'constBytes()' instead") virtual Span< Byte > bytes()=0
 Valeurs sérialisées.
 

Fonctions membres privées

 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS ()
 
void _serialize (ISerializer *sbuf) const
 
void _serializeRead (ISerializer *sbuf)
 
void _copyExtentsToDimensions ()
 

Attributs privés

eDataType m_base_data_type
 
Int64 m_memory_size
 
Integer m_nb_dimension
 
Int64 m_nb_element
 
Int64 m_nb_base_element
 
bool m_is_multi_size
 
UniqueArray< Int32 > m_dimensions
 
UniqueArray< Int64 > m_extents
 
Int64 m_element_size
 
Span< Bytem_buffer
 
Span< const Bytem_const_buffer
 
UniqueArray< Bytem_stored_buffer
 
ArrayShape m_shape
 

Description détaillée

Interface d'une donnée sérialisée.

Définition à la ligne 46 du fichier SerializedData.cc.

Documentation des constructeurs et destructeur

◆ SerializedData() [1/2]

Arcane::SerializedData::SerializedData ( )

Définition à la ligne 121 du fichier SerializedData.cc.

◆ SerializedData() [2/2]

Arcane::SerializedData::SerializedData ( eDataType  base_data_type,
Int64  memory_size,
Integer  nb_dimension,
Int64  nb_element,
Int64  nb_base_element,
bool  is_multi_size,
Int64ConstArrayView  extents,
const ArrayShape shape 
)

Définition à la ligne 136 du fichier SerializedData.cc.

Documentation des fonctions membres

◆ _copyExtentsToDimensions()

void Arcane::SerializedData::_copyExtentsToDimensions ( )
private

Définition à la ligne 167 du fichier SerializedData.cc.

◆ _serialize()

void Arcane::SerializedData::_serialize ( ISerializer sbuf) const
private
A faire:
ne pas utiliser le type DT_Byte pour la serialisation mais le vrai type de base: ce type peut etre utiliser avec MPI et dans ce cas, si les machines sont heterogenes, on perd l'information du type et le put peut ne pas correspondre.

Définition à la ligne 341 du fichier SerializedData.cc.

Références ARCANE_FATAL, ARCANE_THROW, Arcane::ArrayShape::dimensions(), Arcane::DT_Byte, Arcane::DT_Int32, Arcane::DT_Int64, Arccore::ISerializer::ModeGet, Arccore::ISerializer::ModePut, Arcane::ArrayShape::nbDimension(), Arccore::AbstractArray< T >::size(), et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::size().

Référencé par serialize(), et serialize().

◆ _serializeRead()

void Arcane::SerializedData::_serializeRead ( ISerializer sbuf)
private

Définition à la ligne 294 du fichier SerializedData.cc.

◆ allocateMemory()

void Arcane::SerializedData::allocateMemory ( Int64  size)
overridevirtual

Alloue un tableaux pour contenir les éléments sérialisés.

Après appel à cette méthode, il est possible de récupérer une vue sur les valeurs sérialisées via writableBytes() ou constBytes().

Implémente Arcane::ISerializedData.

Définition à la ligne 226 du fichier SerializedData.cc.

Références Arccore::Array< T >::view().

◆ baseDataType()

eDataType Arcane::SerializedData::baseDataType ( ) const
inlineoverridevirtual

Type de la donnée.

Implémente Arcane::ISerializedData.

Définition à la ligne 61 du fichier SerializedData.cc.

◆ buffer() [1/2]

ByteConstArrayView Arcane::SerializedData::buffer ( ) const
inlineoverride

Définition à la ligne 69 du fichier SerializedData.cc.

◆ buffer() [2/2]

ByteArrayView Arcane::SerializedData::buffer ( )
inlineoverride

Définition à la ligne 70 du fichier SerializedData.cc.

◆ bytes() [1/2]

Span< const Byte > Arcane::SerializedData::bytes ( ) const
inlineoverride

Définition à la ligne 71 du fichier SerializedData.cc.

◆ bytes() [2/2]

Span< Byte > Arcane::SerializedData::bytes ( )
inlineoverride

Définition à la ligne 73 du fichier SerializedData.cc.

◆ computeHash()

void Arcane::SerializedData::computeHash ( IHashAlgorithm algo,
ByteArray output 
) const
overridevirtual

Calcul une clé de hashage sur cette donnée.

La clé est ajoutée dans output. La longueur de la clé dépend de l'algorithme utilisé.

Implémente Arcane::ISerializedData.

Définition à la ligne 238 du fichier SerializedData.cc.

Références Arccore::Array< T >::data(), Arcane::CheckedConvert::multiply(), et Arccore::AbstractArray< T >::size().

◆ constBytes()

Span< const Byte > Arcane::SerializedData::constBytes ( ) const
inlineoverridevirtual

Valeurs sérialisées.

Implémente Arcane::ISerializedData.

Définition à la ligne 72 du fichier SerializedData.cc.

◆ extents()

Int64ConstArrayView Arcane::SerializedData::extents ( ) const
inlineoverridevirtual

Tableau contenant le nombre d'éléments pour chaque dimension.

Implémente Arcane::ISerializedData.

Définition à la ligne 66 du fichier SerializedData.cc.

◆ isMultiSize()

bool Arcane::SerializedData::isMultiSize ( ) const
inlineoverridevirtual

Indique s'il s'agit d'un tableau multi-taille. (pertinent uniquement si nbDimension()>1)

Implémente Arcane::ISerializedData.

Définition à la ligne 64 du fichier SerializedData.cc.

◆ memorySize()

Int64 Arcane::SerializedData::memorySize ( ) const
inlineoverridevirtual

Indique le nombre d'octets qu'il faut allouer pour stocker ou lire les données.

Implémente Arcane::ISerializedData.

Définition à la ligne 65 du fichier SerializedData.cc.

◆ nbBaseElement()

Int64 Arcane::SerializedData::nbBaseElement ( ) const
inlineoverridevirtual

Nombre d'éléments du type de base.

Implémente Arcane::ISerializedData.

Définition à la ligne 68 du fichier SerializedData.cc.

◆ nbDimension()

Integer Arcane::SerializedData::nbDimension ( ) const
inlineoverridevirtual

Dimension. 0 pour un scalaire, 1 pour un tableau mono-dim, ...

Implémente Arcane::ISerializedData.

Définition à la ligne 62 du fichier SerializedData.cc.

◆ nbElement()

Int64 Arcane::SerializedData::nbElement ( ) const
inlineoverridevirtual

Nombre d'éléments.

Implémente Arcane::ISerializedData.

Définition à la ligne 63 du fichier SerializedData.cc.

◆ serialize() [1/2]

void Arcane::SerializedData::serialize ( ISerializer sbuf) const
overridevirtual
A faire:
ne pas utiliser le type DT_Byte pour la serialisation mais le vrai type de base: ce type peut etre utiliser avec MPI et dans ce cas, si les machines sont heterogenes, on perd l'information du type et le put peut ne pas correspondre.

Implémente Arcane::ISerializedData.

Définition à la ligne 257 du fichier SerializedData.cc.

Références _serialize().

◆ serialize() [2/2]

void Arcane::SerializedData::serialize ( ISerializer buffer)
overridevirtual

Serialize en lecture ou écriture la donnée.

Implémente Arcane::ISerializedData.

Définition à la ligne 266 du fichier SerializedData.cc.

Références _serialize(), ARCANE_THROW, Arccore::ISerializer::ModeGet, Arccore::ISerializer::ModePut, Arccore::ISerializer::ReadAdd, et Arccore::ISerializer::ReadReplace.

◆ setBuffer() [1/2]

void Arcane::SerializedData::setBuffer ( ByteArrayView  buffer)
overridevirtual

Positionne les valeurs de sérialisation.

Le tableau buffer ne doit pas être modifié tant que cette instance est utilisée.

Obsolète:
Utiliser setBytes() à la place.

Implémente Arcane::ISerializedData.

Définition à la ligne 184 du fichier SerializedData.cc.

Références setBytes().

◆ setBuffer() [2/2]

void Arcane::SerializedData::setBuffer ( ByteConstArrayView  buffer)
overridevirtual

Positionne les valeurs de sérialisation.

Le tableau buffer ne doit pas être modifié tant que cette instance est utilisée.

Obsolète:
Utiliser setBytes() à la place.

Implémente Arcane::ISerializedData.

Définition à la ligne 193 du fichier SerializedData.cc.

Références setBytes().

◆ setBytes() [1/2]

void Arcane::SerializedData::setBytes ( Span< Byte bytes)
inlineoverridevirtual

Positionne les valeurs de sérialisation.

Le tableau bytes ne doit pas être modifié tant que cette instance est utilisée.

Implémente Arcane::ISerializedData.

Définition à la ligne 76 du fichier SerializedData.cc.

Références setWritableBytes().

Référencé par setBuffer(), et setBuffer().

◆ setBytes() [2/2]

void Arcane::SerializedData::setBytes ( Span< const Byte bytes)
inlineoverridevirtual

Positionne les valeurs de sérialisation.

Le tableau bytes ne doit pas être modifié tant que cette instance est utilisée.

Implémente Arcane::ISerializedData.

Définition à la ligne 77 du fichier SerializedData.cc.

Références setConstBytes().

◆ setConstBytes()

void Arcane::SerializedData::setConstBytes ( Span< const Byte bytes)
overridevirtual

Positionne les valeurs de sérialisation pour la lecture.

La vue bytes doit rester valide tant que cette instance est utilisée.

Implémente Arcane::ISerializedData.

Définition à la ligne 214 du fichier SerializedData.cc.

Références Arccore::Array< T >::clear().

Référencé par setBytes().

◆ setWritableBytes()

void Arcane::SerializedData::setWritableBytes ( Span< Byte bytes)
overridevirtual

Positionne les valeurs de sérialisation.

La vue bytes doit rester valide tant que cette instance est utilisée.

Implémente Arcane::ISerializedData.

Définition à la ligne 202 du fichier SerializedData.cc.

Références Arccore::Array< T >::clear().

Référencé par setBytes().

◆ shape()

ArrayShape Arcane::SerializedData::shape ( ) const
inlineoverridevirtual

Forme du tableau associé aux données.

Implémente Arcane::ISerializedData.

Définition à la ligne 67 du fichier SerializedData.cc.

◆ writableBytes()

Span< Byte > Arcane::SerializedData::writableBytes ( )
inlineoverridevirtual

Vue sur les valeurs sérialisées.

Avertissement
Cette méthode renvoie une vue non vide uniquement si on a appelé allocateMemory() ou setWritableBytes(Span<Byte>) avant.

Implémente Arcane::ISerializedData.

Définition à la ligne 78 du fichier SerializedData.cc.

Documentation des données membres

◆ m_base_data_type

eDataType Arcane::SerializedData::m_base_data_type
private

Définition à la ligne 94 du fichier SerializedData.cc.

◆ m_buffer

Span<Byte> Arcane::SerializedData::m_buffer
private

Définition à la ligne 106 du fichier SerializedData.cc.

◆ m_const_buffer

Span<const Byte> Arcane::SerializedData::m_const_buffer
private

Définition à la ligne 107 du fichier SerializedData.cc.

◆ m_dimensions

UniqueArray<Int32> Arcane::SerializedData::m_dimensions
private

Définition à la ligne 103 du fichier SerializedData.cc.

◆ m_element_size

Int64 Arcane::SerializedData::m_element_size
private

Définition à la ligne 105 du fichier SerializedData.cc.

◆ m_extents

UniqueArray<Int64> Arcane::SerializedData::m_extents
private

Définition à la ligne 104 du fichier SerializedData.cc.

◆ m_is_multi_size

bool Arcane::SerializedData::m_is_multi_size
private

Définition à la ligne 99 du fichier SerializedData.cc.

◆ m_memory_size

Int64 Arcane::SerializedData::m_memory_size
private

Définition à la ligne 95 du fichier SerializedData.cc.

◆ m_nb_base_element

Int64 Arcane::SerializedData::m_nb_base_element
private

Définition à la ligne 98 du fichier SerializedData.cc.

◆ m_nb_dimension

Integer Arcane::SerializedData::m_nb_dimension
private

Définition à la ligne 96 du fichier SerializedData.cc.

◆ m_nb_element

Int64 Arcane::SerializedData::m_nb_element
private

Définition à la ligne 97 du fichier SerializedData.cc.

◆ m_shape

ArrayShape Arcane::SerializedData::m_shape
private

Définition à la ligne 109 du fichier SerializedData.cc.

◆ m_stored_buffer

UniqueArray<Byte> Arcane::SerializedData::m_stored_buffer
private

Définition à la ligne 108 du fichier SerializedData.cc.


La documentation de cette classe a été générée à partir du fichier suivant :