12#ifndef ARCANE_CORE_VARIABLE_H
13#define ARCANE_CORE_VARIABLE_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
21#include "arcane/core/IVariable.h"
22#include "arcane/core/IData.h"
39class VariableResizeArgs;
113 bool isUsed() const override;
125 void notifyEndRead()
override;
126 void notifyBeginWrite()
override;
133 Integer nbReference()
const override;
137 void syncReferences()
override;
139 IMesh* mesh() const final;
145 Integer dimension() const override;
146 Integer multiTag() const override;
158 void resize(
Integer n) override;
159 void resizeFromGroup() override;
172 void addTag(const
String& tagname, const
String& tagvalue) override;
173 void removeTag(const
String& tagname) override;
174 bool hasTag(const
String& tagname) override;
179 void update() override;
180 void setUpToDate() override;
181 Int64 modifiedTime() override;
182 void addDepend(
IVariable* var, eDependType dt) override;
184 void removeDepend(
IVariable* var) override;
189 void update(
Real wanted_time) override;
193 IVariableInternal* _internalApi() override;
201 void _setProperty(
int property);
208 void _setData(
const Ref<IData>& data);
211 void _setValidData(
bool valid_data);
218 bool _hasValidData()
const;
222 virtual void _internalResize(
const VariableResizeArgs& resize_args) = 0;
224 void _checkSwapIsValid(Variable* rhs);
226 bool _wantShrink()
const;
229 friend class VariablePrivate;
230 void _resize(
const VariableResizeArgs& resize_args);
237 VariablePrivate* m_p;
241 void _checkSetItemFamily();
242 void _checkSetItemGroup();
244 bool _hasReference()
const;
245 void _removeMeshReference();
259#include "arcane/core/VariableScalar.h"
260#include "arcane/core/VariableArray.h"
Declarations of Arcane's general types.
Base class for 1D data vectors.
Information on data allocation.
Interface for reading variable data.
Interface for writing variable data.
Interface of an entity family.
Interface of an observable.
Interface of the parallelism manager for a subdomain.
Interface of the subdomain manager.
Interface of the functor class for recalculating a variable.
Variable manager interface.
Reference to an instance.
Unicode character string.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
Parameters necessary for building a variable.
Arguments for VariableComparer methods.
Results of a comparison operation.
Information about a variable dependency.
Information characterizing a variable.
String itemGroupName() const final
Name of the associated entity group.
bool isUsed() const override
Usage state of the variable.
Variable(const VariableBuildInfo &v, const VariableInfo &vi)
Creates a variable linked to the reference v.
bool isPartial() const override
Indicates if the variable is partial.
void notifyReferencePropertyChanged() override
IVariableMng * variableMng() const override
Variable manager associated with the variable.
String name() const final
Variable name.
virtual VariableComparerResults _compareVariable(const VariableComparerArgs &compare_args)=0
Comparison of values between variables.
bool initialize(const ItemGroup &, const String &) override
Initializes the variable on a group.
Variable(const Variable &from)=delete
Copy constructor (do not use).
void setUsed(bool v) override
Sets the usage state of the variable.
String fullName() const final
Full variable name (with family prefix).
ISubDomain * subDomain() override
Subdomain associated with the variable (TODO deprecate end of 2023).
String itemFamilyName() const final
Name of the associated family (null if none).
int property() const override
Variable & operator=(const Variable &from)=delete
Copy assignment operator (do not use).
String meshName() const final
Name of the associated mesh (null if none).
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Signed integer type of 64 bits.
Int32 Integer
Type representing an integer.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
eTraceType
Possible trace type.
eItemKind
Mesh entity type.
double Real
Type representing a real number.
std::int32_t Int32
Signed integer type of 32 bits.