Class documentation of Concepts

Loading...
Searching...
No Matches
elementFormula.hh
Go to the documentation of this file.
1
6#ifndef elementformula_hh
7#define elementformula_hh
8
9#include "basics/cloneable.hh"
11#include "basics/typedefs.hh"
14
15namespace concepts {
16
17 // forward declaration
18 template<typename F>
19 class ElementWithCell;
20
21
22 // ******************************************************** ElementFormula **
23
35 class ElementFormula : public Cloneable, public virtual OutputOperator {
36 public:
37 typedef F value_type;
38
44 virtual F operator() (const ElementWithCell<G>& elm, const Real p,
45 const Real t = 0.0) const = 0;
51 virtual F operator() (const ElementWithCell<G>& elm, const Real2d& p,
52 const Real t = 0.0) const = 0;
58 virtual F operator() (const ElementWithCell<G>& elm, const Real3d& p,
59 const Real t = 0.0) const = 0;
61 virtual ElementFormula<F,G>* clone() const = 0;
62
63 virtual ~ElementFormula() { }
64
65#if 0
66 bool operator==(const ElementFormula& other) {
67 return id == other.id;
68 }
69 private:
70 int id;
71 static int CUR_ID;
72#endif
73 };
74
75} // namespace concepts
76
77#endif // elementformula_hh
78
virtual ElementFormula< F, G > * clone() const =0
Virtual copy constructor.
virtual F operator()(const ElementWithCell< G > &elm, const Real p, const Real t=0.0) const =0
double Real
Definition typedefs.hh:39
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320