Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::VariableRef Class Reference

Reference to a variable. More...

#include <arcane/core/VariableRef.h>

Inheritance diagram for Arcane::VariableRef:
Collaboration diagram for Arcane::VariableRef:

Classes

class  UpdateNotifyFunctorList
 Internal class to manage functors called when the variable is updated. More...

Public Member Functions

virtual ~VariableRef ()
 Releases resources.
ISubDomainsubDomain () const
 Sub-domain associated with the variable (TODO deprecate end of 2023).
IVariableMngvariableMng () const
 Variable manager associated with the variable.
String name () const
 Variable name.
virtual eDataType dataType () const
 Variable type (Real, Integer, ...).
virtual void print (std::ostream &o) const
 Prints the variable value.
virtual IModulemodule () const
 Module associated with the variable (or nullptr, if none).
virtual int property () const
 Variable properties.
virtual int referenceProperty () const
 Reference properties (internal).
virtual void setProperty (int property)
 Sets the property property.
virtual void unsetProperty (int property)
 Unsets the property property.
virtual void registerVariable ()
 Registers the variable (internal).
virtual void unregisterVariable ()
 Unregisters the variable (internal).
IVariablevariable () const
 Associated variable.
virtual Integer checkIfSync (int max_print=0)
 Checks if the variable is synchronized.
virtual Integer checkIfSameOnAllReplica (int max_print=0)
 Checks if the variable has the same values on all replicas.
virtual void updateFromInternal ()
 Updates from the internal part.
virtual Integer arraySize () const
 If the variable is an array, returns its dimension, otherwise returns 0.
void setUsed (bool v)
bool isUsed () const
virtual void internalSetUsed (bool)
const StringassignmentStackTrace () const
 Call stack at the time of assigning this instance.
void addTag (const String &tagname, const String &tagvalue)
 Adds the tag tagname with the value tagvalue.
void removeTag (const String &tagname)
 Removes the tag tagname.
bool hasTag (const String &tagname) const
 true if the variable has the tag tagname
String tagValue (const String &tagname) const
 Value of the tag tagname. The string is null if the tag does not exist.

Protected Member Functions

 VariableRef (const VariableBuildInfo &vbi)
 Constructs a reference to a variable with the infos vbi.
 VariableRef (const VariableRef &from)
 Copy constructor.
 VariableRef (IVariable *var)
 Constructs a reference to a variable var.
VariableRefoperator= (const VariableRef &from)
 Copy assignment operator.
 VariableRef ()
 Default constructor.

Friends

class UpdateNotifyFunctorList

Dependency Management

Operations related to variable dependency management.

IVariablem_variable = nullptr
 Associated variable.
IModulem_module = nullptr
 Associated module (or 0 if none).
bool m_is_registered = false
 true if the variable has been registered
int m_reference_property = 0
 Reference properties.
VariableRefm_previous_reference = nullptr
 Previous reference on m_variable.
VariableRefm_next_reference = nullptr
 Next reference on m_variable.
String m_assignment_stack_trace
 Call stack during variable assignment.
UpdateNotifyFunctorListm_notify_functor_list = nullptr
bool m_has_trace = false
static bool m_static_has_trace_creation = false
void _setComputeFunction (IVariableComputeFunction *v)
void _internalInit (IVariable *)
 Internal initialization of the variable.
IVariable_variable () const
 Referenced variable.
void _executeUpdateFunctors ()
void _internalAssignVariable (const VariableRef &var)
void update ()
 Recalculates the variable if necessary.
void setUpToDate ()
 Indicates that the variable has just been updated.
Int64 modifiedTime ()
 Time when the variable was updated.
void addDependCurrentTime (const VariableRef &var)
 Adds var to the dependency list at the current time.
void addDependCurrentTime (const VariableRef &var, const TraceInfo &tinfo)
 Adds var to the dependency list at the current time with trace info tinfo.
void addDependPreviousTime (const VariableRef &var)
 Adds var to the dependency list at the previous time.
void addDependPreviousTime (const VariableRef &var, const TraceInfo &tinfo)
 Adds var to the dependency list at the previous time with trace info tinfo.
void removeDepend (const VariableRef &var)
 Removes var from the dependency list.
template<typename ClassType>
void setComputeFunction (ClassType *instance, void(ClassType::*func)())
 Sets the variable's recalculation function.
template<typename ClassType>
void setComputeFunction (ClassType *instance, void(ClassType::*func)(), const TraceInfo &tinfo)
 Sets the variable's recalculation function.
VariableRefpreviousReference ()
 Previous reference (or null) to variable().
VariableRefnextReference ()
 Next reference (or null) to variable().
void setPreviousReference (VariableRef *v)
 Sets the previous reference.
void setNextReference (VariableRef *v)
 Sets the next reference.
static void setTraceCreation (bool v)
static bool hasTraceCreation ()
void _checkValid () const
void _throwInvalid () const
bool _checkValidPropertyChanged (int property)
 Checks if a property can be changed dynamically.
void _setAssignmentStackTrace ()

Detailed Description

Reference to a variable.

This class manages a reference to a variable (IVariable).

If the variable is not associated with a module, the module() method returns 0.

This class must be derived.

The most derived class of this class must call _internalInit() in its constructor. Only it must do so, and in the constructor to ensure that the reference to the variable is valid as soon as the object is constructed and that the virtual methods that must be called during this initialization correspond to the instance being created.

Definition at line 55 of file VariableRef.h.

Constructor & Destructor Documentation

◆ VariableRef() [1/4]

Arcane::VariableRef::VariableRef ( const VariableBuildInfo & vbi)
explicitprotected

◆ VariableRef() [2/4]

Arcane::VariableRef::VariableRef ( const VariableRef & from)
protected

Copy constructor.

Definition at line 178 of file VariableRef.cc.

References m_module, m_reference_property, m_variable, registerVariable(), and VariableRef().

Here is the call graph for this function:

◆ VariableRef() [3/4]

Arcane::VariableRef::VariableRef ( IVariable * var)
explicitprotected

Constructs a reference to a variable var.

Definition at line 150 of file VariableRef.cc.

References m_reference_property, m_variable, and property().

Here is the call graph for this function:

◆ VariableRef() [4/4]

Arcane::VariableRef::VariableRef ( )
protected

Default constructor.

Constructor for an unregistered variable.

This constructor is only used for C# wrapping. In C++, it is not accessible to ensure that the user does not have unreferenced variables

Definition at line 170 of file VariableRef.cc.

◆ ~VariableRef()

Arcane::VariableRef::~VariableRef ( )
virtual

Releases resources.

Definition at line 209 of file VariableRef.cc.

References m_is_registered, and unregisterVariable().

Here is the call graph for this function:

Member Function Documentation

◆ _checkValid()

void Arcane::VariableRef::_checkValid ( ) const
inlineprivate

Definition at line 335 of file VariableRef.h.

◆ _checkValidPropertyChanged()

bool Arcane::VariableRef::_checkValidPropertyChanged ( int property)
private

Checks if a property can be changed dynamically.

Definition at line 410 of file VariableRef.cc.

References Arcane::IVariable::PDumpNull, Arcane::IVariable::PExecutionDepend, Arcane::IVariable::PHasTrace, Arcane::IVariable::PNoDump, Arcane::IVariable::PNoExchange, Arcane::IVariable::PNoNeedSync, Arcane::IVariable::PNoReplicaSync, Arcane::IVariable::PNoRestore, Arcane::IVariable::PPersistant, Arcane::IVariable::PPrivate, property(), Arcane::IVariable::PSubDomainDepend, and Arcane::IVariable::PSubDomainPrivate.

Referenced by setProperty(), and unsetProperty().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _executeUpdateFunctors()

void Arcane::VariableRef::_executeUpdateFunctors ( )
protected

Definition at line 619 of file VariableRef.cc.

◆ _internalAssignVariable()

void Arcane::VariableRef::_internalAssignVariable ( const VariableRef & var)
protected

Definition at line 629 of file VariableRef.cc.

◆ _internalInit()

void Arcane::VariableRef::_internalInit ( IVariable * variable)
protected

Internal initialization of the variable.

Warning
This method must obligatorily be called in the derived class constructor before any use of the reference.

Definition at line 261 of file VariableRef.cc.

References Arcane::IK_Unknown, m_variable, registerVariable(), updateFromInternal(), and variable().

Referenced by Arcane::VariableRefArray2T< T >::VariableRefArray2T(), Arcane::VariableRefArray2T< T >::VariableRefArray2T(), Arcane::VariableRefArrayT< T >::VariableRefArrayT(), Arcane::VariableRefArrayT< T >::VariableRefArrayT(), Arcane::VariableRefScalarT< DataType >::VariableRefScalarT(), and Arcane::VariableRefScalarT< DataType >::VariableRefScalarT().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _setAssignmentStackTrace()

void Arcane::VariableRef::_setAssignmentStackTrace ( )
private

Definition at line 224 of file VariableRef.cc.

◆ _setComputeFunction()

void Arcane::VariableRef::_setComputeFunction ( IVariableComputeFunction * v)
protected

Definition at line 512 of file VariableRef.cc.

◆ _throwInvalid()

void Arcane::VariableRef::_throwInvalid ( ) const
private

Definition at line 373 of file VariableRef.cc.

◆ _variable()

IVariable * Arcane::VariableRef::_variable ( ) const
inlineprotected

Referenced variable.

This method checks that a variable is properly referenced.

Definition at line 294 of file VariableRef.h.

References m_variable.

◆ addDependCurrentTime() [1/2]

void Arcane::VariableRef::addDependCurrentTime ( const VariableRef & var)

Adds var to the dependency list at the current time.

Definition at line 467 of file VariableRef.cc.

References m_variable, variable(), and VariableRef().

Here is the call graph for this function:

◆ addDependCurrentTime() [2/2]

void Arcane::VariableRef::addDependCurrentTime ( const VariableRef & var,
const TraceInfo & tinfo )

Adds var to the dependency list at the current time with trace info tinfo.

Definition at line 485 of file VariableRef.cc.

References m_variable, variable(), and VariableRef().

Here is the call graph for this function:

◆ addDependPreviousTime() [1/2]

void Arcane::VariableRef::addDependPreviousTime ( const VariableRef & var)

Adds var to the dependency list at the previous time.

Definition at line 476 of file VariableRef.cc.

References m_variable, variable(), and VariableRef().

Here is the call graph for this function:

◆ addDependPreviousTime() [2/2]

void Arcane::VariableRef::addDependPreviousTime ( const VariableRef & var,
const TraceInfo & tinfo )

Adds var to the dependency list at the previous time with trace info tinfo.

Definition at line 494 of file VariableRef.cc.

References m_variable, variable(), and VariableRef().

Here is the call graph for this function:

◆ addTag()

void Arcane::VariableRef::addTag ( const String & tagname,
const String & tagvalue )

Adds the tag tagname with the value tagvalue.

Definition at line 521 of file VariableRef.cc.

References m_variable.

◆ arraySize()

virtual Integer Arcane::VariableRef::arraySize ( ) const
inlinevirtual

If the variable is an array, returns its dimension, otherwise returns 0.

Reimplemented in Arcane::PrivateVariableArrayT< DataType >, Arcane::PrivateVariableArrayT< DataTypeT >, Arcane::PrivateVariableScalarT< DataType >, Arcane::PrivateVariableScalarT< DataTypeT >, Arcane::PrivateVariableScalarT< IntAggregator >, Arcane::VariableRefArray2T< T >, Arcane::VariableRefArray2T< Byte >, Arcane::VariableRefArray2T< DataType >, Arcane::VariableRefArray2T< Int16 >, Arcane::VariableRefArray2T< Int32 >, Arcane::VariableRefArray2T< Int64 >, Arcane::VariableRefArray2T< Integer >, Arcane::VariableRefArray2T< Real >, Arcane::VariableRefArray2T< Real2 >, Arcane::VariableRefArray2T< Real2x2 >, Arcane::VariableRefArray2T< Real3 >, Arcane::VariableRefArray2T< Real3x3 >, Arcane::VariableRefArrayT< T >, Arcane::VariableRefArrayT< Byte >, Arcane::VariableRefArrayT< DataType >, Arcane::VariableRefArrayT< Int16 >, Arcane::VariableRefArrayT< Int32 >, Arcane::VariableRefArrayT< Int64 >, Arcane::VariableRefArrayT< Integer >, Arcane::VariableRefArrayT< Real >, Arcane::VariableRefArrayT< Real2 >, Arcane::VariableRefArrayT< Real2x2 >, Arcane::VariableRefArrayT< Real3 >, Arcane::VariableRefArrayT< Real3x3 >, Arcane::VariableRefArrayT< String >, Arcane::VariableRefScalarT< DataType >, Arcane::VariableRefScalarT< Byte >, Arcane::VariableRefScalarT< Int16 >, Arcane::VariableRefScalarT< Int32 >, Arcane::VariableRefScalarT< Int64 >, Arcane::VariableRefScalarT< Integer >, Arcane::VariableRefScalarT< Real >, Arcane::VariableRefScalarT< Real2 >, Arcane::VariableRefScalarT< Real2x2 >, Arcane::VariableRefScalarT< Real3 >, Arcane::VariableRefScalarT< Real3x3 >, and Arcane::VariableRefScalarT< String >.

Definition at line 143 of file VariableRef.h.

◆ assignmentStackTrace()

const String & Arcane::VariableRef::assignmentStackTrace ( ) const
inline

Call stack at the time of assigning this instance.

The stack is only accessible in verification or debug mode. If not, it returns a null string.

Definition at line 160 of file VariableRef.h.

References m_assignment_stack_trace.

Referenced by Arcane::VariableMng::removeAllVariables().

Here is the caller graph for this function:

◆ checkIfSameOnAllReplica()

Integer Arcane::VariableRef::checkIfSameOnAllReplica ( int max_print = 0)
virtual

Checks if the variable has the same values on all replicas.

See also
IVariable::checkIfSameOnAllReplica()

Definition at line 346 of file VariableRef.cc.

References m_variable.

◆ checkIfSync()

Integer Arcane::VariableRef::checkIfSync ( int max_print = 0)
virtual

Checks if the variable is synchronized.

See also
IVariable::checkIfSync()

Definition at line 336 of file VariableRef.cc.

References m_variable.

Referenced by Arcane::mesh::DynamicMeshChecker::checkValidConnectivity().

Here is the caller graph for this function:

◆ dataType()

eDataType Arcane::VariableRef::dataType ( ) const
virtual

Variable type (Real, Integer, ...).

Definition at line 276 of file VariableRef.cc.

References m_variable.

Referenced by Arcane::VariableMng::_dumpVariable().

Here is the caller graph for this function:

◆ hasTag()

bool Arcane::VariableRef::hasTag ( const String & tagname) const

true if the variable has the tag tagname

Definition at line 539 of file VariableRef.cc.

References m_variable.

◆ hasTraceCreation()

bool Arcane::VariableRef::hasTraceCreation ( )
static

Definition at line 610 of file VariableRef.cc.

◆ internalSetUsed()

virtual void Arcane::VariableRef::internalSetUsed ( bool )
inlinevirtual

Definition at line 150 of file VariableRef.h.

◆ isUsed()

bool Arcane::VariableRef::isUsed ( ) const
inline

Definition at line 148 of file VariableRef.h.

◆ modifiedTime()

Int64 Arcane::VariableRef::modifiedTime ( )

Time when the variable was updated.

Definition at line 458 of file VariableRef.cc.

References m_variable.

◆ module()

virtual IModule * Arcane::VariableRef::module ( ) const
inlinevirtual

Module associated with the variable (or nullptr, if none).

Definition at line 104 of file VariableRef.h.

References m_module.

Referenced by Arcane::VariableMng::dumpStats(), Arcane::VariableMng::initializeVariables(), and VariableRef().

Here is the caller graph for this function:

◆ name()

◆ nextReference()

VariableRef * Arcane::VariableRef::nextReference ( )

Next reference (or null) to variable().

Definition at line 566 of file VariableRef.cc.

References m_next_reference, and VariableRef().

Referenced by Arcane::Variable::removeVariableRef().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

VariableRef & Arcane::VariableRef::operator= ( const VariableRef & from)
protected

Copy assignment operator.

Definition at line 196 of file VariableRef.cc.

References m_variable, and VariableRef().

Referenced by Arcane::VariableRefArray2T< T >::operator=(), Arcane::VariableRefArray2T< T >::refersTo(), Arcane::VariableRefArrayT< T >::refersTo(), Arcane::VariableRefScalarT< DataType >::refersTo(), and Arcane::PrivateVariableArrayT< DataTypeT >::updateFromInternal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ previousReference()

VariableRef * Arcane::VariableRef::previousReference ( )

Previous reference (or null) to variable().

Definition at line 557 of file VariableRef.cc.

References m_previous_reference, and VariableRef().

Referenced by Arcane::Variable::addVariableRef(), and Arcane::Variable::removeVariableRef().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ print()

void Arcane::VariableRef::print ( std::ostream & o) const
virtual

Prints the variable value.

Definition at line 286 of file VariableRef.cc.

References m_variable.

Referenced by Arcane::VariableMng::_dumpVariable().

Here is the caller graph for this function:

◆ property()

int Arcane::VariableRef::property ( ) const
virtual

Variable properties.

Definition at line 306 of file VariableRef.cc.

References m_variable.

Referenced by _checkValidPropertyChanged(), Arcane::VariableRefArray2T< T >::_internalTrueData(), Arcane::VariableRefArrayT< T >::_internalTrueData(), setProperty(), unsetProperty(), VariableRef(), and VariableRef().

Here is the caller graph for this function:

◆ referenceProperty()

int Arcane::VariableRef::referenceProperty ( ) const
virtual

Reference properties (internal).

Definition at line 356 of file VariableRef.cc.

References m_reference_property.

Referenced by Arcane::Variable::property().

Here is the caller graph for this function:

◆ registerVariable()

void Arcane::VariableRef::registerVariable ( )
virtual

Registers the variable (internal).

Definition at line 250 of file VariableRef.cc.

References m_is_registered, and m_variable.

Referenced by _internalInit(), and VariableRef().

Here is the caller graph for this function:

◆ removeDepend()

void Arcane::VariableRef::removeDepend ( const VariableRef & var)

Removes var from the dependency list.

Definition at line 503 of file VariableRef.cc.

References m_variable, variable(), and VariableRef().

Here is the call graph for this function:

◆ removeTag()

void Arcane::VariableRef::removeTag ( const String & tagname)

Removes the tag tagname.

If the tag tagname is not in the list, nothing happens.

Definition at line 530 of file VariableRef.cc.

References m_variable.

◆ setComputeFunction() [1/2]

template<typename ClassType>
void Arcane::VariableRef::setComputeFunction ( ClassType * instance,
void(ClassType::* func )() )
inline

Sets the variable's recalculation function.

If a recalculation function already existed, it is destroyed and replaced by this one.

Definition at line 228 of file VariableRef.h.

◆ setComputeFunction() [2/2]

template<typename ClassType>
void Arcane::VariableRef::setComputeFunction ( ClassType * instance,
void(ClassType::* func )(),
const TraceInfo & tinfo )
inline

Sets the variable's recalculation function.

If a recalculation function already existed, it is destroyed and replaced by this one. tinfo contains the information allowing to know where the function is defined (for debugging)

Definition at line 241 of file VariableRef.h.

◆ setNextReference()

void Arcane::VariableRef::setNextReference ( VariableRef * v)

Sets the next reference.

For internal use only.

Definition at line 584 of file VariableRef.cc.

References m_next_reference, and VariableRef().

Referenced by Arcane::Variable::addVariableRef(), and Arcane::Variable::removeVariableRef().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPreviousReference()

void Arcane::VariableRef::setPreviousReference ( VariableRef * v)

Sets the previous reference.

For internal use only.

Definition at line 575 of file VariableRef.cc.

References m_previous_reference, and VariableRef().

Referenced by Arcane::Variable::addVariableRef(), and Arcane::Variable::removeVariableRef().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setProperty()

void Arcane::VariableRef::setProperty ( int property)
virtual

Sets the property property.

Definition at line 383 of file VariableRef.cc.

References _checkValidPropertyChanged(), m_reference_property, m_variable, and property().

Here is the call graph for this function:

◆ setTraceCreation()

void Arcane::VariableRef::setTraceCreation ( bool v)
static

Definition at line 601 of file VariableRef.cc.

◆ setUpToDate()

void Arcane::VariableRef::setUpToDate ( )

Indicates that the variable has just been updated.

For correct dependency management, this property must be called every time a variable update has been performed.

Definition at line 449 of file VariableRef.cc.

References m_variable.

◆ setUsed()

void Arcane::VariableRef::setUsed ( bool v)
inline

Definition at line 147 of file VariableRef.h.

◆ subDomain()

ISubDomain * Arcane::VariableRef::subDomain ( ) const

Sub-domain associated with the variable (TODO deprecate end of 2023).

Definition at line 316 of file VariableRef.cc.

References m_variable.

◆ tagValue()

String Arcane::VariableRef::tagValue ( const String & tagname) const

Value of the tag tagname. The string is null if the tag does not exist.

Definition at line 548 of file VariableRef.cc.

References m_variable.

◆ unregisterVariable()

void Arcane::VariableRef::unregisterVariable ( )
virtual

Unregisters the variable (internal).

Definition at line 239 of file VariableRef.cc.

References m_is_registered, and m_variable.

Referenced by ~VariableRef().

Here is the caller graph for this function:

◆ unsetProperty()

void Arcane::VariableRef::unsetProperty ( int property)
virtual

Unsets the property property.

Definition at line 395 of file VariableRef.cc.

References _checkValidPropertyChanged(), m_reference_property, m_variable, and property().

Here is the call graph for this function:

◆ update()

void Arcane::VariableRef::update ( )

Recalculates the variable if necessary.

Through the dependency mechanism, this operation is called recursively on all variables that the instance depends on. The recalculation function computeFunction() is then called if it turns out that one of the variables it depends on has been modified more recently.

Definition at line 440 of file VariableRef.cc.

References m_variable.

◆ updateFromInternal()

void Arcane::VariableRef::updateFromInternal ( )
virtual

Updates from the internal part.

Reimplemented in Arcane::MeshMatrixMDVariableRefT< ItemType, DataType, Row, Column, Extents >, Arcane::MeshMDVariableRefBaseT< ItemType, DataType, Extents >, Arcane::MeshMDVariableRefBaseT< ItemType, DataType, AddedFirstExtentsType >, Arcane::MeshMDVariableRefBaseT< ItemType, DataType, AddedFirstLastExtentsType >, Arcane::MeshMDVariableRefBaseT< ItemType, DataType, AddedFirstLastLastExtentsType >, Arcane::MeshMDVariableRefBaseT< ItemType, DataType, Extents::template AddedFirstExtentsType< DynExtent > >, Arcane::MeshMDVariableRefBaseT< ItemType, DataType, Extents::template AddedFirstLastExtentsType< DynExtent, Size > >, Arcane::MeshMDVariableRefBaseT< ItemType, DataType, Extents::template AddedFirstLastLastExtentsType< DynExtent, Row, Column > >, Arcane::MeshVectorMDVariableRefT< ItemType, DataType, Size, Extents >, Arcane::PrivateVariableArrayT< DataType >, Arcane::PrivateVariableArrayT< DataTypeT >, Arcane::PrivateVariableScalarT< DataType >, Arcane::PrivateVariableScalarT< DataTypeT >, Arcane::PrivateVariableScalarT< IntAggregator >, Arcane::VariableRefArray2T< T >, Arcane::VariableRefArray2T< Byte >, Arcane::VariableRefArray2T< DataType >, Arcane::VariableRefArray2T< Int16 >, Arcane::VariableRefArray2T< Int32 >, Arcane::VariableRefArray2T< Int64 >, Arcane::VariableRefArray2T< Integer >, Arcane::VariableRefArray2T< Real >, Arcane::VariableRefArray2T< Real2 >, Arcane::VariableRefArray2T< Real2x2 >, Arcane::VariableRefArray2T< Real3 >, Arcane::VariableRefArray2T< Real3x3 >, Arcane::VariableRefArrayT< T >, Arcane::VariableRefArrayT< Byte >, Arcane::VariableRefArrayT< DataType >, Arcane::VariableRefArrayT< Int16 >, Arcane::VariableRefArrayT< Int32 >, Arcane::VariableRefArrayT< Int64 >, Arcane::VariableRefArrayT< Integer >, Arcane::VariableRefArrayT< Real >, Arcane::VariableRefArrayT< Real2 >, Arcane::VariableRefArrayT< Real2x2 >, Arcane::VariableRefArrayT< Real3 >, Arcane::VariableRefArrayT< Real3x3 >, Arcane::VariableRefArrayT< String >, Arcane::VariableRefScalarT< DataType >, Arcane::VariableRefScalarT< Byte >, Arcane::VariableRefScalarT< Int16 >, Arcane::VariableRefScalarT< Int32 >, Arcane::VariableRefScalarT< Int64 >, Arcane::VariableRefScalarT< Integer >, Arcane::VariableRefScalarT< Real >, Arcane::VariableRefScalarT< Real2 >, Arcane::VariableRefScalarT< Real2x2 >, Arcane::VariableRefScalarT< Real3 >, Arcane::VariableRefScalarT< Real3x3 >, and Arcane::VariableRefScalarT< String >.

Definition at line 365 of file VariableRef.cc.

Referenced by _internalInit(), Arcane::Variable::syncReferences(), Arcane::PrivateVariableArrayT< DataType >::updateFromInternal(), Arcane::PrivateVariableScalarT< DataType >::updateFromInternal(), Arcane::VariableRefArray2T< T >::updateFromInternal(), Arcane::VariableRefArrayT< T >::updateFromInternal(), and Arcane::VariableRefScalarT< DataType >::updateFromInternal().

Here is the caller graph for this function:

◆ variable()

IVariable * Arcane::VariableRef::variable ( ) const
inline

Associated variable.

Definition at line 126 of file VariableRef.h.

References m_variable.

Referenced by _internalInit(), addDependCurrentTime(), addDependCurrentTime(), addDependPreviousTime(), addDependPreviousTime(), Arcane::mesh::DynamicMeshChecker::checkValidMeshFull(), Arcane::DumpWEnsight7::endWrite(), Arcane::VariableMng::initializeVariables(), Arcane::VariableUtils::markVariableAsMostlyReadOnly(), Arcane::Hdf5VariableReaderHelper::open(), Arcane::AnyItem::Variable< DataType >::VariableAdder::operator<<(), Arcane::AnyItem::Variable< DataType >::VariableAdder::operator<<(), Arcane::AnyItem::VariableArray< DataType >::VariableAdder::operator<<(), Arcane::AnyItem::VariableArray< DataType >::VariableAdder::operator<<(), Arcane::VariableUtils::prefetchVariableAsync(), removeDepend(), Arcane::ItemGroupImplInternal::setMemoryRessourceForItemLocalId(), Arcane::Numerics::GeometryServiceBase::update(), Arcane::Accelerator::viewIn(), Arcane::Accelerator::viewIn(), Arcane::Accelerator::viewIn(), Arcane::Accelerator::viewIn(), Arcane::Accelerator::viewIn(), Arcane::viewIn(), Arcane::viewIn(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::viewInOut(), Arcane::viewInOut(), Arcane::viewInOut(), Arcane::viewInOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), Arcane::viewOut(), Arcane::viewOut(), Arcane::viewOut(), and Arcane::viewOut().

◆ variableMng()

IVariableMng * Arcane::VariableRef::variableMng ( ) const

Variable manager associated with the variable.

Definition at line 326 of file VariableRef.cc.

References m_variable.

Referenced by Arcane::VariableRefScalarT< DataType >::reduce().

Here is the caller graph for this function:

◆ UpdateNotifyFunctorList

friend class UpdateNotifyFunctorList
friend

Definition at line 60 of file VariableRef.h.

Member Data Documentation

◆ m_assignment_stack_trace

String Arcane::VariableRef::m_assignment_stack_trace
private

Call stack during variable assignment.

Used only when traces are active.

Definition at line 325 of file VariableRef.h.

Referenced by assignmentStackTrace().

◆ m_has_trace

bool Arcane::VariableRef::m_has_trace = false
protected

Definition at line 331 of file VariableRef.h.

◆ m_is_registered

bool Arcane::VariableRef::m_is_registered = false
private

true if the variable has been registered

Definition at line 309 of file VariableRef.h.

Referenced by registerVariable(), unregisterVariable(), and ~VariableRef().

◆ m_module

IModule* Arcane::VariableRef::m_module = nullptr
private

Associated module (or 0 if none).

Definition at line 306 of file VariableRef.h.

Referenced by module(), VariableRef(), and VariableRef().

◆ m_next_reference

VariableRef* Arcane::VariableRef::m_next_reference = nullptr
private

Next reference on m_variable.

Definition at line 318 of file VariableRef.h.

Referenced by nextReference(), and setNextReference().

◆ m_notify_functor_list

UpdateNotifyFunctorList* Arcane::VariableRef::m_notify_functor_list = nullptr
private

Definition at line 353 of file VariableRef.h.

◆ m_previous_reference

VariableRef* Arcane::VariableRef::m_previous_reference = nullptr
private

Previous reference on m_variable.

Definition at line 315 of file VariableRef.h.

Referenced by previousReference(), and setPreviousReference().

◆ m_reference_property

int Arcane::VariableRef::m_reference_property = 0
private

Reference properties.

Definition at line 312 of file VariableRef.h.

Referenced by referenceProperty(), setProperty(), unsetProperty(), VariableRef(), VariableRef(), and VariableRef().

◆ m_static_has_trace_creation

bool Arcane::VariableRef::m_static_has_trace_creation = false
staticprivate

Definition at line 352 of file VariableRef.h.

◆ m_variable


The documentation for this class was generated from the following files: