12#ifndef ARCANE_CASEOPTIONEXTENDED_H
13#define ARCANE_CASEOPTIONEXTENDED_H
17#include "arcane/utils/Array.h"
19#include "arcane/core/CaseOptionSimple.h"
43 void print(
const String& lang,std::ostream& o)
const override;
54 void setDefaultValue(
const String& def_value);
58 virtual bool _tryToConvert(
const String& s) =0;
60 void _search(
bool is_phase1)
override;
61 bool _allowPhysicalUnit()
override {
return false; }
63 String _typeName()
const {
return m_type_name; }
101 operator const T&()
const {
return value(); }
106 ARCANE_CASEOPTION_CHECK_IS_INITIALIZED;
116 ARCANE_CASEOPTION_CHECK_IS_INITIALIZED;
117 return isPresent() ? m_value : arg_value;
122 virtual bool _tryToConvert(
const String& s)
127 return _caseOptionConvert(*
this,s,m_value);
153 void print(
const String& lang,std::ostream& o)
const override;
160 virtual bool _tryToConvert(
const String& s,Integer pos) =0;
161 virtual void _allocate(Integer size) =0;
162 virtual bool _allowPhysicalUnit() {
return false; }
163 virtual Integer _nbElem()
const =0;
164 String _typeName()
const {
return m_type_name; }
165 void _search(
bool is_phase1)
override;
170 UniqueArray<String> m_values;
202 bool _tryToConvert(
const String& s,Integer pos)
override
208 return _caseOptionConvert(*
this,s,value);
210 void _allocate(Integer
size)
override
212 m_values.resize(
size);
213 ArrayView<T>* view =
this;
214 *view = m_values.view();
217 virtual Integer _nbElem()
const override {
return m_values.size(); }
221 UniqueArray<T> m_values;
Classe de base d'une option du jeu de donnée.
Option du jeu de donnée de type étendu.
const T & value() const
Valeur de l'option.
const T & valueIfPresentOrArgument(const T &arg_value)
Retourne la valeur de l'option si isPresent()==true ou sinon arg_value.
const T & operator()() const
Valeur de l'option.
Option du jeu de données de type étendu.
void updateFromFunction(Real, Integer) override
Met à jour la valeur de l'option à partir d'une fonction.
ICaseFunction * function() const override
Retourne la fonction liée à cette option ou nullptr s'il n'y en a pas.
Option du jeu de donnée de type liste de types étendus.
Option du jeu de donnée de type liste de types étendus.
ICaseFunction * function() const override
Retourne la fonction liée à cette option ou nullptr s'il n'y en a pas.
void updateFromFunction(Real, Integer) override
Met à jour la valeur de l'option à partir d'une fonction.
Classe de base des options simples (uniquement une valeur).
bool isPresent() const
Retourne true si l'option est présente.
Interface du visiteur pour une option du jeu de données.
Vue modifiable d'un tableau d'un type T.
constexpr Integer size() const noexcept
Retourne la taille du tableau.
constexpr reference operator[](Integer i)
i-ème élément du tableau.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.