Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ParameterList.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/* ParameterList.h (C) 2000-2025 */
9/* */
10/* Liste de paramètres. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_PARAMETERLIST_H
13#define ARCANE_UTILS_PARAMETERLIST_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/utils/ParameterCaseOption.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Liste de paramètres.
30 *
31 * Une liste de paramètres est similaire à un ensemble (clé,valeur) mais
32 * une clé peut-être éventuellement présente plusieurs fois (un peu à la
33 * manière de la classe std::multi_map).
34 */
35class ARCANE_UTILS_EXPORT ParameterList
36{
37 private:
38
39 class Impl; //!< Implémentation
40
41 public:
42
43 //! Construit un dictionnaire
45 //! Construit un dictionnaire
46 ParameterList(const ParameterList& rhs);
47 ~ParameterList(); //!< Libère les ressources
48
49 public:
50
51 /*!
52 * \brief Récupère le paramètre de nom \a param_name.
53 *
54 * Retourne une chaîne nulle s'il n'y aucun paramètre avec ce nom.
55 *
56 * Si le paramètre est présent plusieurs fois, seule la dernière
57 * valeur est retournée.
58 */
59 String getParameterOrNull(const String& param_name) const;
60
61 /*!
62 * \brief Analyse la ligne \a line.
63 *
64 * La ligne doit avoir une des formes suivantes, avec \a A le
65 * paramètre et \a B la valeur:
66 *
67 * 1. A=B,
68 * 2. A:=B
69 * 3. A+=B,
70 * 4. A-=B
71 *
72 * Dans le cas (1) ou (3), la valeur de l'argument est ajoutée aux
73 * occurences déjà présentes. Dans le cas (2), la valeur de
74 * l'argument remplace toutes les occurences déjà présentes. Dans
75 * le cas (4), l'occurence ayant la valeur \a B est supprimée si elle
76 * était présente et rien ne se produit si elle était absente.
77 *
78 * \retval false si un paramètre a pu être analysé
79 * \retval true sinon.
80 */
81 bool addParameterLine(const String& line);
82
83 /*!
84 * \brief Récupère la liste des paramètres et leur valeur.
85 *
86 * Retourne dans \a param_names la liste des noms des paramêtres et
87 * dans \a values la valeur associée.
88 */
89 void fillParameters(StringList& param_names,StringList& values) const;
90
91 /*!
92 * \brief Méthode permettant de récupérer un objet de type ParameterCaseOption.
93 *
94 * Cet objet peut être détruit après utilisation.
95 *
96 * \param language Le langage dans lequel est écrit le jeu de données.
97 * \return Un objet de type ParameterCaseOption.
98 */
100
101 private:
102
103 Impl* m_p; //!< Implémentation
104};
105
106/*---------------------------------------------------------------------------*/
107/*---------------------------------------------------------------------------*/
108
109} // End namespace Arcane
110
111/*---------------------------------------------------------------------------*/
112/*---------------------------------------------------------------------------*/
113
114#endif
Déclarations des types utilisés dans Arcane.
Classe représentant l'ensemble des paramètres pouvant modifier les options du jeu de données.
void fillParameters(StringList &param_names, StringList &values) const
Récupère la liste des paramètres et leur valeur.
bool addParameterLine(const String &line)
Analyse la ligne line.
String getParameterOrNull(const String &param_name) const
Récupère le paramètre de nom param_name.
ParameterCaseOption getParameterCaseOption(const String &language) const
Méthode permettant de récupérer un objet de type ParameterCaseOption.
ParameterList()
Implémentation.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
List< String > StringList
Tableau de chaînes de caractères unicode.
Definition UtilsTypes.h:596