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

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

#include <arcane/core/ISerializedData.h>

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

Fonctions membres publiques

virtual ~ISerializedData ()=default
 Libère les ressources.
 
virtual eDataType baseDataType () const =0
 Type de la donnée.
 
virtual Integer nbDimension () const =0
 Dimension. 0 pour un scalaire, 1 pour un tableau mono-dim, ...
 
virtual Int64 nbElement () const =0
 Nombre d'éléments.
 
virtual Int64 nbBaseElement () const =0
 Nombre d'éléments du type de base.
 
virtual bool isMultiSize () const =0
 Indique s'il s'agit d'un tableau multi-taille. (pertinent uniquement si nbDimension()>1)
 
virtual Int64 memorySize () const =0
 Indique le nombre d'octets qu'il faut allouer pour stocker ou lire les données.
 
virtual Int64ConstArrayView extents () const =0
 Tableau contenant le nombre d'éléments pour chaque dimension.
 
virtual ArrayShape shape () const =0
 Forme du tableau associé aux données.
 
virtual Span< const ByteconstBytes () const =0
 Valeurs sérialisées.
 
virtual Span< BytewritableBytes ()=0
 Vue sur les valeurs sérialisées.
 
virtual void setWritableBytes (Span< Byte > bytes)=0
 Positionne les valeurs de sérialisation.
 
virtual void setConstBytes (Span< const Byte > bytes)=0
 Positionne les valeurs de sérialisation pour la lecture.
 
virtual void allocateMemory (Int64 size)=0
 Alloue un tableaux pour contenir les éléments sérialisés.
 
virtual void serialize (ISerializer *buffer)=0
 Serialize en lecture ou écriture la donnée.
 
virtual void serialize (ISerializer *buffer) const =0
 Serialize en lecture la donnée.
 
virtual void computeHash (IHashAlgorithm *algo, ByteArray &output) const =0
 Calcul une clé de hashage sur cette donnée.
 
 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.
 
virtual Span< const Bytebytes () const =0
 Valeurs sérialisées.
 
virtual void setBuffer (ByteArrayView buffer)=0
 Positionne les valeurs de sérialisation.
 
virtual void setBuffer (ByteConstArrayView buffer)=0
 Positionne les valeurs de sérialisation.
 
virtual void setBytes (Span< Byte > bytes)=0
 Positionne les valeurs de sérialisation.
 
virtual void setBytes (Span< const Byte > bytes)=0
 Positionne les valeurs de sérialisation.
 
virtual Span< Bytebytes ()=0
 Valeurs sérialisées.
 

Fonctions membres privées

 ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS ()
 

Description détaillée

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

Une donnée (IData) est sérialisée en une instance de cette classe.

Quel que soit le type de la donnée, le type sérialisé est obligatoirement un type de base parmi les suivants: DT_Byte, DT_Int16, DT_Int32, DT_Int64, DT_Real.

Une instance de cette classe n'est valable que tant que la donnée de référence n'est pas modifiée.

Pour sérialiser une donnée data en écriture:

IData* data = ...;
ISerializedData* sdata = data->createSerializedData();
// sdata->constBytes() contient la donnée sérialisée.
std::cout.write(reinterpret_cast<const char*>(buf.data()),buf.size());
Interface d'une donnée.
Definition IData.h:33
Interface d'une donnée sérialisée.
virtual Span< const Byte > constBytes() const =0
Valeurs sérialisées.
Vue d'un tableau d'éléments de type T.
Definition Span.h:513

Pour sérialiser une donnée data en lecture:

IData* data = ...
// Créé une instance d'un ISerializedData.
// Remplit sdata->writableBytes() à partir de votre source
Span<Byte> buf(sdata->writableBytes());
std::cin.read(reinterpret_cast<char*>(buf.data()),buf.size());
// Assigne la valeur à \a data
data->assignSerializedData(sdata);
virtual void allocateBufferForSerializedData(ISerializedData *sdata)=0
Alloue la mémoire pour lire les valeurs sérialisées sdata.
virtual void assignSerializedData(const ISerializedData *sdata)=0
Assigne à la donnée les valeurs sérialisées sdata.
virtual Span< Byte > writableBytes()=0
Vue sur les valeurs sérialisées.
Ref< ISerializedData > arcaneCreateSerializedDataRef(eDataType data_type, Int64 memory_size, Integer nb_dim, Int64 nb_element, Int64 nb_base_element, bool is_multi_size, Int64ConstArrayView dimensions)
Créé des données sérialisées.

Définition à la ligne 61 du fichier ISerializedData.h.

Documentation des fonctions membres

◆ allocateMemory()

virtual void Arcane::ISerializedData::allocateMemory ( Int64 size)
pure virtual

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émenté dans Arcane::SerializedData.

Référencé par Arcane::StringArrayData::allocateBufferForSerializedData(), et Arcane::StringScalarData::allocateBufferForSerializedData().

+ Voici le graphe des appelants de cette fonction :

◆ ARCANE_DEPRECATED_2018_R() [1/2]

Arcane::ISerializedData::ARCANE_DEPRECATED_2018_R ( "Use method 'writableBytes()' or 'constBytes()' instead" )
pure virtual

Valeurs sérialisées.

Obsolète
Utiliser bytes() à la place.

Références ARCANE_DEPRECATED_2018_R().

+ Voici le graphe d'appel pour cette fonction :

◆ ARCANE_DEPRECATED_2018_R() [2/2]

Arcane::ISerializedData::ARCANE_DEPRECATED_2018_R ( "Use method 'writableBytes()' or 'constBytes()' instead" ) const
pure virtual

Valeurs sérialisées.

Obsolète
Utiliser bytes() à la place.

Référencé par ARCANE_DEPRECATED_2018_R().

+ Voici le graphe des appelants de cette fonction :

◆ baseDataType()

◆ bytes() [1/2]

virtual Span< const Byte > Arcane::ISerializedData::bytes ( ) const
pure virtual

Valeurs sérialisées.

Implémenté dans Arcane::SerializedData.

Références bytes().

Référencé par bytes(), bytes(), setBytes(), setBytes(), setConstBytes(), et setWritableBytes().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ bytes() [2/2]

virtual Span< Byte > Arcane::ISerializedData::bytes ( )
pure virtual

Valeurs sérialisées.

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

Implémenté dans Arcane::SerializedData.

Références Arcane::arcaneCreateEmptySerializedDataRef(), Arcane::arcaneCreateSerializedDataRef(), bytes(), et shape().

+ Voici le graphe d'appel pour cette fonction :

◆ computeHash()

virtual void Arcane::ISerializedData::computeHash ( IHashAlgorithm * algo,
ByteArray & output ) const
pure virtual

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émenté dans Arcane::SerializedData.

◆ constBytes()

virtual Span< const Byte > Arcane::ISerializedData::constBytes ( ) const
pure virtual

Valeurs sérialisées.

Implémenté dans Arcane::SerializedData.

Référencé par Arcane::StringArrayData::assignSerializedData(), Arcane::StringScalarData::assignSerializedData(), et Arcane::impl::BasicGenericWriter::writeData().

+ Voici le graphe des appelants de cette fonction :

◆ extents()

virtual Int64ConstArrayView Arcane::ISerializedData::extents ( ) const
pure virtual

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

Implémenté dans Arcane::SerializedData.

Référencé par Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::NumArrayDataT< DataType, RankValue >::allocateBufferForSerializedData(), Arcane::StringArrayData::assignSerializedData(), et Arcane::impl::BasicGenericWriter::writeData().

+ Voici le graphe des appelants de cette fonction :

◆ isMultiSize()

virtual bool Arcane::ISerializedData::isMultiSize ( ) const
pure virtual

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

Implémenté dans Arcane::SerializedData.

Référencé par Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::NumArrayDataT< DataType, RankValue >::allocateBufferForSerializedData(), et Arcane::impl::BasicGenericWriter::writeData().

+ Voici le graphe des appelants de cette fonction :

◆ memorySize()

virtual Int64 Arcane::ISerializedData::memorySize ( ) const
pure virtual

◆ nbBaseElement()

virtual Int64 Arcane::ISerializedData::nbBaseElement ( ) const
pure virtual

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

Implémenté dans Arcane::SerializedData.

Référencé par Arcane::StringScalarData::assignSerializedData(), et Arcane::impl::BasicGenericWriter::writeData().

+ Voici le graphe des appelants de cette fonction :

◆ nbDimension()

virtual Integer Arcane::ISerializedData::nbDimension ( ) const
pure virtual

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

Implémenté dans Arcane::SerializedData.

Référencé par Arcane::impl::BasicGenericWriter::writeData().

+ Voici le graphe des appelants de cette fonction :

◆ nbElement()

virtual Int64 Arcane::ISerializedData::nbElement ( ) const
pure virtual

Nombre d'éléments.

Implémenté dans Arcane::SerializedData.

Référencé par Arcane::ArrayDataT< DataType >::allocateBufferForSerializedData(), et Arcane::impl::BasicGenericWriter::writeData().

+ Voici le graphe des appelants de cette fonction :

◆ serialize() [1/2]

virtual void Arcane::ISerializedData::serialize ( ISerializer * buffer) const
pure virtual

Serialize en lecture la donnée.

Implémenté dans Arcane::SerializedData.

◆ serialize() [2/2]

virtual void Arcane::ISerializedData::serialize ( ISerializer * buffer)
pure virtual

Serialize en lecture ou écriture la donnée.

Implémenté dans Arcane::SerializedData.

Référencé par Arcane::Hdf5ReaderWriter::_writeValParallel().

+ Voici le graphe des appelants de cette fonction :

◆ setBuffer() [1/2]

virtual void Arcane::ISerializedData::setBuffer ( ByteArrayView buffer)
pure virtual

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émenté dans Arcane::SerializedData.

Références setBuffer().

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

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ setBuffer() [2/2]

virtual void Arcane::ISerializedData::setBuffer ( ByteConstArrayView buffer)
pure virtual

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émenté dans Arcane::SerializedData.

Références setBuffer().

+ Voici le graphe d'appel pour cette fonction :

◆ setBytes() [1/2]

virtual void Arcane::ISerializedData::setBytes ( Span< Byte > bytes)
pure virtual

Positionne les valeurs de sérialisation.

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

Implémenté dans Arcane::SerializedData, et Arcane::SerializedData.

Références bytes(), et setBytes().

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

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ setBytes() [2/2]

virtual void Arcane::ISerializedData::setBytes ( Span< const Byte > bytes)
pure virtual

Positionne les valeurs de sérialisation.

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

Implémenté dans Arcane::SerializedData, et Arcane::SerializedData.

Références bytes(), et setBytes().

+ Voici le graphe d'appel pour cette fonction :

◆ setConstBytes()

virtual void Arcane::ISerializedData::setConstBytes ( Span< const Byte > bytes)
pure virtual

Positionne les valeurs de sérialisation pour la lecture.

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

Implémenté dans Arcane::SerializedData.

Références bytes().

+ Voici le graphe d'appel pour cette fonction :

◆ setWritableBytes()

virtual void Arcane::ISerializedData::setWritableBytes ( Span< Byte > bytes)
pure virtual

Positionne les valeurs de sérialisation.

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

Implémenté dans Arcane::SerializedData.

Références bytes().

Référencé par Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::ArrayDataT< DataType >::allocateBufferForSerializedData(), Arcane::NumArrayDataT< DataType, RankValue >::allocateBufferForSerializedData(), et Arcane::ScalarDataT< DataType >::allocateBufferForSerializedData().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ shape()

virtual ArrayShape Arcane::ISerializedData::shape ( ) const
pure virtual

Forme du tableau associé aux données.

Implémenté dans Arcane::SerializedData.

Référencé par Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::ArrayDataT< DataType >::allocateBufferForSerializedData(), et bytes().

+ Voici le graphe des appelants de cette fonction :

◆ writableBytes()

virtual Span< Byte > Arcane::ISerializedData::writableBytes ( )
pure virtual

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émenté dans Arcane::SerializedData.


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