Arcane  v3.16.4.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-2025 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-2025 */
9/* */
10/* Interface proposant des fonctions utilitaires sur les variables. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IVARIABLEUTILITIES_H
13#define ARCANE_CORE_IVARIABLEUTILITIES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Interface proposant des fonctions utilitaires sur les variables.
29 */
30class ARCANE_CORE_EXPORT IVariableUtilities
31{
32 public:
33
34 virtual ~IVariableUtilities() = default; //!< Libère les ressources.
35
36 public:
37
38 //! Gestionnaire de variables associé
39 virtual IVariableMng* variableMng() const = 0;
40
41 /*!
42 * \brief Affiche les informations de dépendance sur une variable.
43 *
44 * Affiche sur le flot \a ostr les informations sur les variables
45 * dont dépend \a var. Si \a is_recursive vaut \a true, cette
46 * méthode est aussi appelé pour ces variables.
47 */
48 virtual void dumpDependencies(IVariable* var, std::ostream& ostr, bool is_recursive) = 0;
49
50 /*!
51 * \brief Affiche les informations de dépendance de toutes les variables.
52 *
53 * Affiche sur le flot \a ostr les informations de toutes les
54 * variables utilisées.
55 */
56 virtual void dumpAllVariableDependencies(std::ostream& ostr, bool is_recursive) = 0;
57
58 /*!
59 * \brief Filtre les variables communes entre plusieurs rangs.
60 *
61 * Cette méthode permet de filtrer les variables de \a input_variables
62 * qui sont présentes sur tous les rangs de \a pm. Elle retourne
63 * la liste triée par ordre alphabétique des variables communes à tous
64 * les rangs.
65 *
66 * Si \a dump_no_common est vrai, affiche (via ITraceMng::info()) la liste
67 * des variables qui ne sont pas communes sur tous les rangs.
68 */
70 VariableCollection input_variables,
71 bool dump_not_common) = 0;
72};
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76
77} // namespace Arcane
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82#endif
83
Déclarations des types généraux de Arcane.
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 VariableCollection filterCommonVariables(IParallelMng *pm, VariableCollection input_variables, bool dump_not_common)=0
Filtre les variables communes entre plusieurs rangs.
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 ~IVariableUtilities()=default
Libère les ressources.
Collection de variables.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-