Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IVariableUtilities.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/* IVariableUtilities.h (C) 2000-2018 */
9/* */
10/* Interface proposant des fonctions utilitaires sur les variables. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IVARIABLEUTILITIES_H
13#define ARCANE_IVARIABLEUTILITIES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IVariableMng;
28class IParallelMng;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32/*!
33 * \brief Interface proposant des fonctions utilitaires sur les variables.
34 */
35class ARCANE_CORE_EXPORT IVariableUtilities
36{
37 public:
38
39 virtual ~IVariableUtilities() {} //!< Libère les ressources.
40
41 public:
42
43 //! Gestionnaire de variables associé
44 virtual IVariableMng* variableMng() const =0;
45
46 /*!
47 * \brief Affiche les informations de dépendance sur une variable.
48 *
49 * Affiche sur le flot \a ostr les informations sur les variables
50 * dont dépend \a var. Si \a is_recursive vaut \a true, cette
51 * méthode est aussi appelé pour ces variables.
52 */
53 virtual void dumpDependencies(IVariable* var,std::ostream& ostr,bool is_recursive) =0;
54
55 /*!
56 * \brief Affiche les informations de dépendance de toutes les variables.
57 *
58 * Affiche sur le flot \a ostr les informations de toutes les
59 * variables utilisées.
60 */
61 virtual void dumpAllVariableDependencies(std::ostream& ostr,bool is_recursive) =0;
62
63 /*!
64 * \brief Filtre les variables communes entre plusieurs rangs.
65 *
66 * Cette méthode permet de filtrer les variables de \a input_variables
67 * qui sont présentes sur tous les rangs de \a pm. Elle retourne
68 * la liste triée par ordre alphabétique des variables communes à tous
69 * les rangs.
70 *
71 * Si \a dump_no_common est vrai, affiche (via ITraceMng::info()) la liste
72 * des variables qui ne sont pas communes sur tous les rangs.
73 */
75 const VariableCollection input_variables,
76 bool dump_not_common) =0;
77};
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82ARCANE_END_NAMESPACE
83
84/*---------------------------------------------------------------------------*/
85/*---------------------------------------------------------------------------*/
86
87#endif
88
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface du gestionnaire de variables.
Interface proposant des fonctions utilitaires sur les variables.
virtual void dumpAllVariableDependencies(std::ostream &ostr, bool is_recursive)=0
Affiche les informations de dépendance de toutes les variables.
virtual void dumpDependencies(IVariable *var, std::ostream &ostr, bool is_recursive)=0
Affiche les informations de dépendance sur une variable.
virtual IVariableMng * variableMng() const =0
Gestionnaire de variables associé
virtual VariableCollection filterCommonVariables(IParallelMng *pm, const VariableCollection input_variables, bool dump_not_common)=0
Filtre les variables communes entre plusieurs rangs.
virtual ~IVariableUtilities()
Libère les ressources.
Collection de variables.