Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::ScalarDataT< DataType >

Donnée scalaire d'un type T. Plus de détails...

+ Graphe d'héritage de Arcane::ScalarDataT< DataType >:
+ Graphe de collaboration de Arcane::ScalarDataT< DataType >:

Classes

class  Internal
 

Types publics

typedef ScalarDataT< DataType > ThatClass
 
typedef IScalarDataT< DataType > DataInterfaceType
 
- Types publics hérités de Arcane::IScalarDataT< DataType >
typedef IScalarDataT< DataType > ThatClass
 

Fonctions membres publiques

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

Fonctions membres publiques statiques

static DataStorageTypeInfo staticStorageTypeInfo ()
 

Fonctions membres privées

 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS ()
 
DataInterfaceType_cloneTrue () const
 
DataInterfaceType_cloneTrueEmpty () const
 

Attributs privés

DataType m_value
 Donnée.
 
ITraceMngm_trace
 
Internal m_internal
 
DataAllocationInfo m_allocation_info
 

Description détaillée

template<class DataType>
class Arcane::ScalarDataT< DataType >

Donnée scalaire d'un type T.

Définition à la ligne 58 du fichier ScalarData.cc.

Documentation des définitions de type membres

◆ DataInterfaceType

template<class DataType >
typedef IScalarDataT<DataType> Arcane::ScalarDataT< DataType >::DataInterfaceType

Définition à la ligne 67 du fichier ScalarData.cc.

◆ ThatClass

template<class DataType >
typedef ScalarDataT<DataType> Arcane::ScalarDataT< DataType >::ThatClass

Définition à la ligne 66 du fichier ScalarData.cc.

Documentation des constructeurs et destructeur

◆ ScalarDataT() [1/3]

template<class DataType >
Arcane::ScalarDataT< DataType >::ScalarDataT ( ITraceMng trace)
inlineexplicit

Définition à la ligne 92 du fichier ScalarData.cc.

◆ ScalarDataT() [2/3]

template<typename DataType >
Arcane::ScalarDataT< DataType >::ScalarDataT ( const DataStorageBuildInfo dsbi)
explicit

Définition à la ligne 171 du fichier ScalarData.cc.

◆ ScalarDataT() [3/3]

template<class DataType >
Arcane::ScalarDataT< DataType >::ScalarDataT ( const ScalarDataT< DataType > &  rhs)
inline

Définition à la ligne 98 du fichier ScalarData.cc.

Documentation des fonctions membres

◆ _cloneTrue()

template<class DataType >
DataInterfaceType * Arcane::ScalarDataT< DataType >::_cloneTrue ( ) const
inlineprivate

Définition à la ligne 164 du fichier ScalarData.cc.

◆ _cloneTrueEmpty()

template<class DataType >
DataInterfaceType * Arcane::ScalarDataT< DataType >::_cloneTrueEmpty ( ) const
inlineprivate

Définition à la ligne 165 du fichier ScalarData.cc.

◆ _commonInternal()

template<class DataType >
IDataInternal * Arcane::ScalarDataT< DataType >::_commonInternal ( )
inlineoverridevirtual

Implémente Arcane::IData.

Définition à la ligne 149 du fichier ScalarData.cc.

◆ allocateBufferForSerializedData()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::allocateBufferForSerializedData ( ISerializedData sdata)
overridevirtual

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émente Arcane::IData.

Définition à la ligne 239 du fichier ScalarData.cc.

◆ allocationInfo()

template<class DataType >
DataAllocationInfo Arcane::ScalarDataT< DataType >::allocationInfo ( ) const
inlineoverridevirtual

Informations sur l'allocation.

Implémente Arcane::IData.

Définition à la ligne 136 du fichier ScalarData.cc.

◆ assignSerializedData()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::assignSerializedData ( const ISerializedData sdata)
overridevirtual

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émente Arcane::IData.

Définition à la ligne 258 du fichier ScalarData.cc.

◆ clone()

template<class DataType >
IData * Arcane::ScalarDataT< DataType >::clone ( )
inlineoverridevirtual

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

Implémente Arcane::IData.

Définition à la ligne 115 du fichier ScalarData.cc.

◆ cloneEmpty()

template<class DataType >
IData * Arcane::ScalarDataT< DataType >::cloneEmpty ( )
inlineoverridevirtual

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

Implémente Arcane::IData.

Définition à la ligne 116 du fichier ScalarData.cc.

◆ cloneEmptyRef()

template<class DataType >
Ref< IData > Arcane::ScalarDataT< DataType >::cloneEmptyRef ( )
inlineoverridevirtual

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

Implémente Arcane::IData.

Définition à la ligne 118 du fichier ScalarData.cc.

Références Arcane::ScalarDataT< DataType >::cloneTrueEmpty().

◆ cloneRef()

template<class DataType >
Ref< IData > Arcane::ScalarDataT< DataType >::cloneRef ( )
inlineoverridevirtual

Clone la donnée.

Implémente Arcane::IData.

Définition à la ligne 117 du fichier ScalarData.cc.

Références Arcane::ScalarDataT< DataType >::cloneTrue().

◆ cloneTrue()

template<class DataType >
DataInterfaceType * Arcane::ScalarDataT< DataType >::cloneTrue ( )
inlineoverridevirtual

Clone la donnée.

Implémente Arcane::IScalarDataT< DataType >.

Définition à la ligne 120 du fichier ScalarData.cc.

Référencé par Arcane::ScalarDataT< DataType >::cloneRef().

◆ cloneTrueEmpty()

template<class DataType >
DataInterfaceType * Arcane::ScalarDataT< DataType >::cloneTrueEmpty ( )
inlineoverridevirtual

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

Implémente Arcane::IScalarDataT< DataType >.

Définition à la ligne 121 du fichier ScalarData.cc.

Référencé par Arcane::ScalarDataT< DataType >::cloneEmptyRef().

◆ cloneTrueEmptyRef()

template<class DataType >
Ref< DataInterfaceType > Arcane::ScalarDataT< DataType >::cloneTrueEmptyRef ( )
inlineoverridevirtual

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

Implémente Arcane::IScalarDataT< DataType >.

Définition à la ligne 123 du fichier ScalarData.cc.

◆ cloneTrueRef()

template<class DataType >
Ref< DataInterfaceType > Arcane::ScalarDataT< DataType >::cloneTrueRef ( )
inlineoverridevirtual

Clone la donnée.

Implémente Arcane::IScalarDataT< DataType >.

Définition à la ligne 122 du fichier ScalarData.cc.

◆ computeHash() [1/2]

template<typename DataType >
void Arcane::ScalarDataT< DataType >::computeHash ( DataHashInfo hash_info) const

Définition à la ligne 333 du fichier ScalarData.cc.

◆ computeHash() [2/2]

template<typename DataType >
void Arcane::ScalarDataT< DataType >::computeHash ( IHashAlgorithm algo,
ByteArray output 
) const
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::IData.

Définition à la ligne 320 du fichier ScalarData.cc.

◆ copy()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::copy ( const IData data)
overridevirtual

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

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

Implémente Arcane::IData.

Définition à la ligne 345 du fichier ScalarData.cc.

Références ARCANE_THROW.

◆ createSerializedDataRef()

template<typename DataType >
Ref< ISerializedData > Arcane::ScalarDataT< DataType >::createSerializedDataRef ( bool  use_basic_type) const
overridevirtual

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émente Arcane::IData.

Définition à la ligne 208 du fichier ScalarData.cc.

Références Arcane::arcaneCreateSerializedDataRef().

◆ dataType()

template<class DataType >
eDataType Arcane::ScalarDataT< DataType >::dataType ( ) const
inlineoverridevirtual

Type de la donnée.

Implémente Arcane::IData.

Définition à la ligne 109 du fichier ScalarData.cc.

◆ dimension()

template<class DataType >
Integer Arcane::ScalarDataT< DataType >::dimension ( ) const
inlineoverridevirtual

Dimension. 0 pour un scalaire, 1 pour un tableau mono-dim, 2 pour un tableau bi-dim.

Implémente Arcane::IData.

Définition à la ligne 107 du fichier ScalarData.cc.

◆ fillDefault()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::fillDefault ( )
overridevirtual

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

Implémente Arcane::IData.

Définition à la ligne 301 du fichier ScalarData.cc.

◆ multiTag()

template<class DataType >
Integer Arcane::ScalarDataT< DataType >::multiTag ( ) const
inlineoverridevirtual

Tag multiple. 0 si non multiple, 1 si multiple, 2 si multiple pour les variable MultiArray (obsolète)

Implémente Arcane::IData.

Définition à la ligne 108 du fichier ScalarData.cc.

◆ resize()

template<class DataType >
void Arcane::ScalarDataT< DataType >::resize ( Integer  new_size)
inlineoverridevirtual

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émente Arcane::IData.

Définition à la ligne 114 du fichier ScalarData.cc.

◆ serialize() [1/2]

template<typename DataType >
void Arcane::ScalarDataT< DataType >::serialize ( ISerializer sbuf,
IDataOperation operation 
)
overridevirtual

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

Implémente Arcane::IData.

Définition à la ligne 268 du fichier ScalarData.cc.

Références Arccore::ISerializer::ModeGet, et Arccore::ISerializer::ModePut.

◆ serialize() [2/2]

template<typename DataType >
void Arcane::ScalarDataT< DataType >::serialize ( ISerializer sbuf,
Int32ConstArrayView  ids,
IDataOperation operation 
)
overridevirtual

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émente Arcane::IData.

Définition à la ligne 291 du fichier ScalarData.cc.

◆ setAllocationInfo()

template<class DataType >
void Arcane::ScalarDataT< DataType >::setAllocationInfo ( const DataAllocationInfo v)
inlineoverridevirtual

Positionne les informations sur l'allocation.

Implémente Arcane::IData.

Définition à la ligne 135 du fichier ScalarData.cc.

◆ setName()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::setName ( const String name)
overridevirtual

Positionne le nom de la donnée (interne)

Implémente Arcane::IData.

Définition à la ligne 311 du fichier ScalarData.cc.

◆ setShape()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::setShape ( const ArrayShape new_shape)
overridevirtual

Positionne la forme du tableau.

Implémente Arcane::IData.

Définition à la ligne 411 du fichier ScalarData.cc.

◆ shape()

template<typename DataType >
ArrayShape Arcane::ScalarDataT< DataType >::shape ( ) const
overridevirtual

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émente Arcane::IData.

Définition à la ligne 401 du fichier ScalarData.cc.

◆ staticStorageTypeInfo()

template<typename DataType >
DataStorageTypeInfo Arcane::ScalarDataT< DataType >::staticStorageTypeInfo ( )
static

Définition à la ligne 183 du fichier ScalarData.cc.

◆ storageTypeInfo()

template<typename DataType >
DataStorageTypeInfo Arcane::ScalarDataT< DataType >::storageTypeInfo ( ) const
overridevirtual

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

Implémente Arcane::IData.

Définition à la ligne 198 du fichier ScalarData.cc.

◆ swapValues()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::swapValues ( IData data)
overridevirtual

É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émente Arcane::IData.

Définition à la ligne 358 du fichier ScalarData.cc.

Références ARCANE_THROW.

◆ value() [1/2]

template<class DataType >
const DataType & Arcane::ScalarDataT< DataType >::value ( ) const
inlineoverridevirtual

Valeur de la donnée.

Implémente Arcane::IScalarDataT< DataType >.

Définition à la ligne 113 du fichier ScalarData.cc.

Références Arcane::ScalarDataT< DataType >::m_value.

◆ value() [2/2]

template<class DataType >
DataType & Arcane::ScalarDataT< DataType >::value ( )
inlineoverridevirtual

Valeur de la donnée.

Implémente Arcane::IScalarDataT< DataType >.

Définition à la ligne 112 du fichier ScalarData.cc.

Références Arcane::ScalarDataT< DataType >::m_value.

◆ visit() [1/2]

template<class DataType >
void Arcane::ScalarDataT< DataType >::visit ( IDataVisitor visitor)
inlineoverridevirtual

Applique le visiteur à la donnée.

Implémente Arcane::IScalarData.

Définition à la ligne 141 du fichier ScalarData.cc.

◆ visit() [2/2]

template<class DataType >
void Arcane::ScalarDataT< DataType >::visit ( IScalarDataVisitor visitor)
inlineoverridevirtual

Applique le visiteur à la donnée.

Implémente Arcane::IScalarData.

Définition à la ligne 137 du fichier ScalarData.cc.

◆ visitArray()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::visitArray ( IArrayDataVisitor visitor)
overridevirtual

Applique le visiteur à la donnée.

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

Implémente Arcane::IData.

Définition à la ligne 381 du fichier ScalarData.cc.

Références ARCANE_THROW.

◆ visitArray2()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::visitArray2 ( IArray2DataVisitor visitor)
overridevirtual

Applique le visiteur à la donnée.

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

Implémente Arcane::IData.

Définition à la ligne 391 du fichier ScalarData.cc.

Références ARCANE_THROW.

◆ visitScalar()

template<typename DataType >
void Arcane::ScalarDataT< DataType >::visitScalar ( IScalarDataVisitor visitor)
overridevirtual

Applique le visiteur à la donnée.

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

Implémente Arcane::IData.

Définition à la ligne 371 du fichier ScalarData.cc.

Documentation des données membres

◆ m_allocation_info

template<class DataType >
DataAllocationInfo Arcane::ScalarDataT< DataType >::m_allocation_info
private

Définition à la ligne 160 du fichier ScalarData.cc.

◆ m_internal

template<class DataType >
Internal Arcane::ScalarDataT< DataType >::m_internal
private

Définition à la ligne 159 du fichier ScalarData.cc.

◆ m_trace

template<class DataType >
ITraceMng* Arcane::ScalarDataT< DataType >::m_trace
private

Définition à la ligne 158 du fichier ScalarData.cc.

◆ m_value

template<class DataType >
DataType Arcane::ScalarDataT< DataType >::m_value
private

Donnée.

Définition à la ligne 157 du fichier ScalarData.cc.

Référencé par Arcane::ScalarDataT< DataType >::value(), et Arcane::ScalarDataT< DataType >::value().


La documentation de cette classe a été générée à partir du fichier suivant :