Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::ItemVariableArrayRefT< DataTypeT > Class Template Reference

Array variable on a mesh entity type. More...

#include <arcane/core/MeshVariableArrayRef.h>

Public Types

typedef DataTypeT DataType
typedef UniqueArray2< DataType > ValueType
typedef ConstArrayView< DataType > ConstReturnReferenceType
typedef ArrayView< DataType > ReturnReferenceType

Public Member Functions

 ItemVariableArrayRefT (const VariableBuildInfo &b, eItemKind ik)
 Constructs a reference to the variable specified in vb.
 ItemVariableArrayRefT (IVariable *var)
 Constructs a reference from var.
 ItemVariableArrayRefT (const ItemVariableArrayRefT< DataType > &rhs)
 Constructs a reference from rhs.
ConstArrayType operator[] (ItemLocalId item) const
 Read-only value of entity item.
ArrayType operator[] (ItemLocalId item)
 Modifiable value of entity item.
const DataType operator() (ItemLocalId item, Int32 i) const
 Read-only value of the i-th value of entity item.
DataType & operator() (ItemLocalId item, Int32 i)
 Modifiable value of the i-th value of entity item.
void copy (const ItemVariableArrayRefT< DataType > &v)
 Copies the values of v into this variable.
void copy (const ItemVariableArrayRefT< DataType > &v, const ItemGroup &group)
 Copies the values of v for the group group into this variable.
void copy (const ItemVariableArrayRefT< DataType > &v, RunQueue *queue)
 Copies the values of v into this variable via the queue queue.
void fill (const DataType &value)
 Fills the variable with the value value.
void fill (const DataType &value, const ItemGroup &group)
 Fills the variable with the value value for the entities in group group.
void fill (const DataType &value, RunQueue *queue)
 Fills the variable with the value value via the queue queue.
Public Member Functions inherited from Arcane::PrivateVariableArrayT< DataTypeT >
Array2View< DataTypeT > asArray ()
Integer totalNbElement () const
Integer arraySize () const
 If the variable is an array, returns its dimension, otherwise returns 0.
bool isArrayVariable () const
void updateFromInternal ()
 Updates from the internal part.
ItemGroup itemGroup () const
void resize (Int32 dim2_size)
void resizeAndReshape (const ArrayShape &shape)
SmallSpan2< DataTypeT > _internalSpan ()
SmallSpan2< const DataTypeT > _internalConstSpan () const
Public Member Functions inherited from Arcane::MeshVariableRef
 MeshVariableRef (const VariableBuildInfo &vb)
 Constructs a reference linked to the module.
void synchronize ()
void synchronize (Int32ConstArrayView local_ids)
Public Member Functions inherited from Arcane::VariableRef
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.
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.
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)
void setNextReference (VariableRef *v)

Static Public Member Functions

static VariableInfo _internalVariableInfo (const VariableBuildInfo &vbi, eItemKind ik)
static VariableTypeInfo _internalVariableTypeInfo (eItemKind ik)
static void setTraceCreation (bool v)
static bool hasTraceCreation ()

Protected Types

typedef PrivateVariableArrayT< DataType > BaseClass
typedef BaseClass::PrivatePartType PrivatePartType
typedef ArrayView< DataType > ArrayType
typedef ConstArrayView< DataType > ConstArrayType
Protected Types inherited from Arcane::PrivateVariableArrayT< DataTypeT >
typedef DataTypeT & DataTypeReturnReference
typedef Array2VariableT< DataTypeT > PrivatePartType

Protected Member Functions

ItemVariableArrayRefT< DataType > & operator= (const ItemVariableArrayRefT< DataType > &rhs)
 Positions the instance reference to the variable rhs.
Protected Member Functions inherited from Arcane::PrivateVariableArrayT< DataTypeT >
 PrivateVariableArrayT (const VariableBuildInfo &vb, const VariableInfo &vi)
void operator= (const PrivateVariableArrayT &rhs)
void _internalInit ()
Protected Member Functions inherited from Arcane::MeshVariableRef
 MeshVariableRef (const MeshVariableRef &rhs)
 MeshVariableRef (IVariable *var)
void operator= (const MeshVariableRef &rhs)
void _internalInit (IVariable *)
Protected Member Functions inherited from Arcane::VariableRef
 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.
void _setComputeFunction (IVariableComputeFunction *v)
void _internalInit (IVariable *)
 Internal initialization of the variable.
IVariable_variable () const
 Referenced variable.
void _executeUpdateFunctors ()
void _internalAssignVariable (const VariableRef &var)

Additional Inherited Members

Protected Attributes inherited from Arcane::PrivateVariableArrayT< DataTypeT >
PrivatePartType * m_private_part
Array2View< DataTypeT > m_view
bool m_has_trace = false

Detailed Description

template<class DataTypeT>
class Arcane::ItemVariableArrayRefT< DataTypeT >

Array variable on a mesh entity type.

Definition at line 35 of file MeshVariableArrayRef.h.

Member Typedef Documentation

◆ ArrayType

template<class DataTypeT>
typedef ArrayView<DataType> Arcane::ItemVariableArrayRefT< DataTypeT >::ArrayType
protected

Definition at line 50 of file MeshVariableArrayRef.h.

◆ BaseClass

template<class DataTypeT>
typedef PrivateVariableArrayT<DataType> Arcane::ItemVariableArrayRefT< DataTypeT >::BaseClass
protected

Definition at line 47 of file MeshVariableArrayRef.h.

◆ ConstArrayType

template<class DataTypeT>
typedef ConstArrayView<DataType> Arcane::ItemVariableArrayRefT< DataTypeT >::ConstArrayType
protected

Definition at line 51 of file MeshVariableArrayRef.h.

◆ ConstReturnReferenceType

template<class DataTypeT>
typedef ConstArrayView<DataType> Arcane::ItemVariableArrayRefT< DataTypeT >::ConstReturnReferenceType

Definition at line 42 of file MeshVariableArrayRef.h.

◆ DataType

template<class DataTypeT>
typedef DataTypeT Arcane::ItemVariableArrayRefT< DataTypeT >::DataType

Definition at line 40 of file MeshVariableArrayRef.h.

◆ PrivatePartType

template<class DataTypeT>
typedef BaseClass::PrivatePartType Arcane::ItemVariableArrayRefT< DataTypeT >::PrivatePartType
protected

Definition at line 48 of file MeshVariableArrayRef.h.

◆ ReturnReferenceType

template<class DataTypeT>
typedef ArrayView<DataType> Arcane::ItemVariableArrayRefT< DataTypeT >::ReturnReferenceType

Definition at line 43 of file MeshVariableArrayRef.h.

◆ ValueType

template<class DataTypeT>
typedef UniqueArray2<DataType> Arcane::ItemVariableArrayRefT< DataTypeT >::ValueType

Definition at line 41 of file MeshVariableArrayRef.h.

Constructor & Destructor Documentation

◆ ItemVariableArrayRefT() [1/3]

◆ ItemVariableArrayRefT() [2/3]

template<class DataType>
Arcane::ItemVariableArrayRefT< DataType >::ItemVariableArrayRefT ( IVariable * var)
explicit

Constructs a reference from var.

Definition at line 74 of file MeshVariableArrayRef.inst.h.

References ARCANE_FATAL.

◆ ItemVariableArrayRefT() [3/3]

template<class DataType>
Arcane::ItemVariableArrayRefT< DataType >::ItemVariableArrayRefT ( const ItemVariableArrayRefT< DataType > & rhs)

Constructs a reference from rhs.

Definition at line 86 of file MeshVariableArrayRef.inst.h.

References ItemVariableArrayRefT(), and Arcane::PrivateVariableArrayT< DataTypeT >::updateFromInternal().

Member Function Documentation

◆ _internalVariableInfo()

template<typename DataType>
VariableInfo Arcane::ItemVariableArrayRefT< DataType >::_internalVariableInfo ( const VariableBuildInfo & vbi,
eItemKind ik )
static

Definition at line 48 of file MeshVariableArrayRef.inst.h.

◆ _internalVariableTypeInfo()

template<typename DataType>
VariableTypeInfo Arcane::ItemVariableArrayRefT< DataType >::_internalVariableTypeInfo ( eItemKind ik)
static

Definition at line 37 of file MeshVariableArrayRef.inst.h.

◆ copy() [1/3]

template<typename DataType>
void Arcane::ItemVariableArrayRefT< DataType >::copy ( const ItemVariableArrayRefT< DataType > & v)

Copies the values of v into this variable.

Definition at line 251 of file MeshVariableArrayRef.inst.h.

References copy(), and ItemVariableArrayRefT().

Referenced by copy(), and copy().

◆ copy() [2/3]

template<typename DataType>
void Arcane::ItemVariableArrayRefT< DataType >::copy ( const ItemVariableArrayRefT< DataType > & v,
const ItemGroup & group )

Copies the values of v for the group group into this variable.

Definition at line 261 of file MeshVariableArrayRef.inst.h.

References ENUMERATE_ITEM, ItemVariableArrayRefT(), and operator[]().

◆ copy() [3/3]

template<typename DataTypeT>
void Arcane::ItemVariableArrayRefT< DataTypeT >::copy ( const ItemVariableArrayRefT< DataType > & v,
RunQueue * queue )

Copies the values of v into this variable via the queue queue.

queue may be null.

Definition at line 273 of file MeshVariableArrayRef.inst.h.

References copy(), Arcane::Array2VariableT< T >::data(), and ItemVariableArrayRefT().

◆ fill() [1/3]

template<class DataType>
void Arcane::ItemVariableArrayRefT< DataType >::fill ( const DataType & value)

Fills the variable with the value value.

Definition at line 229 of file MeshVariableArrayRef.inst.h.

References fill().

Referenced by fill(), and fill().

◆ fill() [2/3]

template<class DataType>
void Arcane::ItemVariableArrayRefT< DataType >::fill ( const DataType & value,
const ItemGroup & group )

Fills the variable with the value value for the entities in group group.

Definition at line 239 of file MeshVariableArrayRef.inst.h.

References ENUMERATE_ITEM, and operator[]().

◆ fill() [3/3]

template<typename DataTypeT>
void Arcane::ItemVariableArrayRefT< DataTypeT >::fill ( const DataType & value,
RunQueue * queue )

Fills the variable with the value value via the queue queue.

Definition at line 287 of file MeshVariableArrayRef.inst.h.

References fill().

◆ operator()() [1/2]

template<class DataTypeT>
DataType & Arcane::ItemVariableArrayRefT< DataTypeT >::operator() ( ItemLocalId item,
Int32 i )
inline

Modifiable value of the i-th value of entity item.

Definition at line 81 of file MeshVariableArrayRef.h.

◆ operator()() [2/2]

template<class DataTypeT>
const DataType Arcane::ItemVariableArrayRefT< DataTypeT >::operator() ( ItemLocalId item,
Int32 i ) const
inline

Read-only value of the i-th value of entity item.

Definition at line 78 of file MeshVariableArrayRef.h.

◆ operator=()

template<class DataType>
ItemVariableArrayRefT< DataType > & Arcane::ItemVariableArrayRefT< DataType >::operator= ( const ItemVariableArrayRefT< DataType > & rhs)
protected

◆ operator[]() [1/2]

template<class DataTypeT>
ArrayType Arcane::ItemVariableArrayRefT< DataTypeT >::operator[] ( ItemLocalId item)
inline

Modifiable value of entity item.

Definition at line 75 of file MeshVariableArrayRef.h.

◆ operator[]() [2/2]

template<class DataTypeT>
ConstArrayType Arcane::ItemVariableArrayRefT< DataTypeT >::operator[] ( ItemLocalId item) const
inline

Read-only value of entity item.

Definition at line 72 of file MeshVariableArrayRef.h.

Referenced by copy(), and fill().


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