16#include "arcane/utils/ArgumentException.h"
17#include "arcane/utils/NotSupportedException.h"
18#include "arcane/utils/TraceInfo.h"
19#include "arcane/utils/IHashAlgorithm.h"
20#include "arcane/utils/NotImplementedException.h"
21#include "arcane/utils/Array.h"
22#include "arcane/utils/ArrayShape.h"
24#include "arcane/core/datatype/DataAllocationInfo.h"
25#include "arcane/core/datatype/DataStorageTypeInfo.h"
26#include "arcane/core/datatype/DataStorageBuildInfo.h"
27#include "arcane/core/datatype/DataTypeTraits.h"
29#include "arcane/impl/SerializedData.h"
30#include "arcane/impl/DataStorageFactory.h"
32#include "arcane/core/ISerializer.h"
33#include "arcane/core/IDataVisitor.h"
35#include "arcane/core/internal/IDataInternal.h"
53 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS();
87 explicit StringScalarData(
const DataStorageBuildInfo& dsbi);
88 StringScalarData(
const StringScalarData& rhs)
90 , m_trace(rhs.m_trace)
92 , m_allocation_info(rhs.m_allocation_info)
98 Integer
multiTag()
const override {
return 0; }
136 visitor->applyDataVisitor(
this);
160: m_trace(
dsbi.traceMng())
168DataStorageTypeInfo StringScalarData::
169staticStorageTypeInfo()
171 eBasicDataType bdt = eBasicDataType::Byte;
172 Int32 nb_basic_type = 0;
175 return DataStorageTypeInfo(bdt,nb_basic_type,
dimension,multi_tag);
184 return staticStorageTypeInfo();
231 Int64 len =
sdata->nbBaseElement();
247 ARCANE_UNUSED(operation);
250 if (mode == ISerializer::ModeReserve) {
257 switch (
sbuf->readMode()) {
277 ARCANE_UNUSED(operation);
Tableau d'items de types quelconques.
Informations sur l'allocation d'une donnée.
Informations pour le calcul du hash d'une donnée.
Informations pour construire une instance de 'IData'.
static void registerDataFactory(IDataFactoryMng *dfm)
Enregistre dans dfm une fabrique pour la donnée DataType.
Informations de type pour un conteneur de données.
Interface du pattern visitor pour une donnée tableau 2D.
Interface du pattern visitor pour une donnée tableau.
Interface du gestionnaire de fabrique d'une donnée.
Interface d'une opération sur une donnée.
Interface du pattern visitor pour une donnée.
Interface d'un algorithme de hashage.
Interface d'une donnée scalaire d'un type T.
Interface du pattern visitor pour une donnée scalaire.
Interface d'une donnée sérialisée.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
void computeHash(DataHashInfo &hash_info) override
Calcule le hash de la donnée.
Donnée scalaire d'une chaîne de caractères unicode.
DataStorageTypeInfo storageTypeInfo() const override
Informations sur le type de conteneur de la donnée.
IDataInternal * _commonInternal() override
StringScalarData * cloneTrue() override
Clone la donnée.
DataAllocationInfo allocationInfo() const override
Informations sur l'allocation.
Ref< IData > cloneEmptyRef() override
Clone la donnée mais sans éléments.
void visitArray(IArrayDataVisitor *visitor) override
Applique le visiteur à la donnée.
eDataType dataType() const override
Type de la donnée.
DataType & value() override
Valeur de la donnée.
void resize(Integer) override
Redimensionne la donnée.
void serialize(ISerializer *sbuf, IDataOperation *operation) override
Sérialise la donnée en appliquant l'opération operation.
Ref< DataInterfaceType > cloneTrueRef() override
Clone la donnée.
Ref< ISerializedData > createSerializedDataRef(bool use_basic_type) const override
Sérialise la donnée.
void assignSerializedData(const ISerializedData *sdata) override
Assigne à la donnée les valeurs sérialisées sdata.
Integer multiTag() const override
Tag multiple. 0 si non multiple, 1 si multiple, 2 si multiple pour les variable MultiArray (obsolète)
void setAllocationInfo(const DataAllocationInfo &v) override
Positionne les informations sur l'allocation.
void visit(IScalarDataVisitor *visitor) override
Applique le visiteur à la donnée.
void allocateBufferForSerializedData(ISerializedData *sdata) override
Alloue la mémoire pour lire les valeurs sérialisées sdata.
void setShape(const ArrayShape &) override
Positionne la forme du tableau.
IData * cloneEmpty() override
Clone la donnée mais sans éléments. L'instance créée doit être détruite par l'opérateur 'delete'.
void visitScalar(IScalarDataVisitor *visitor) override
Applique le visiteur à la donnée.
IData * clone() override
Clone la donnée. L'instance créée doit être détruite par l'opérateur 'delete'.
void computeHash(IHashAlgorithm *algo, ByteArray &output) const override
Calcul une clé de hashage sur cette donnée.
ArrayShape shape() const override
Forme du tableau pour une donnée 1D ou 2D.
void visitArray2(IArray2DataVisitor *visitor) override
Applique le visiteur à la donnée.
void swapValues(IData *data) override
Échange les valeurs de data avec celles de l'instance.
Ref< IData > cloneRef() override
Clone la donnée.
void visit(IDataVisitor *visitor) override
Applique le visiteur à la donnée.
const DataType & value() const override
Valeur de la donnée.
Integer dimension() const override
Dimension. 0 pour un scalaire, 1 pour un tableau mono-dim, 2 pour un tableau bi-dim.
void fillDefault() override
Remplit la donnée avec sa valeur par défaut.
void copy(const IData *data) override
Copie la donnée data dans l'instance courante.
StringScalarData * cloneTrueEmpty() override
Clone la donnée mais sans éléments.
void setName(const String &name) override
Positionne le nom de la donnée (interne)
Ref< DataInterfaceType > cloneTrueEmptyRef() override
Clone la donnée mais sans éléments.
Exception lorsqu'un argument est invalide.
void add(ConstReferenceType val)
Ajoute l'élément val à la fin du tableau.
Vue constante d'un tableau de type T.
Interface d'un sérialiseur.
eMode
Mode de fonctionnement du sérialiseur.
@ ModePut
Le sérialiseur attend des reserve()
@ ModeGet
Le sérialiseur attend des get()
@ ReadAdd
Ajoute aux éléments actuels ceux lus.
@ ReadReplace
Replace les éléments actuels par ceux lus.
Interface du gestionnaire de traces.
Exception lorsqu'une opération n'est pas supportée.
Implémentation thread-safe d'un compteur de référence.
Chaîne de caractères unicode.
ByteConstArrayView utf8() const
Retourne la conversion de l'instance dans l'encodage UTF-8.
Span< const Byte > bytes() const
Retourne la conversion de l'instance dans l'encodage UTF-8.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- 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.
eDataType
Type d'une donnée.
@ DT_Byte
Donnée de type octet.