Types publics | |
typedef ArrayDataT< DataType > | ThatClass |
typedef IArrayDataT< DataType > | DataInterfaceType |
![]() | |
typedef IArrayDataT< DataType > | ThatClass |
Fonctions membres publiques | |
Impl (ArrayDataT< DataType > *p) | |
void | reserve (Integer new_capacity) override |
Réserve de la mémoire pour new_capacity éléments. | |
Array< DataType > & | _internalDeprecatedValue () override |
Conteneur associé à la donnée. | |
Integer | capacity () const override |
Capacité allouée par le conteneur. | |
void | shrink () const override |
Libère la mémoire additionnelle éventuellement allouée. | |
void | resize (Integer new_size) override |
Redimensionne la donnée. | |
void | dispose () override |
Vide le conteneur et libère la mémoire alloué. | |
bool | compressAndClear (DataCompressionBuffer &buf) override |
Compresse les données et libère la mémoire associée. | |
bool | decompressAndFill (DataCompressionBuffer &buf) override |
Décompresse les données et remplit les valeurs de la donnée. | |
MutableMemoryView | memoryView () override |
Vue mémoire sur la donnée. | |
Int32 | extent0 () const override |
Nombre d'éléments de la première dimension. | |
INumericDataInternal * | numericData () override |
Interface générique pour les données numériques (nullptr si la donnée n'est pas numérique) | |
void | changeAllocator (const MemoryAllocationOptions &v) override |
Change l'allocateur de la variable. | |
void | computeHash (DataHashInfo &hash_info) override |
Calcule le hash de la donnée. | |
ArrayDataT (ITraceMng *trace) | |
ArrayDataT (const DataStorageBuildInfo &dsbi) | |
ArrayDataT (const ArrayDataT< 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. | |
Array< DataType > & | value () override |
Valeur de la donnée. | |
const Array< DataType > & | value () const override |
Valeur constante de la donnée. | |
ConstArrayView< DataType > | view () const override |
Vue constante sur la donnée. | |
ArrayView< DataType > | view () override |
Vue 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_info) 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 (IArrayDataVisitor *visitor) override |
Applique le visiteur à la donnée. | |
void | visit (IDataVisitor *visitor) override |
Applique le visiteur à la donnée. | |
void | visitScalar (IScalarDataVisitor *) override |
Applique le visiteur à la donnée. | |
void | visitArray (IArrayDataVisitor *visitor) override |
Applique le visiteur à la donnée. | |
void | visitArray2 (IArray2DataVisitor *) override |
Applique le visiteur à la donnée. | |
void | swapValuesDirect (ThatClass *true_data) |
void | changeAllocator (const MemoryAllocationOptions &alloc_info) |
IArrayDataInternalT< DataType > * | _internal () override |
IDataInternal * | _commonInternal () override |
![]() | |
void | addReference () |
void | removeReference () |
void | _internalAddReference () |
bool | _internalRemoveReference () |
![]() | |
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 () | |
void | _serialize (ISerializer *sbuf, Span< const Int32 > ids, IDataOperation *operation) |
IArrayDataT< DataType > * | _cloneTrue () const |
IArrayDataT< DataType > * | _cloneTrueEmpty () const |
void | _setShape () |
Attributs privés | |
ArrayDataT< DataType > * | m_p |
UniqueArray< DataType > | m_value |
Donnée. | |
ITraceMng * | m_trace |
IArrayDataInternalT< DataType > * | m_internal |
ArrayShape | m_shape |
DataAllocationInfo | m_allocation_info |
Définition à la ligne 158 du fichier ArrayData.h.
typedef IArrayDataT<DataType> Arcane::ArrayDataT< DataType >::DataInterfaceType |
Définition à la ligne 57 du fichier ArrayData.h.
typedef ArrayDataT<DataType> Arcane::ArrayDataT< DataType >::ThatClass |
Définition à la ligne 56 du fichier ArrayData.h.
|
inlineexplicit |
Définition à la ligne 164 du fichier ArrayData.h.
|
override |
Définition à la ligne 64 du fichier ArrayData.inst.h.
|
inlineprivate |
Définition à la ligne 149 du fichier ArrayData.h.
|
inlineprivate |
Définition à la ligne 150 du fichier ArrayData.h.
|
inlineoverridevirtual |
Implémente Arcane::IData.
Définition à la ligne 129 du fichier ArrayData.h.
|
inlineoverridevirtual |
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 128 du fichier ArrayData.h.
|
inlineoverridevirtual |
Conteneur associé à la donnée.
Implémente Arcane::IArrayDataInternalT< DataType >.
Définition à la ligne 169 du fichier ArrayData.h.
|
private |
Définition à la ligne 148 du fichier ArrayData.inst.h.
|
private |
Définition à la ligne 151 du fichier ArrayData.inst.h.
|
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 90 du fichier ArrayData.inst.h.
|
inlineoverridevirtual |
Informations sur l'allocation.
Implémente Arcane::IData.
Définition à la ligne 99 du fichier ArrayData.h.
Arcane::ArrayDataT< DataType >::ArrayDataT | ( | const ArrayDataT< DataType > & | rhs | ) |
Définition à la ligne 63 du fichier ArrayData.inst.h.
|
explicit |
Définition à la ligne 62 du fichier ArrayData.inst.h.
|
explicit |
Définition à la ligne 61 du fichier ArrayData.inst.h.
|
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 91 du fichier ArrayData.inst.h.
|
inlineoverridevirtual |
Capacité allouée par le conteneur.
Implémente Arcane::IArrayDataInternalT< DataType >.
Définition à la ligne 170 du fichier ArrayData.h.
|
virtual |
Implémente Arcane::INumericDataInternal.
Définition à la ligne 124 du fichier ArrayData.inst.h.
|
inlineoverridevirtual |
Change l'allocateur de la variable.
Implémente Arcane::INumericDataInternal.
Définition à la ligne 206 du fichier ArrayData.h.
|
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 78 du fichier ArrayData.h.
|
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 79 du fichier ArrayData.h.
|
inlineoverridevirtual |
Clone la donnée mais sans éléments.
Implémente Arcane::IData.
Définition à la ligne 81 du fichier ArrayData.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Clone la donnée.
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 83 du fichier ArrayData.h.
|
inlineoverridevirtual |
Clone la donnée mais sans éléments.
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 84 du fichier ArrayData.h.
|
inlineoverridevirtual |
Clone la donnée mais sans éléments.
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 86 du fichier ArrayData.h.
|
inlineoverridevirtual |
Clone la donnée.
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 85 du fichier ArrayData.h.
|
inlineoverridevirtual |
Compresse les données et libère la mémoire associée.
Compresse les données et remplit buf avec les information compressées. Libère ensuite la mémoire associée. L'instance ne sera plus utilisable tant que decompressAndFill() n'aura pas été appelé.
true | si une compression a eu lieu. |
false | si l'instance ne supporte pas la compression. Dans ce cas elle reste utilisable. |
Réimplémentée à partir de Arcane::IDataInternal.
Définition à la ligne 174 du fichier ArrayData.h.
Références Arcane::asBytes(), Arcane::IDataCompressor::compress(), et Arcane::SpanImpl< T, SizeType, Extent, MinValue >::size().
void Arcane::ArrayDataT< DataType >::computeHash | ( | DataHashInfo & | hash_info | ) | const |
Définition à la ligne 95 du fichier ArrayData.inst.h.
|
inlineoverridevirtual |
Calcule le hash de la donnée.
En sortie, remplit hash_info.m_version et hash_info.m_value.
Implémente Arcane::IDataInternal.
Définition à la ligne 207 du fichier ArrayData.h.
|
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 94 du fichier ArrayData.inst.h.
|
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 92 du fichier ArrayData.inst.h.
|
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 89 du fichier ArrayData.inst.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Décompresse les données et remplit les valeurs de la donnée.
Décompresse les données de buf et remplit les valeurs de cette instance avec les information decompressées.
true | si une décompression a eu lieu. |
false | si aucune décompression n'a eu lieu car l'instance ne le supporte pas. |
Réimplémentée à partir de Arcane::IDataInternal.
Définition à la ligne 187 du fichier ArrayData.h.
Références Arcane::asWritableBytes(), et Arcane::IDataCompressor::decompress().
|
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 68 du fichier ArrayData.h.
Référencé par setAllocationInfo().
|
inlineoverridevirtual |
Vide le conteneur et libère la mémoire alloué.
Implémente Arcane::IArrayDataInternalT< DataType >.
Définition à la ligne 173 du fichier ArrayData.h.
|
inlineoverridevirtual |
Nombre d'éléments de la première dimension.
Implémente Arcane::INumericDataInternal.
Définition à la ligne 201 du fichier ArrayData.h.
|
overridevirtual |
Remplit la donnée avec sa valeur par défaut.
Implémente Arcane::IData.
Définition à la ligne 87 du fichier ArrayData.inst.h.
|
inlineoverridevirtual |
Vue mémoire sur la donnée.
Implémente Arcane::INumericDataInternal.
Définition à la ligne 197 du fichier ArrayData.h.
|
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 69 du fichier ArrayData.h.
|
inlineoverridevirtual |
Interface générique pour les données numériques (nullptr si la donnée n'est pas numérique)
Réimplémentée à partir de Arcane::IDataInternal.
Définition à la ligne 205 du fichier ArrayData.h.
|
inlineoverridevirtual |
Réserve de la mémoire pour new_capacity éléments.
Implémente Arcane::IArrayDataInternalT< DataType >.
Définition à la ligne 168 du fichier ArrayData.h.
|
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 77 du fichier ArrayData.h.
|
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 172 du fichier ArrayData.h.
|
overridevirtual |
Sérialise la donnée en appliquant l'opération operation.
Implémente Arcane::IData.
Définition à la ligne 71 du fichier ArrayData.inst.h.
Références m_value.
|
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 72 du fichier ArrayData.inst.h.
|
overridevirtual |
Positionne les informations sur l'allocation.
Implémente Arcane::IData.
Définition à la ligne 98 du fichier ArrayData.inst.h.
Références dimension().
|
overridevirtual |
Positionne le nom de la donnée (interne)
Implémente Arcane::IData.
Définition à la ligne 88 du fichier ArrayData.inst.h.
|
inlineoverridevirtual |
Positionne la forme du tableau.
Implémente Arcane::IData.
Définition à la ligne 97 du fichier ArrayData.h.
|
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 96 du fichier ArrayData.h.
|
inlineoverridevirtual |
Libère la mémoire additionnelle éventuellement allouée.
Implémente Arcane::IArrayDataInternalT< DataType >.
Définition à la ligne 171 du fichier ArrayData.h.
|
static |
Définition à la ligne 133 du fichier ArrayData.inst.h.
|
overridevirtual |
Informations sur le type de conteneur de la donnée.
Implémente Arcane::IData.
Définition à la ligne 82 du fichier ArrayData.inst.h.
|
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 93 du fichier ArrayData.inst.h.
void Arcane::ArrayDataT< DataType >::swapValuesDirect | ( | ThatClass * | true_data | ) |
Définition à la ligne 123 du fichier ArrayData.inst.h.
|
inlineoverridevirtual |
Valeur constante de la donnée.
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 74 du fichier ArrayData.h.
|
inlineoverridevirtual |
Valeur de la donnée.
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 73 du fichier ArrayData.h.
|
inlineoverridevirtual |
Vue constante sur la donnée.
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 75 du fichier ArrayData.h.
|
inlineoverridevirtual |
Vue sur la donnée.
Implémente Arcane::IArrayDataT< DataType >.
Définition à la ligne 76 du fichier ArrayData.h.
|
inlineoverridevirtual |
Applique le visiteur à la donnée.
Implémente Arcane::IArrayData.
Définition à la ligne 100 du fichier ArrayData.h.
|
inlineoverridevirtual |
Applique le visiteur à la donnée.
Implémente Arcane::IArrayData.
Définition à la ligne 104 du fichier ArrayData.h.
|
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 112 du fichier ArrayData.h.
|
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 116 du fichier ArrayData.h.
|
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 108 du fichier ArrayData.h.
|
friend |
Définition à la ligne 52 du fichier ArrayData.h.
|
private |
Définition à la ligne 144 du fichier ArrayData.h.
|
private |
Définition à la ligne 142 du fichier ArrayData.h.
|
private |
Définition à la ligne 214 du fichier ArrayData.h.
|
private |
Définition à la ligne 143 du fichier ArrayData.h.
|
private |
Définition à la ligne 141 du fichier ArrayData.h.
|
private |