Donnée tableau bi-dimensionnel d'un type DataType. Plus de détails...
Classes | |
class | Impl |
Types publics | |
typedef Array2DataT< DataType > | ThatClass |
typedef IArray2DataT< DataType > | DataInterfaceType |
Types publics hérités de Arcane::IArray2DataT< DataType > | |
typedef IArray2DataT< DataType > | ThatClass |
Fonctions membres publiques | |
Array2DataT (ITraceMng *trace) | |
Array2DataT (const DataStorageBuildInfo &dsbi) | |
Array2DataT (const Array2DataT< 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. | |
Array2< DataType > & | value () override |
Valeur de la donnée. | |
const Array2< DataType > & | value () const override |
Valeur de la donnée. | |
Array2View< DataType > | view () override |
Vue sur la donnée. | |
ConstArray2View< DataType > | view () const override |
Vue constante sur la donnée. | |
void | resize (Integer new_size) override |
Redimensionne la donnée. | |
IData * | clone () override |
Clone la donnée. L'instance créée doit être détruite par l'opérateur 'delete'. | |
IData * | cloneEmpty () override |
Clone la donnée mais sans éléments. L'instance créée doit être détruite par l'opérateur 'delete'. | |
Ref< IData > | cloneRef () override |
Clone la donnée. | |
Ref< IData > | cloneEmptyRef () override |
Clone la donnée mais sans éléments. | |
DataStorageTypeInfo | storageTypeInfo () const override |
Informations sur le type de conteneur de la donnée. | |
DataInterfaceType * | cloneTrue () override |
Clone la donnée. | |
DataInterfaceType * | cloneTrueEmpty () override |
Clone la donnée mais sans éléments. | |
Ref< DataInterfaceType > | cloneTrueRef () override |
Clone la donnée. | |
Ref< DataInterfaceType > | cloneTrueEmptyRef () 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< ISerializedData > | createSerializedDataRef (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_algo) const |
ArrayShape | shape () const override |
Forme du tableau pour une donnée 1D ou 2D. | |
void | setShape (const ArrayShape &new_shape) 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 (IArray2DataVisitor *visitor) |
void | visit (IDataVisitor *visitor) override |
Applique le visiteur à la donnée. | |
void | visitScalar (IScalarDataVisitor *) override |
Applique le visiteur à la donnée. | |
void | visitArray (IArrayDataVisitor *) override |
Applique le visiteur à la donnée. | |
void | visitArray2 (IArray2DataVisitor *visitor) override |
Applique le visiteur à la donnée. | |
void | swapValuesDirect (ThatClass *true_data) |
void | changeAllocator (const MemoryAllocationOptions &alloc_info) |
IArray2DataInternalT< DataType > * | _internal () override |
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 () | |
IArray2DataT< DataType > * | _cloneTrue () const |
IArray2DataT< DataType > * | _cloneTrueEmpty () const |
Attributs privés | |
UniqueArray2< DataType > | m_value |
Donnée. | |
ITraceMng * | m_trace |
IArray2DataInternalT< DataType > * | m_internal |
ArrayShape | m_shape |
DataAllocationInfo | m_allocation_info |
Amis | |
class | Impl |
Donnée tableau bi-dimensionnel d'un type DataType.
Définition à la ligne 67 du fichier Array2Data.cc.
typedef IArray2DataT<DataType> Arcane::Array2DataT< DataType >::DataInterfaceType |
Définition à la ligne 78 du fichier Array2Data.cc.
typedef Array2DataT<DataType> Arcane::Array2DataT< DataType >::ThatClass |
Définition à la ligne 77 du fichier Array2Data.cc.
|
explicit |
Définition à la ligne 263 du fichier Array2Data.cc.
|
explicit |
Définition à la ligne 287 du fichier Array2Data.cc.
Arcane::Array2DataT< DataType >::Array2DataT | ( | const Array2DataT< DataType > & | rhs | ) |
Définition à la ligne 274 du fichier Array2Data.cc.
|
override |
Définition à la ligne 298 du fichier Array2Data.cc.
|
inlineprivate |
Définition à la ligne 167 du fichier Array2Data.cc.
|
inlineprivate |
Définition à la ligne 168 du fichier Array2Data.cc.
|
inlineoverridevirtual |
Implémente Arcane::IData.
Définition à la ligne 151 du fichier Array2Data.cc.
|
inlineoverridevirtual |
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 150 du fichier Array2Data.cc.
|
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 376 du fichier Array2Data.cc.
Références ARCANE_FATAL, Arccore::SpanImpl< T, SizeType, Extent, MinValue >::data(), Arcane::Array2DataT< DataType >::dataType(), Arcane::Array2DataT< DataType >::m_value, Arccore::Array2< DataType >::resize(), et Arccore::Array2< DataType >::to1DSpan().
|
inlineoverridevirtual |
Informations sur l'allocation.
Implémente Arcane::IData.
Définition à la ligne 120 du fichier Array2Data.cc.
|
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 407 du fichier Array2Data.cc.
void Arcane::Array2DataT< DataType >::changeAllocator | ( | const MemoryAllocationOptions & | alloc_info | ) |
Définition à la ligne 734 du fichier Array2Data.cc.
|
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 99 du fichier Array2Data.cc.
|
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 100 du fichier Array2Data.cc.
|
inlineoverridevirtual |
Clone la donnée mais sans éléments.
Implémente Arcane::IData.
Définition à la ligne 102 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::cloneTrueEmpty().
|
inlineoverridevirtual |
Clone la donnée.
Implémente Arcane::IData.
Définition à la ligne 101 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::cloneTrue().
|
inlineoverridevirtual |
Clone la donnée.
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 104 du fichier Array2Data.cc.
Référencé par Arcane::Array2DataT< DataType >::cloneRef().
|
inlineoverridevirtual |
Clone la donnée mais sans éléments.
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 105 du fichier Array2Data.cc.
Référencé par Arcane::Array2DataT< DataType >::cloneEmptyRef().
|
inlineoverridevirtual |
Clone la donnée mais sans éléments.
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 107 du fichier Array2Data.cc.
|
inlineoverridevirtual |
Clone la donnée.
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 106 du fichier Array2Data.cc.
void Arcane::Array2DataT< DataType >::computeHash | ( | DataHashInfo & | hash_algo | ) | const |
Définition à la ligne 669 du fichier Array2Data.cc.
|
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 643 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value, et Arccore::Array2< DataType >::to1DSpan().
|
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 689 du fichier Array2Data.cc.
Références Arccore::Array2< DataType >::copy(), et Arcane::Array2DataT< DataType >::m_value.
|
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 342 du fichier Array2Data.cc.
Références Arcane::arcaneCreateSerializedDataRef(), Arccore::SpanImpl< T, SizeType, Extent, MinValue >::data(), Arcane::Array2DataT< DataType >::dataType(), Arcane::Array2DataT< DataType >::m_value, Arcane::Array2DataT< DataType >::shape(), Arccore::Array2< DataType >::to1DSpan(), et Arccore::Array2< DataType >::totalNbElement().
|
inlineoverridevirtual |
Type de la donnée.
Implémente Arcane::IData.
Définition à la ligne 91 du fichier Array2Data.cc.
Référencé par Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), et Arcane::Array2DataT< DataType >::createSerializedDataRef().
|
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 89 du fichier Array2Data.cc.
|
overridevirtual |
Remplit la donnée avec sa valeur par défaut.
Implémente Arcane::IData.
Définition à la ligne 625 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value.
|
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 90 du fichier Array2Data.cc.
|
overridevirtual |
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 333 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value, et Arccore::Array2< DataType >::resize().
|
overridevirtual |
Sérialise la donnée en appliquant l'opération operation.
Implémente Arcane::IData.
Définition à la ligne 417 du fichier Array2Data.cc.
Références ARCANE_FATAL, Arccore::SpanImpl< T, SizeType, Extent, MinValue >::data(), Arcane::DT_Int64, Arcane::Array2DataT< DataType >::m_value, Arccore::ISerializer::ModeGet, Arccore::ISerializer::ModePut, Arccore::ISerializer::ReadAdd, Arccore::ISerializer::ReadReplace, Arccore::Array2< DataType >::resize(), Arccore::Array2< DataType >::to1DSpan(), et Arccore::Array2< DataType >::totalNbElement().
|
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 493 du fichier Array2Data.cc.
Références ARCANE_FATAL, Arcane::DT_Int64, Arcane::Array2DataT< DataType >::m_value, Arccore::ISerializer::ModeGet, Arccore::ISerializer::ModePut, Arccore::ISerializer::ReadAdd, Arccore::ISerializer::ReadReplace, Arccore::Array2< DataType >::resize(), et Arcane::CheckedConvert::toInt32().
|
overridevirtual |
Positionne les informations sur l'allocation.
Implémente Arcane::IData.
Définition à la ligne 722 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value, et Arccore::AbstractArray< T >::setMemoryLocationHint().
|
overridevirtual |
Positionne le nom de la donnée (interne)
Implémente Arcane::IData.
Définition à la ligne 634 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value, et Arccore::Array2< DataType >::setDebugName().
|
inlineoverridevirtual |
Positionne la forme du tableau.
Implémente Arcane::IData.
Définition à la ligne 118 du fichier Array2Data.cc.
|
inlineoverridevirtual |
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 117 du fichier Array2Data.cc.
Référencé par Arcane::Array2DataT< DataType >::createSerializedDataRef().
|
static |
Définition à la ligne 310 du fichier Array2Data.cc.
|
overridevirtual |
Informations sur le type de conteneur de la donnée.
Implémente Arcane::IData.
Définition à la ligne 324 du fichier Array2Data.cc.
|
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 701 du fichier Array2Data.cc.
void Arcane::Array2DataT< DataType >::swapValuesDirect | ( | ThatClass * | true_data | ) |
Définition à la ligne 713 du fichier Array2Data.cc.
|
inlineoverridevirtual |
Valeur de la donnée.
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 95 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value.
|
inlineoverridevirtual |
Valeur de la donnée.
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 94 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value.
Référencé par Arcane::Array2DataT< DataType >::Impl::memoryView().
|
inlineoverridevirtual |
Vue constante sur la donnée.
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 97 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value.
|
inlineoverridevirtual |
Vue sur la donnée.
Implémente Arcane::IArray2DataT< DataType >.
Définition à la ligne 96 du fichier Array2Data.cc.
Références Arcane::Array2DataT< DataType >::m_value.
|
inline |
Définition à la ligne 122 du fichier Array2Data.cc.
|
inlineoverridevirtual |
Applique le visiteur à la donnée.
Implémente Arcane::IData.
Définition à la ligne 126 du fichier Array2Data.cc.
|
inlineoverridevirtual |
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 134 du fichier Array2Data.cc.
Références ARCANE_THROW.
|
inlineoverridevirtual |
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 138 du fichier Array2Data.cc.
|
inlineoverridevirtual |
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 130 du fichier Array2Data.cc.
Références ARCANE_THROW.
Définition à la ligne 73 du fichier Array2Data.cc.
|
private |
Définition à la ligne 163 du fichier Array2Data.cc.
|
private |
Définition à la ligne 161 du fichier Array2Data.cc.
|
private |
Définition à la ligne 162 du fichier Array2Data.cc.
|
private |
Définition à la ligne 160 du fichier Array2Data.cc.
|
private |
Donnée.
Définition à la ligne 159 du fichier Array2Data.cc.
Référencé par Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::Array2DataT< DataType >::computeHash(), Arcane::Array2DataT< DataType >::copy(), Arcane::Array2DataT< DataType >::createSerializedDataRef(), Arcane::Array2DataT< DataType >::fillDefault(), Arcane::Array2DataT< DataType >::resize(), Arcane::Array2DataT< DataType >::serialize(), Arcane::Array2DataT< DataType >::serialize(), Arcane::Array2DataT< DataType >::setAllocationInfo(), Arcane::Array2DataT< DataType >::setName(), Arcane::Array2DataT< DataType >::value(), Arcane::Array2DataT< DataType >::value(), Arcane::Array2DataT< DataType >::view(), et Arcane::Array2DataT< DataType >::view().