Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
VariableRefArray2.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* VariableRefArray2.h (C) 2000-2020 */
9/* */
10/* Classe gérant une référence sur une variable tableau 2D. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_VARIABLEREFARRAY2_H
13#define ARCANE_VARIABLEREFARRAY2_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/Array2View.h"
18#include "arcane/VariableRef.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
33template<typename T>
35: public VariableRef
36, public Array2View<T>
37{
38 public:
39
40 typedef T DataType;
41 typedef Array2<T> ValueType;
44
46 typedef DataType ElementType;
53
55
57
58 public:
59
61 ARCANE_CORE_EXPORT VariableRefArray2T(const VariableBuildInfo& vb);
63 ARCANE_CORE_EXPORT VariableRefArray2T(const VariableRefArray2T<DataType>& rhs);
65 explicit ARCANE_CORE_EXPORT VariableRefArray2T(IVariable* var);
70 ARCCORE_DEPRECATED_2021("Use refersTo() instead.")
71 ARCANE_CORE_EXPORT void operator=(const VariableRefArray2T<DataType>& rhs);
72 virtual ARCANE_CORE_EXPORT ~VariableRefArray2T();
73
74 public:
75
82 virtual ARCANE_CORE_EXPORT void resize(Integer new_size);
83
91 ARCANE_CORE_EXPORT void resize(Integer dim1_size,Integer dim2_size);
92
94 ARCANE_CORE_EXPORT void fill(const DataType& value);
95
97 ARCANE_CORE_EXPORT void refersTo(const VariableRefArray2T<DataType>& rhs);
98
99 public:
100
101 virtual bool isArrayVariable() const { return true; }
102 virtual Integer arraySize() const { return this->dim1Size(); }
103 Integer size() const { return this->dim1Size(); }
104 virtual ARCANE_CORE_EXPORT void updateFromInternal();
105
112 ARCCORE_DEPRECATED_2021("Use _internalTrueData() instead.")
113 ARCANE_CORE_EXPORT ContainerType& internalContainer();
114
115 public:
116
118 ARCANE_CORE_EXPORT IArray2DataInternalT<T>* _internalTrueData();
119
120 public:
121
122 static ARCANE_CORE_EXPORT VariableTypeInfo _internalVariableTypeInfo();
123 static ARCANE_CORE_EXPORT VariableInfo _internalVariableInfo(const VariableBuildInfo& vbi);
124
125 private:
126
127 PrivatePartType* m_private_part;
128
129 private:
130
131 static VariableFactoryRegisterer m_auto_registerer;
132 static VariableRef* _autoCreate(const VariableBuildInfo& vb);
133};
134
135/*---------------------------------------------------------------------------*/
136/*---------------------------------------------------------------------------*/
137
138} // End namespace Arcane
139
140/*---------------------------------------------------------------------------*/
141/*---------------------------------------------------------------------------*/
142
143#endif
144
Tableau 2D d'items de types quelconques.
Interface d'une variable.
Definition IVariable.h:54
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Paramètres nécessaires à la construction d'une variable.
Variable tableau bi dimensionnel.
void refersTo(const VariableRefArray2T< DataType > &rhs)
Positionne la référence de l'instance à la variable rhs.
DataType ElementType
Type des éléments de la variable.
IArray2DataInternalT< T > * _internalTrueData()
virtual void resize(Integer new_size)
Réalloue le nombre d'éléments de la première dimension du tableau.
void fill(const DataType &value)
Remplit la variable avev la valeur value.
virtual Integer arraySize() const
Si la variable est un tableau, retourne sa dimension, sinon retourne 0.
ContainerType & internalContainer()
Retourne le conteneur des valeurs de cette variable.
Array2< DataType > ContainerType
Type de la classe gérant la valeur de la variable.
VariableRef BaseClass
Type de la classe de base.
virtual void updateFromInternal()
Mise à jour à partir de la partie interne.
Array2View< DataType > ArrayBase
Type du tableau permettant d'accéder à la variable.
Référence à une variable.
Definition VariableRef.h:56
VariableRef()
Constructeur vide.
Vue modifiable pour un tableau 2D.
constexpr Integer dim1Size() const
Nombre d'éléments de la première dimension.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-