Sacado Package Browser (Single Doxygen Collection)  Version of the Day
Sacado_ScalarParameterEntry.hpp
Go to the documentation of this file.
1 // @HEADER
2 // ***********************************************************************
3 //
4 // Sacado Package
5 // Copyright (2006) Sandia Corporation
6 //
7 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8 // the U.S. Government retains certain rights in this software.
9 //
10 // This library is free software; you can redistribute it and/or modify
11 // it under the terms of the GNU Lesser General Public License as
12 // published by the Free Software Foundation; either version 2.1 of the
13 // License, or (at your option) any later version.
14 //
15 // This library is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library; if not, write to the Free Software
22 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23 // USA
24 // Questions? Contact David M. Gay (dmgay@sandia.gov) or Eric T. Phipps
25 // (etphipp@sandia.gov).
26 //
27 // ***********************************************************************
28 // @HEADER
29 
30 #ifndef SACADO_SCALARPARAMETERENTRY_HPP
31 #define SACADO_SCALARPARAMETERENTRY_HPP
32 
33 #include "Sacado_Traits.hpp"
34 #include "Sacado_mpl_apply.hpp"
35 
36 namespace Sacado {
37 
39 
59  template <class EvalType> struct apply {
60  typedef EvalType type; };
61  };
62 
65  public:
66 
69 
72 
74  virtual void setRealValue(double value) = 0;
75 
77  virtual double getRealValue() const = 0;
78 
80  virtual void print(std::ostream& os) const = 0;
81  };
82 
86  template <typename EvalType, typename EvalTypeTraits = DefaultEvalTypeTraits>
88 
89  public:
90 
91  typedef typename EvalTypeTraits::template apply<EvalType>::type ScalarT;
92 
95 
97  virtual ~ScalarParameterEntry() {}
98 
100 
104  virtual void setValue(const ScalarT& value) = 0;
105 
107  virtual const ScalarT& getValue() const = 0;
108 
110 
113  virtual double getRealValue() const {
115  }
116 
118 
121  virtual void print(std::ostream& os) const {
122  os << getValue();
123  }
124 
125  };
126 }
127 
128 #endif
Sacado::DefaultEvalTypeTraits
Base traits definition mapping evaluation types to value types.
Definition: Sacado_ScalarParameterEntry.hpp:58
Sacado::AbstractScalarParameterEntry::getRealValue
virtual double getRealValue() const =0
Get real parameter value.
Sacado::AbstractScalarParameterEntry
Abstract interface for all entries in Sacado::ScalarParameterFamily.
Definition: Sacado_ScalarParameterEntry.hpp:64
Sacado::AbstractScalarParameterEntry::~AbstractScalarParameterEntry
virtual ~AbstractScalarParameterEntry()
Destructor.
Definition: Sacado_ScalarParameterEntry.hpp:71
Sacado::ScalarParameterEntry::setValue
virtual void setValue(const ScalarT &value)=0
Set parameter this object represents to value.
Sacado::ScalarParameterEntry::getValue
virtual const ScalarT & getValue() const =0
Get parameter value this object represents.
Sacado::ScalarParameterEntry::getRealValue
virtual double getRealValue() const
Get real parameter value.
Definition: Sacado_ScalarParameterEntry.hpp:113
Sacado::ScalarValue::eval
static const KOKKOS_INLINE_FUNCTION T & eval(const T &x)
Definition: Sacado_Traits.hpp:366
Sacado_Traits.hpp
Sacado::AbstractScalarParameterEntry::print
virtual void print(std::ostream &os) const =0
Print entry.
Sacado::ScalarParameterEntry::ScalarParameterEntry
ScalarParameterEntry()
Default constructor.
Definition: Sacado_ScalarParameterEntry.hpp:94
Sacado_mpl_apply.hpp
Sacado
Definition: Sacado_mpl_apply.hpp:39
Sacado::ScalarParameterEntry::print
virtual void print(std::ostream &os) const
Print entry.
Definition: Sacado_ScalarParameterEntry.hpp:121
Sacado::ScalarParameterEntry
A base class for scalar parameter values.
Definition: Sacado_ScalarParameterEntry.hpp:87
Sacado::ScalarParameterEntry::~ScalarParameterEntry
virtual ~ScalarParameterEntry()
Destructor.
Definition: Sacado_ScalarParameterEntry.hpp:97
Sacado::AbstractScalarParameterEntry::setRealValue
virtual void setRealValue(double value)=0
Set real parameter value.
Sacado::ScalarParameterEntry::ScalarT
EvalTypeTraits::template apply< EvalType >::type ScalarT
Definition: Sacado_ScalarParameterEntry.hpp:91
Sacado::DefaultEvalTypeTraits::apply::type
EvalType type
Definition: Sacado_ScalarParameterEntry.hpp:60
Sacado::AbstractScalarParameterEntry::AbstractScalarParameterEntry
AbstractScalarParameterEntry()
Default contructor.
Definition: Sacado_ScalarParameterEntry.hpp:68
Sacado::DefaultEvalTypeTraits::apply
Definition: Sacado_ScalarParameterEntry.hpp:59