Class documentation of Concepts

Loading...
Searching...
No Matches
xy.hh
Go to the documentation of this file.
1
6#ifndef clusterXY_hh
7#define clusterXY_hh
8
10#include "function/vector.hh"
11#include "cluster/tree.hh"
12
13namespace cluster {
14
15 // ******************************************************************** XY **
16
20 template<class Node>
22 public:
25 typedef typename Traits::F F;
26
27 virtual ~ClstXY() {}
28
32 virtual F* operator[](uint i) const = 0;
34 virtual const Tree<Node>& tree() const = 0;
36 virtual const concepts::Space<F>& space() const = 0;
38 virtual void zero() = 0;
39 };
40
41 // ********************************************************************* X **
42
46 template<class Node>
47 class ClstX : public ClstXY<Node> {
48 public:
49 typedef typename ClstXY<Node>::F F;
50
51 virtual void gather(concepts::Vector<F>& fnc) = 0;
52 };
53
54 // ********************************************************************* Y **
55
59 template<class Node>
60 class ClstY : public ClstXY<Node> {
61 public:
62 typedef typename ClstXY<Node>::F F;
63
64 virtual void scatter(const concepts::Vector<F>& fnc) = 0;
65 };
66
67}
68
69#endif // clusterXY_hh
70
71
virtual const Tree< Node > & tree() const =0
Cluster tree.
virtual const concepts::Space< F > & space() const =0
Space.
virtual F * operator[](uint i) const =0
TreeTraits< Node > Traits
Interface for the far field matrices.
Definition xy.hh:24
virtual void zero()=0
Sets the auxiliary vectors to zero.
Node::CF F
Field of the node (Real or Cmplx)
Definition tree.hh:255