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

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

#include <arcane/core/IData.h>

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

Fonctions membres publiques

virtual eDataType dataType () const =0
 Type de la donnée.
 
virtual Integer dimension () const =0
 Dimension. 0 pour un scalaire, 1 pour un tableau mono-dim, 2 pour un tableau bi-dim.
 
virtual Integer multiTag () const =0
 Tag multiple. 0 si non multiple, 1 si multiple, 2 si multiple pour les variable MultiArray (obsolète)
 
virtual IDataclone ()=0
 Clone la donnée. L'instance créée doit être détruite par l'opérateur 'delete'.
 
virtual IDatacloneEmpty ()=0
 Clone la donnée mais sans éléments. L'instance créée doit être détruite par l'opérateur 'delete'.
 
virtual Ref< IDatacloneRef ()=0
 Clone la donnée.
 
virtual Ref< IDatacloneEmptyRef ()=0
 Clone la donnée mais sans éléments.
 
virtual DataStorageTypeInfo storageTypeInfo () const =0
 Informations sur le type de conteneur de la donnée.
 
virtual void serialize (ISerializer *sbuf, IDataOperation *operation)=0
 Sérialise la donnée en appliquant l'opération operation.
 
virtual void resize (Integer new_size)=0
 Redimensionne la donnée.
 
virtual void serialize (ISerializer *sbuf, Int32ConstArrayView ids, IDataOperation *operation)=0
 Serialise la donnée pour les indices ids.
 
virtual void fillDefault ()=0
 Remplit la donnée avec sa valeur par défaut.
 
virtual void setName (const String &name)=0
 Positionne le nom de la donnée (interne)
 
virtual Ref< ISerializedDatacreateSerializedDataRef (bool use_basic_type) const =0
 Sérialise la donnée.
 
virtual void assignSerializedData (const ISerializedData *sdata)=0
 Assigne à la donnée les valeurs sérialisées sdata.
 
virtual void allocateBufferForSerializedData (ISerializedData *sdata)=0
 Alloue la mémoire pour lire les valeurs sérialisées sdata.
 
virtual void copy (const IData *data)=0
 Copie la donnée data dans l'instance courante.
 
virtual void swapValues (IData *data)=0
 Échange les valeurs de data avec celles de l'instance.
 
virtual void computeHash (IHashAlgorithm *algo, ByteArray &output) const =0
 Calcul une clé de hashage sur cette donnée.
 
virtual ArrayShape shape () const =0
 Forme du tableau pour une donnée 1D ou 2D.
 
virtual void setShape (const ArrayShape &new_shape)=0
 Positionne la forme du tableau.
 
virtual void setAllocationInfo (const DataAllocationInfo &v)=0
 Positionne les informations sur l'allocation.
 
virtual DataAllocationInfo allocationInfo () const =0
 Informations sur l'allocation.
 
virtual void visit (IDataVisitor *visitor)=0
 Applique le visiteur à la donnée.
 
virtual void visitScalar (IScalarDataVisitor *visitor)=0
 Applique le visiteur à la donnée.
 
virtual void visitArray (IArrayDataVisitor *visitor)=0
 Applique le visiteur à la donnée.
 
virtual void visitArray2 (IArray2DataVisitor *visitor)=0
 Applique le visiteur à la donnée.
 
virtual void visitMultiArray2 (IMultiArray2DataVisitor *visitor)
 Applique le visiteur à la donnée.
 
virtual IDataInternal_commonInternal ()=0
 

Fonctions membres privées

 ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS ()
 

Description détaillée

Interface d'une donnée.

Cette classe gère la mémoire associée à une variable.

Définition à la ligne 32 du fichier IData.h.

Documentation des fonctions membres

◆ _commonInternal()

virtual IDataInternal * Arcane::IData::_commonInternal ( )
pure virtual

◆ allocateBufferForSerializedData()

virtual void Arcane::IData::allocateBufferForSerializedData ( ISerializedData * sdata)
pure virtual

Alloue la mémoire pour lire les valeurs sérialisées sdata.

Cette méthode positionne sdata->setBuffer() qui contiendra la mémoire nécessaire pour lire les données sérialisées.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références allocateBufferForSerializedData().

Référencé par allocateBufferForSerializedData().

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

◆ allocationInfo()

virtual DataAllocationInfo Arcane::IData::allocationInfo ( ) const
pure virtual

Informations sur l'allocation.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références allocationInfo().

Référencé par allocationInfo(), et Arcane::Variable::allocationInfo().

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

◆ assignSerializedData()

virtual void Arcane::IData::assignSerializedData ( const ISerializedData * sdata)
pure virtual

Assigne à la donnée les valeurs sérialisées sdata.

Le tampon contenant les valeurs de sérialisation doit avoir être alloué par appel à allocateBufferForSerializedData().

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références assignSerializedData().

Référencé par assignSerializedData().

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

◆ clone()

virtual IData * Arcane::IData::clone ( )
pure virtual

Clone la donnée. L'instance créée doit être détruite par l'opérateur 'delete'.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références clone().

Référencé par clone().

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

◆ cloneEmpty()

virtual IData * Arcane::IData::cloneEmpty ( )
pure virtual

Clone la donnée mais sans éléments. L'instance créée doit être détruite par l'opérateur 'delete'.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références cloneEmpty().

Référencé par cloneEmpty().

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

◆ cloneEmptyRef()

virtual Ref< IData > Arcane::IData::cloneEmptyRef ( )
pure virtual

Clone la donnée mais sans éléments.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références cloneEmptyRef().

Référencé par cloneEmptyRef().

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

◆ cloneRef()

virtual Ref< IData > Arcane::IData::cloneRef ( )
pure virtual

Clone la donnée.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références cloneRef().

Référencé par cloneRef(), et Arcane::MemoryDataReaderWriter::write().

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

◆ computeHash()

virtual void Arcane::IData::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::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références computeHash().

Référencé par Arcane::VariableIOReaderMng::_checkHashFunction(), et computeHash().

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

◆ copy()

virtual void Arcane::IData::copy ( const IData * data)
pure virtual

Copie la donnée data dans l'instance courante.

La donnée data doit être du même type que l'instance.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références copy().

Référencé par copy(), et Arcane::MemoryDataReaderWriter::read().

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

◆ createSerializedDataRef()

virtual Ref< ISerializedData > Arcane::IData::createSerializedDataRef ( bool use_basic_type) const
pure virtual

Sérialise la donnée.

Pour des raisons de performances, l'instance retournée peut faire directement référence à la zone mémoire de cette donnée. Par conséquent, elle n'est valide que tant que cette donnée n'est pas modifiée. Si on souhaite modifier cette instance, il faut d'abord la cloner (via IData::cloneRef()) puis sérialiser la donnée clonée.

Si use_basic_type est vrai, la donnée est sérialisée pour un type de base, à savoir DT_Byte, DT_Int16, DT_Int32, DT_Int64 ou DT_Real. Sinon, le type peut être un POD, à savoir DT_Byte, DT_Int16, DT_Int32, DT_Int64, DT_Real, DT_Real2, DT_Real3, DT_Real2x2, DT_Real3x3.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références createSerializedDataRef().

Référencé par Arcane::VariableIOReaderMng::_checkHashFunction(), et createSerializedDataRef().

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

◆ dataType()

◆ dimension()

virtual Integer Arcane::IData::dimension ( ) const
pure virtual

◆ fillDefault()

virtual void Arcane::IData::fillDefault ( )
pure virtual

Remplit la donnée avec sa valeur par défaut.

Implémenté dans Arcane::Array2DataT< DataType >, Arcane::Array2DataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références fillDefault().

Référencé par fillDefault().

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

◆ multiTag()

virtual Integer Arcane::IData::multiTag ( ) const
pure virtual

◆ resize()

virtual void Arcane::IData::resize ( Integer new_size)
pure virtual

Redimensionne la donnée.

Cette opération n'a de sens que pour les données de dimension 1 ou plus. Si le nouveau nombre d'éléments est supérieur à l'ancien, les valeurs ajoutées à la donnée ne sont pas initialisées.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références resize().

Référencé par resize().

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

◆ serialize() [1/2]

virtual void Arcane::IData::serialize ( ISerializer * sbuf,
IDataOperation * operation )
pure virtual

Sérialise la donnée en appliquant l'opération operation.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références serialize().

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

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

◆ serialize() [2/2]

virtual void Arcane::IData::serialize ( ISerializer * sbuf,
Int32ConstArrayView ids,
IDataOperation * operation )
pure virtual

Serialise la donnée pour les indices ids.

Cette opération n'a de sens que pour les données de dimension 1 ou plus.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références serialize().

+ Voici le graphe d'appel pour cette fonction :

◆ setAllocationInfo()

virtual void Arcane::IData::setAllocationInfo ( const DataAllocationInfo & v)
pure virtual

Positionne les informations sur l'allocation.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références setAllocationInfo().

Référencé par setAllocationInfo(), et Arcane::Variable::setAllocationInfo().

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

◆ setName()

virtual void Arcane::IData::setName ( const String & name)
pure virtual

Positionne le nom de la donnée (interne)

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références setName().

Référencé par setName().

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

◆ setShape()

virtual void Arcane::IData::setShape ( const ArrayShape & new_shape)
pure virtual

Positionne la forme du tableau.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références setShape().

Référencé par setShape().

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

◆ shape()

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

Forme du tableau pour une donnée 1D ou 2D.

La forme n'est prise en compte que pour les dimensions supérieures à 1. Pour une donnée 1D, la forme est donc par défaut {1}. Pour un tableau 2D, la forme vaut par défaut {dim2_size}. Il est possible de changer le rang de la forme et ses valeurs tant que shape().totalNbElement()==dim2_size. Par exemple si le nombre de valeurs dim2_size vaut 12, alors il est possible d'avoir { 12 }, { 6, 2 } ou { 3, 2, 2 } comme forme.

Les valeurs ne sont pas conservés lors d'une reprise et il faut donc repositionner la forme dans ce cas. C'est à l'utilisateur de s'assurer que la forme est homogène entre les sous-domaines.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références shape().

Référencé par shape().

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

◆ storageTypeInfo()

virtual DataStorageTypeInfo Arcane::IData::storageTypeInfo ( ) const
pure virtual

Informations sur le type de conteneur de la donnée.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références storageTypeInfo().

Référencé par storageTypeInfo().

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

◆ swapValues()

virtual void Arcane::IData::swapValues ( IData * data)
pure virtual

Échange les valeurs de data avec celles de l'instance.

La donnée IData doit être du même type que l'instance. Seules les valeurs sont échangés et les autres propriétés éventuelles (telles que le nom par exemple) ne sont pas modifiées.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références swapValues().

Référencé par swapValues().

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

◆ visit()

virtual void Arcane::IData::visit ( IDataVisitor * visitor)
pure virtual

Applique le visiteur à la donnée.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::IArrayData, Arcane::IScalarData, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références visit().

Référencé par visit(), et Arcane::DumpW::write().

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

◆ visitArray()

virtual void Arcane::IData::visitArray ( IArrayDataVisitor * visitor)
pure virtual

Applique le visiteur à la donnée.

Si la donnée n'est pas un tableau 1D, une exception NotSupportedException est lancée.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références visitArray().

Référencé par visitArray().

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

◆ visitArray2()

virtual void Arcane::IData::visitArray2 ( IArray2DataVisitor * visitor)
pure virtual

Applique le visiteur à la donnée.

Si la donnée n'est pas un tableau 2D, une exception NotSupportedException est lancée.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références visitArray2(), et visitMultiArray2().

Référencé par visitArray2().

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

◆ visitMultiArray2()

void Arcane::IData::visitMultiArray2 ( IMultiArray2DataVisitor * visitor)
virtual

Applique le visiteur à la donnée.

Si la donnée n'est pas un tableau 2D, une exception NotSupportedException est lancée.

Obsolète
Ce visiteur est obsolète car il n'y a pas plus d'implémentation de IMultiArray2.

Définition à la ligne 55 du fichier core/Data.cc.

Références ARCANE_THROW.

Référencé par visitArray2().

+ Voici le graphe des appelants de cette fonction :

◆ visitScalar()

virtual void Arcane::IData::visitScalar ( IScalarDataVisitor * visitor)
pure virtual

Applique le visiteur à la donnée.

Si la donnée n'est pas scalaire, une exception NotSupportedException est lancée.

Implémenté dans Arcane::Array2DataT< DataType >::Impl, Arcane::Array2DataT< DataType >, Arcane::ArrayDataT< DataType >::Impl, Arcane::ArrayDataT< DataType >, Arcane::NumArrayDataT< DataType, RankValue >, Arcane::ScalarDataT< DataType >, Arcane::StringArrayData, et Arcane::StringScalarData.

Références visitScalar().

Référencé par visitScalar().

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

La documentation de cette classe a été générée à partir des fichiers suivants :