Class documentation of Concepts

Loading...
Searching...
No Matches
constFormula.hh
Go to the documentation of this file.
1
6#ifndef constformula_hh
7#define constformula_hh
8
9#include "basics/debug.hh"
10#include "formula.hh"
11
12#define ConstFormConstr_D 0
13#define ConstFormDestr_D 0
14
15
16namespace concepts {
17
18
19 // ********************************************************* ConstFormula **
20
25 template<typename F = Real>
26 class ConstFormula : public Formula<F> {
27 public:
28 ConstFormula(const F a = F(1.0)) : a_(a) {
29 DEBUGL(ConstFormConstr_D, "a = " << a);
30 }
31 virtual F operator() (const Real p, const Real t = 0.0) const {
32 return a_;
33 }
34 virtual F operator() (const Real2d& p, const Real t = 0.0) const {
35 return a_;
36 }
37 virtual F operator() (const Real3d& p, const Real t = 0.0) const {
38 return a_;
39 }
40 virtual ~ConstFormula() {
41 DEBUGL(ConstFormDestr_D, "Delete " << *this);
42 }
43 virtual ConstFormula<F>* clone() const {
44 return new ConstFormula<F>(a_);
45 }
46 ConstFormula<F>& operator=(const F a) {
47 a_ = a;
48 return *this;
49 }
50 protected:
51 virtual std::ostream& info(std::ostream& os) const {
52 return os << concepts::typeOf(*this)<< "(" << a_ << ")";
53 }
54 private:
55 F a_;
56 };
57
58
59
60} // namespace concepts
61
62
63#endif // constformula_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual ConstFormula< F > * clone() const
Virtual copy constructor.
virtual F operator()(const Real p, const Real t=0.0) const
#define DEBUGL(doit, msg)
Definition debug.hh:40
std::string typeOf(const T &t)
Definition output.hh:43
double Real
Definition typedefs.hh:39
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320