12#ifndef ARCANE_ISERIALIZEDDATA_H
13#define ARCANE_ISERIALIZEDDATA_H
17#include "arcane/ArcaneTypes.h"
230extern "C++" ARCANE_CORE_EXPORT
247extern "C++" ARCANE_CORE_EXPORT
262extern "C++" ARCANE_CORE_EXPORT
264arcaneCreateEmptySerializedDataRef();
#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 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 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)
Vue modifiable d'un tableau d'un type T.
Classe de base des vecteurs 1D de données.
Vue constante d'un tableau de type T.
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 -*-
eDataType
Type d'une donnée.