Class documentation of Concepts

Loading...
Searching...
No Matches
space.hh
Go to the documentation of this file.
1
6#ifndef constrSpace_hh
7#define constrSpace_hh
8
9#include <memory>
10#include "space/space.hh"
12#include "element.hh"
13
14namespace concepts {
15
16 // ************************************************************** Scanners **
17
18 template<typename F>
19 class Scan<constraints::Element<F> > : public Scan<Element<Real> > {
20 public:
22 };
23
24} // namespace concepts
25
26namespace constraints {
27
28 template<typename F>
29 class ConstraintsList;
30
31 // ***************************************************************** Space **
32
36 template<class F>
37 class Space : public concepts::Space<F> {
38 public:
44 virtual ~Space();
45
47
48 virtual uint dim() const { return dim_; }
49 virtual uint nelm() const { return nelm_; }
50 virtual Scan* scan() const;
51
53 void rebuild();
54
56 const concepts::ElementPairList<F>& elmPairList() { return *elmPairList_; }
57 protected:
58 virtual std::ostream& info(std::ostream& os) const;
59 private:
61 uint dim_;
63 uint nelm_;
66
68 concepts::Space<F>& compSpc_;
69
71 ConstraintsList<F>& constr_;
72
74 std::unique_ptr<concepts::ElementPairList<F> > elmPairList_;
75 };
76
77} // namespace constraints
78
79#endif // constrSpace_hh
virtual constraints::Element< F > & operator++(int)=0
Returns the next element in the scanned set.
virtual uint nelm() const
Returns the number of elements in the space.
Definition space.hh:49
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Space(concepts::Space< F > &spc, ConstraintsList< F > &constr)
virtual uint dim() const
Returns the dimension of the space.
Definition space.hh:48
const concepts::ElementPairList< F > & elmPairList()
Returns a list of element pairs needed for matrix assembly.
Definition space.hh:56
virtual Scan * scan() const
Returns a scanner to iterate over the elements of the space.
void rebuild()
Rebuilds the space.