17#include "arcane/ArcaneTypes.h"
38 virtual ~IData() =
default;
52 ARCCORE_DEPRECATED_2020(
"Use cloneRef() instead")
56 ARCCORE_DEPRECATED_2020("Use cloneEmptyRef() instead")
57 virtual
IData* cloneEmpty() = 0;
60 virtual Ref<
IData> cloneRef() = 0;
63 virtual Ref<
IData> cloneEmptyRef() = 0;
78 virtual
void resize(Integer new_size) = 0;
88 virtual
void fillDefault() = 0;
91 virtual
void setName(const
String& name) = 0;
130 virtual
void copy(const
IData* data) = 0;
139 virtual
void swapValues(
IData* data) = 0;
217 virtual IDataInternal* _commonInternal() = 0;
240template <
class DataType>
252 virtual const DataType&
value()
const = 0;
255 ARCCORE_DEPRECATED_2020(
"Use cloneTrueRef() instead")
256 virtual ThatClass* cloneTrue() = 0;
259 ARCCORE_DEPRECATED_2020("Use cloneTrueEmpty() instead")
260 virtual ThatClass* cloneTrueEmpty() = 0;
263 virtual Ref<ThatClass> cloneTrueRef() = 0;
266 virtual Ref<ThatClass> cloneTrueEmptyRef() = 0;
289template <
class DataType>
300 ARCCORE_DEPRECATED_2021(
"Use view() instead.")
301 virtual
Array<DataType>& value() = 0;
304 ARCCORE_DEPRECATED_2021("Use view() instead.")
305 virtual const
Array<DataType>& value() const = 0;
316 ARCCORE_DEPRECATED_2020("Use cloneTrueRef() instead")
317 virtual ThatClass* cloneTrue() = 0;
320 ARCCORE_DEPRECATED_2020("Use cloneTrueEmptyRef() instead")
321 virtual ThatClass* cloneTrueEmpty() = 0;
324 virtual Ref<ThatClass> cloneTrueRef() = 0;
327 virtual Ref<ThatClass> cloneTrueEmptyRef() = 0;
360template <
class DataType>
369 ARCCORE_DEPRECATED_2021(
"Use view() instead.")
373 ARCCORE_DEPRECATED_2021("Use view() instead.")
374 virtual const
Array2<DataType>& value() const = 0;
385 ARCCORE_DEPRECATED_2020("Use cloneTrueRef() instead")
386 virtual ThatClass* cloneTrue() = 0;
389 ARCCORE_DEPRECATED_2020("Use cloneTrueEmptyRef() instead")
390 virtual ThatClass* cloneTrueEmpty() = 0;
393 virtual Ref<ThatClass> cloneTrueRef() = 0;
396 virtual Ref<ThatClass> cloneTrueEmptyRef() = 0;
409template <class DataType>
#define ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro pour déclarer les méthodes virtuelles gérant les compteurs de référence.
Informations sur l'allocation d'une donnée.
Informations de type pour un conteneur de données.
Interface du pattern visitor pour une donnée tableau 2D.
Interface d'une donnée tableau 2D.
Interface du pattern visitor pour une donnée tableau.
Interface d'une donnée tableau 1D.
virtual void visit(IDataVisitor *visitor)=0
Applique le visiteur à la donnée.
virtual void visit(IArrayDataVisitor *visitor)=0
Applique le visiteur à la donnée.
Interface du pattern visitor pour une 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 eDataType dataType() const =0
Type de la donnée.
Interface d'un algorithme de hashage.
virtual ThatClass * cloneTrue()=0
Clone la donnée.
virtual ThatClass * cloneTrueEmpty()=0
Clone la donnée mais sans éléments.
virtual const MultiArray2< DataType > & value() const =0
Valeur de la donnée.
virtual MultiArray2< DataType > & value()=0
Valeur de la donnée.
Interface du pattern visitor pour une donnée tableau 2D à taille variable.
Interface d'une donnée tableau multi 2D.
virtual DataType & value()=0
Valeur de la donnée.
virtual const DataType & value() const =0
Valeur de la donnée.
Interface du pattern visitor pour une donnée scalaire.
Interface d'une donnée scalaire.
virtual void visit(IDataVisitor *visitor)=0
Applique le visiteur à la donnée.
virtual void visit(IScalarDataVisitor *visitor)=0
Applique le visiteur à la donnée.
Classe de base des tableau 2D à taille multiple.
Vue modifiable pour un tableau 2D.
Classe représentant un tableau 2D classique.
Vue modifiable d'un tableau d'un type T.
Classe de base des vecteurs 1D de données.
Vue pour un tableau 2D constant.
Vue constante d'un tableau de type T.
Interface d'un sérialiseur.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eDataType
Type d'une donnée.