Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
StandardCaseFunction.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/* StandardCaseFunction.h (C) 2000-2025 */
9/* */
10/* Classe gérant une fonction standard du jeu de données. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_STANDARDCASEFUNCTION_H
13#define ARCANE_CORE_STANDARDCASEFUNCTION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/CaseFunction.h"
18#include "arcane/core/IStandardFunction.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \internal
30 * \brief Classe gérant une fonction standard du jeu de données.
31 *
32 * \ingroup CaseOption
33 *
34 * Cette classe doit être héritée et la classe dérivée doit surcharger
35 * l'une des méthodes qui renvoie un IFunctionWithArgAndReturn2. Sans
36 * surcharge, toutes ces méthode retournent un pointeur nul. La classe
37 * dérivée n'est pas obligée de surcharger toutes les méthodes getFunctor*
38 * mais peut se contenter de surcharger que ceux qu'elle souhaite.
39 */
40class ARCANE_CORE_EXPORT StandardCaseFunction
41: public CaseFunction
42, public IStandardFunction
43{
44 public:
45
46 //! Construit une fonction du jeu de données.
47 explicit StandardCaseFunction(const CaseFunctionBuildInfo& info);
48 ~StandardCaseFunction() override;
49
50 private:
51
52 void value(Real param, Real& v) const override;
53 void value(Real param, Integer& v) const override;
54 void value(Real param, bool& v) const override;
55 void value(Real param, String& v) const override;
56 void value(Real param, Real3& v) const override;
57 void value(Integer param, Real& v) const override;
58 void value(Integer param, Integer& v) const override;
59 void value(Integer param, bool& v) const override;
60 void value(Integer param, String& v) const override;
61 void value(Integer param, Real3& v) const override;
62
63 public:
64
65 // NOTE : Le mot clé 'virtual' est nécessaire pour SWIG
66 // car cette classe a un double héritage et SWIG ne prend
67 // que le premier et donc ne voit pas les méthodes suivantes
68 // comme étant virtuelles.
69 virtual IBinaryMathFunctor<Real, Real, Real>* getFunctorRealRealToReal() override;
70 virtual IBinaryMathFunctor<Real, Real3, Real>* getFunctorRealReal3ToReal() override;
71 virtual IBinaryMathFunctor<Real, Real, Real3>* getFunctorRealRealToReal3() override;
72 virtual IBinaryMathFunctor<Real, Real3, Real3>* getFunctorRealReal3ToReal3() override;
73};
74
75/*---------------------------------------------------------------------------*/
76/*---------------------------------------------------------------------------*/
77
78} // namespace Arcane
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83#endif
Informations pour construire une instance de CaseFunction.
CaseFunction(const CaseFunctionBuildInfo &info)
Construit une fonction du jeu de données.
Interface d'une fonction mathématique binaire.
Interface gérant une fonction standard.
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
StandardCaseFunction(const CaseFunctionBuildInfo &info)
Construit une fonction du jeu de données.
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.
double Real
Type représentant un réel.