12#ifndef ARCANE_CASEOPTIONSIMPLE_H
13#define ARCANE_CASEOPTIONSIMPLE_H
17#include "arcane/core/ICaseOptions.h"
18#include "arcane/core/CaseOptionBase.h"
26class IStandardFunction;
27class IPhysicalUnitConverter;
28class StringDictionary;
34#define ARCANE_CASEOPTION_CHECK_IS_INITIALIZED _checkIsInitialized()
36#define ARCANE_CASEOPTION_CHECK_IS_INITIALIZED
42template<
typename Type>
62template<
typename Type>
91 bool isPresent()
const {
return !m_element.null(); }
124 bool hasChangedSinceLastIteration()
const;
126 String xpathFullName()
const;
131 String defaultPhysicalUnit()
const;
133 String physicalUnit()
const;
162 virtual bool _allowPhysicalUnit() =0;
163 void _setChangedSinceLastIteration(
bool has_changed);
165 void _setPhysicalUnit(
const String& value);
166 void _setHasValidValue(
bool v) { m_has_valid_value = v; }
167 XmlNode _element()
const {
return m_element; }
169 static String _convertFunctionRealToString(ICaseFunction* func,
Real t);
170 static String _convertFunctionIntegerToString(ICaseFunction* func,Integer t);
179 bool m_changed_since_last_iteration =
false;
180 bool m_is_optional =
false;
181 bool m_has_valid_value =
false;
182 String m_default_physical_unit;
212 typedef typename CaseOptionTraitsT<T>::ContainerType
Type;
223 ARCANE_CORE_EXPORT
virtual void print(
const String&
lang,std::ostream& o)
const;
228 ARCANE_CASEOPTION_CHECK_IS_INITIALIZED;
246 operator ThatClass*() {
return this; }
247 operator const ThatClass*()
const {
return this; }
248 const ThatClass* operator->()
const {
return this; }
249 static Real castTo__Arcane_Real(
const ThatClass& v)
280 ARCANE_CASEOPTION_CHECK_IS_INITIALIZED;
287 ARCANE_CORE_EXPORT
virtual bool _allowPhysicalUnit();
320#ifdef ARCANE_HAS_PRIVATE_CASEOPTIONSMULTISIMPLE_BASE_CLASS
329 using Type =
typename CaseOptionTraitsT<T>::ContainerType;
330 using ReferenceType =
typename CaseOptionTraitsT<T>::ReferenceType;
331 using ConstReferenceType =
typename CaseOptionTraitsT<T>::ConstReferenceType;
345 ARCCORE_DEPRECATED_2021(
"Use view() instead")
350 ARCCORE_DEPRECATED_2021(
"Use view() instead")
357 ARCCORE_DEPRECATED_2021(
"Use view() instead")
361 ARCCORE_DEPRECATED_2021(
"Use view() instead")
375 ConstReferenceType operator[](Integer i)
const {
return m_view[i]; }
376 ReferenceType operator[](Integer i) {
return m_view[i]; }
380 ARCANE_CORE_EXPORT
void print(
const String& lang,std::ostream& o)
const override;
385 const T& value(Integer index)
const {
return this->operator[](index); }
387 ARCANE_CORE_EXPORT
void visit(ICaseDocumentVisitor* visitor)
const override;
391 void _search(
bool is_phase1)
override;
392 virtual bool _allowPhysicalUnit();
402typedef CaseOptionSimpleT<Real> CaseOptionReal;
403typedef CaseOptionSimpleT<Real2> CaseOptionReal2;
404typedef CaseOptionSimpleT<Real3> CaseOptionReal3;
405typedef CaseOptionSimpleT<Real2x2> CaseOptionReal2x2;
406typedef CaseOptionSimpleT<Real3x3> CaseOptionReal3x3;
407typedef CaseOptionSimpleT<bool> CaseOptionBool;
408typedef CaseOptionSimpleT<Integer> CaseOptionInteger;
409typedef CaseOptionSimpleT<Int32> CaseOptionInt32;
410typedef CaseOptionSimpleT<Int64> CaseOptionInt64;
411typedef CaseOptionSimpleT<String> CaseOptionString;
413typedef CaseOptionSimpleT<RealArray> CaseOptionRealArray;
414typedef CaseOptionSimpleT<Real2Array> CaseOptionReal2Array;
415typedef CaseOptionSimpleT<Real3Array> CaseOptionReal3Array;
416typedef CaseOptionSimpleT<Real2x2Array> CaseOptionReal2x2Array;
417typedef CaseOptionSimpleT<Real3x3Array> CaseOptionReal3x3Array;
418typedef CaseOptionSimpleT<BoolArray> CaseOptionBoolArray;
419typedef CaseOptionSimpleT<IntegerArray> CaseOptionIntegerArray;
420typedef CaseOptionSimpleT<Int32Array> CaseOptionInt32Array;
421typedef CaseOptionSimpleT<Int64Array> CaseOptionInt64Array;
422typedef CaseOptionSimpleT<StringArray> CaseOptionStringArray;
#define ARCANE_DEPRECATED_LONG_TERM(reason)
Macro pour l'attribut 'deprecated' à long terme.
Tableau d'items de types quelconques.
Classe de base d'une option du jeu de donnée.
Informations pour construire une option de jeu de données.
Option du jeu de données de type liste de types simples (réel, entier, booléen, .....
typename CaseOptionTraitsT< T >::ConstArrayViewType ConstArrayViewType
Type de la vue constante sur les valeurs de l'option.
ConstArrayViewType view() const
Vue constante sur les éléments de l'option.
typename CaseOptionTraitsT< T >::ContainerType Type
Type de la valeur de l'option.
typename CaseOptionTraitsT< T >::ArrayViewType ArrayViewType
Type de la vue sur les valeurs de l'option.
void updateFromFunction(Real, Integer) override
Met à jour la valeur de l'option à partir d'une fonction.
void print(const String &lang, std::ostream &o) const override
Imprime la valeur de l'option dans le langage lang,sur le flot o.
ICaseFunction * function() const override
Retourne la fonction liée à cette option ou nullptr s'il n'y en a pas.
void visit(ICaseDocumentVisitor *visitor) const override
Applique le visiteur sur cette option.
void _search(bool is_phase1) override
Cherche la valeur de l'option dans le jeu de donnée.
ArrayViewType view()
Vue sur les éléments de l'option.
Option du jeu de données de type simple (réel, entier, booléen, ...)
const Type & valueIfPresentOrArgument(const Type &arg_value)
Retourne la valeur de l'option si isPresent()==true ou sinon arg_value.
virtual void _search(bool is_phase1)
Cherche la valeur de l'option dans le jeu de données.
ARCANE_DEPRECATED Type operator()(Real t) const
Retourne la valeur de l'option pour le paramètre réel t.
Type valueAtParameter(Real t) const
Retourne la valeur de l'option pour le paramètre réel t.
CaseOptionTraitsT< T >::ContainerType Type
Type de l'option.
virtual void print(const String &lang, std::ostream &o) const
Imprime la valeur de l'option dans le langage lang,sur le flot o.
const Type & value() const
Retourne la valeur de l'option.
const Type & operator()() const
Retourne la valeur de l'option.
ARCANE_DEPRECATED Type operator()(Integer t) const
Retourne la valeur de l'option pour le paramètre entier t.
Type m_value
Valeur de l'option.
virtual void updateFromFunction(Real current_time, Integer current_iteration)
void setDefaultValue(const Type &def_value)
Positionne la valeur par défaut de l'option.
Classe de base des options simples (uniquement une valeur).
XmlNode m_element
Element de l'option.
bool hasValidValue() const
Indique si l'option a une valeur invalide.
ICaseFunction * function() const override
Fonction associée à cette option (0 si aucune).
bool isOptional() const
Indique si l'option est facultative.
virtual IStandardFunction * standardFunction() const
Fonction standard associée à cette option (0 si aucune).
IPhysicalUnitConverter * physicalUnitConverter() const
Convertisseur d'unité physique.
bool isPresent() const
Retourne true si l'option est présente.
Interface du visiteur pour une option du jeu de données.
Interface d'une fonction du jeu de données.
Interface d'un convertisseur d'unité.
Interface gérant une fonction standard.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Vue modifiable d'un tableau d'un type T.
constexpr Integer size() const noexcept
Retourne la taille du tableau.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.