12#ifndef ARCANE_ISERIALIZEDDATA_H
13#define ARCANE_ISERIALIZEDDATA_H
17#include "arcane/ArcaneTypes.h"
168 ARCCORE_DEPRECATED_2021(
"Use method 'writableBytes()' or 'constBytes()' instead")
178 ARCCORE_DEPRECATED_2021(
"Use method 'setWritableBytes()' instead")
188 ARCCORE_DEPRECATED_2021(
"Use method 'setConstBytes()' instead")
197 ARCCORE_DEPRECATED_2021(
"Use method 'setWritableBytes()' instead")
206 ARCCORE_DEPRECATED_2021(
"Use method 'setConstBytes()' instead")
215 ARCCORE_DEPRECATED_2021(
"Use method 'writableBytes()' or 'constBytes()' instead")
230extern
"C++" ARCANE_CORE_EXPORT
247extern
"C++" ARCANE_CORE_EXPORT
262extern
"C++" ARCANE_CORE_EXPORT
#define ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro pour déclarer les méthodes virtuelles gérant les compteurs de référence.
Interface d'un algorithme de hashage.
virtual eDataType baseDataType() const =0
Type de la donnée.
virtual ArrayShape shape() const =0
Forme du tableau associé aux données.
virtual Integer nbDimension() const =0
Dimension. 0 pour un scalaire, 1 pour un tableau mono-dim, ...
virtual Int64 memorySize() const =0
Indique le nombre d'octets qu'il faut allouer pour stocker ou lire les données.
virtual void allocateMemory(Int64 size)=0
Alloue un tableaux pour contenir les éléments sérialisés.
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 serialize(ISerializer *buffer) const =0
Serialize en lecture la donnée.
virtual void serialize(ISerializer *buffer)=0
Serialize en lecture ou écriture la donnée.
ARCANE_DEPRECATED_2018_R("Use method 'writableBytes()' or 'constBytes()' instead") virtual ByteConstArrayView buffer() const =0
Valeurs sérialisées.
virtual void computeHash(IHashAlgorithm *algo, ByteArray &output) const =0
Calcul une clé de hashage sur cette donnée.
virtual Span< Byte > writableBytes()=0
Vue sur les valeurs sérialisées.
virtual ~ISerializedData()=default
Libère les ressources.
virtual Span< const Byte > bytes() const =0
Valeurs sérialisées.
virtual Int64 nbBaseElement() const =0
Nombre d'éléments du type de base.
virtual Int64ConstArrayView extents() const =0
Tableau contenant le nombre d'éléments pour chaque dimension.
virtual Int64 nbElement() const =0
Nombre d'éléments.
virtual void setBytes(Span< Byte > bytes)=0
Positionne les valeurs de sérialisation.
virtual void setBuffer(ByteArrayView buffer)=0
Positionne les valeurs de sérialisation.
virtual Span< const Byte > constBytes() const =0
Valeurs sérialisées.
virtual bool isMultiSize() const =0
Indique s'il s'agit d'un tableau multi-taille. (pertinent uniquement si nbDimension()>1)
Interface d'un sérialiseur.
Référence à une instance.
Vue d'un tableau d'éléments de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
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.
ArrayView< Byte > ByteArrayView
Equivalent C d'un tableau à une dimension de caractères.
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
Array< Byte > ByteArray
Tableau dynamique à une dimension de caractères.
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Ref< ISerializedData > arcaneCreateEmptySerializedDataRef()
Créé des données sérialisées.
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
unsigned char Byte
Type d'un octet.
eDataType
Type d'une donnée.