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

Utility functions for variables. More...

#include <arcane/impl/VariableUtilities.h>

Inheritance diagram for Arcane::VariableUtilities:
Collaboration diagram for Arcane::VariableUtilities:

Public Member Functions

 VariableUtilities (IVariableMng *vm)
virtual IVariableMngvariableMng () const
 Associated variable manager.
virtual void dumpDependencies (IVariable *var, std::ostream &ostr, bool is_recursive)
 Displays dependency information for a variable.
virtual void dumpAllVariableDependencies (std::ostream &ostr, bool is_recursive)
 Displays dependency information for all variables.
virtual VariableCollection filterCommonVariables (IParallelMng *pm, const VariableCollection input_variables, bool dump_not_common)
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IVariableUtilities
virtual ~IVariableUtilities ()=default
 Frees resources.

Private Member Functions

void _dumpDependencies (IVariable *var, std::ostream &ostr, bool is_recursive)
void _dumpDependencies (VariableDependInfo &vdi, std::ostream &ostr, bool is_recursive, std::set< IVariable * > &done_vars, Integer indent_level)

Private Attributes

IVariableMngm_variable_mng

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Utility functions for variables.

Definition at line 40 of file VariableUtilities.h.

Constructor & Destructor Documentation

◆ VariableUtilities()

Arcane::VariableUtilities::VariableUtilities ( IVariableMng * vm)

Definition at line 38 of file VariableUtilities.cc.

◆ ~VariableUtilities()

Arcane::VariableUtilities::~VariableUtilities ( )
virtual

Definition at line 48 of file VariableUtilities.cc.

Member Function Documentation

◆ _dumpDependencies() [1/2]

void Arcane::VariableUtilities::_dumpDependencies ( IVariable * var,
std::ostream & ostr,
bool is_recursive )
private

Definition at line 82 of file VariableUtilities.cc.

◆ _dumpDependencies() [2/2]

void Arcane::VariableUtilities::_dumpDependencies ( VariableDependInfo & vdi,
std::ostream & ostr,
bool is_recursive,
std::set< IVariable * > & done_vars,
Integer indent_level )
private

Definition at line 111 of file VariableUtilities.cc.

◆ dumpAllVariableDependencies()

void Arcane::VariableUtilities::dumpAllVariableDependencies ( std::ostream & ostr,
bool is_recursive )
virtual

Displays dependency information for all variables.

Displays on the stream ostr the information of all used variables.

Implements Arcane::IVariableUtilities.

Definition at line 59 of file VariableUtilities.cc.

References dumpDependencies().

Here is the call graph for this function:

◆ dumpDependencies()

void Arcane::VariableUtilities::dumpDependencies ( IVariable * var,
std::ostream & ostr,
bool is_recursive )
virtual

Displays dependency information for a variable.

Displays on the stream ostr the information about the variables that depend on var. If is_recursive is true, this method is also called for these variables.

Implements Arcane::IVariableUtilities.

Definition at line 72 of file VariableUtilities.cc.

Referenced by dumpAllVariableDependencies().

Here is the caller graph for this function:

◆ filterCommonVariables()

VariableCollection Arcane::VariableUtilities::filterCommonVariables ( IParallelMng * pm,
const VariableCollection input_variables,
bool dump_not_common )
virtual

The algorithm used is as follows:

  • each rank puts the list of its variables into a SerializeBuffer.
  • an allGather of this SerializerBuffer is performed.
  • each rank reads the content of the allGather and counts the number of occurrences of each variable.
  • variables whose occurrence count is different from pm->commSize() are removed.
  • the remaining variables are sorted alphabetically.

Implements Arcane::IVariableUtilities.

Definition at line 161 of file VariableUtilities.cc.

References Arcane::Array< T >::add(), Arcane::IParallelMng::allGather(), Arcane::BasicSerializer::allocateBuffer(), Arcane::IParallelMng::commSize(), Arcane::IVariable::fullName(), Arcane::BasicSerializer::get(), Arcane::BasicSerializer::getInteger(), Arcane::TraceAccessor::info(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::BasicSerializer::put(), Arcane::BasicSerializer::putInteger(), Arcane::BasicSerializer::reserve(), Arcane::BasicSerializer::setMode(), and Arcane::AbstractArray< T >::size().

Here is the call graph for this function:

◆ variableMng()

virtual IVariableMng * Arcane::VariableUtilities::variableMng ( ) const
inlinevirtual

Associated variable manager.

Implements Arcane::IVariableUtilities.

Definition at line 51 of file VariableUtilities.h.

Member Data Documentation

◆ m_variable_mng

IVariableMng* Arcane::VariableUtilities::m_variable_mng
private

Definition at line 60 of file VariableUtilities.h.


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