Interface d'une donnée sérialisée. Plus de détails...
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 Byte > | bytes () const override |
Span< const Byte > | constBytes () const override |
Valeurs sérialisées. | |
Span< Byte > | bytes () 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< Byte > | writableBytes () 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< Byte > | m_buffer |
Span< const Byte > | m_const_buffer |
UniqueArray< Byte > | m_stored_buffer |
ArrayShape | m_shape |
Interface d'une donnée sérialisée.
Définition à la ligne 46 du fichier SerializedData.cc.
Arcane::SerializedData::SerializedData | ( | ) |
Définition à la ligne 121 du fichier SerializedData.cc.
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.
|
private |
Définition à la ligne 167 du fichier SerializedData.cc.
|
private |
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().
|
private |
Définition à la ligne 294 du fichier SerializedData.cc.
|
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().
|
inlineoverridevirtual |
Type de la donnée.
Implémente Arcane::ISerializedData.
Définition à la ligne 61 du fichier SerializedData.cc.
|
inlineoverride |
Définition à la ligne 69 du fichier SerializedData.cc.
|
inlineoverride |
Définition à la ligne 70 du fichier SerializedData.cc.
Définition à la ligne 71 du fichier SerializedData.cc.
Définition à la ligne 73 du fichier SerializedData.cc.
|
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().
Valeurs sérialisées.
Implémente Arcane::ISerializedData.
Définition à la ligne 72 du fichier SerializedData.cc.
|
inlineoverridevirtual |
Tableau contenant le nombre d'éléments pour chaque dimension.
Implémente Arcane::ISerializedData.
Définition à la ligne 66 du fichier SerializedData.cc.
|
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.
|
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.
|
inlineoverridevirtual |
Nombre d'éléments du type de base.
Implémente Arcane::ISerializedData.
Définition à la ligne 68 du fichier SerializedData.cc.
|
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.
|
inlineoverridevirtual |
Nombre d'éléments.
Implémente Arcane::ISerializedData.
Définition à la ligne 63 du fichier SerializedData.cc.
|
overridevirtual |
Implémente Arcane::ISerializedData.
Définition à la ligne 257 du fichier SerializedData.cc.
Références _serialize().
|
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.
|
overridevirtual |
Positionne les valeurs de sérialisation.
Le tableau buffer ne doit pas être modifié tant que cette instance est utilisée.
Implémente Arcane::ISerializedData.
Définition à la ligne 184 du fichier SerializedData.cc.
Références setBytes().
|
overridevirtual |
Positionne les valeurs de sérialisation.
Le tableau buffer ne doit pas être modifié tant que cette instance est utilisée.
Implémente Arcane::ISerializedData.
Définition à la ligne 193 du fichier SerializedData.cc.
Références setBytes().
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().
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().
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().
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().
|
inlineoverridevirtual |
Forme du tableau associé aux données.
Implémente Arcane::ISerializedData.
Définition à la ligne 67 du fichier SerializedData.cc.
Vue sur les valeurs sérialisées.
Implémente Arcane::ISerializedData.
Définition à la ligne 78 du fichier SerializedData.cc.
|
private |
Définition à la ligne 94 du fichier SerializedData.cc.
Définition à la ligne 106 du fichier SerializedData.cc.
Définition à la ligne 107 du fichier SerializedData.cc.
|
private |
Définition à la ligne 103 du fichier SerializedData.cc.
|
private |
Définition à la ligne 105 du fichier SerializedData.cc.
|
private |
Définition à la ligne 104 du fichier SerializedData.cc.
|
private |
Définition à la ligne 99 du fichier SerializedData.cc.
|
private |
Définition à la ligne 95 du fichier SerializedData.cc.
|
private |
Définition à la ligne 98 du fichier SerializedData.cc.
|
private |
Définition à la ligne 96 du fichier SerializedData.cc.
|
private |
Définition à la ligne 97 du fichier SerializedData.cc.
|
private |
Définition à la ligne 109 du fichier SerializedData.cc.
|
private |
Définition à la ligne 108 du fichier SerializedData.cc.