NiHu  2.0
empty_cluster.hpp
Go to the documentation of this file.
1 
7 #ifndef NIHU_EMPTY_CLUSTER_HPP_INCLUDED
8 #define NIHU_EMPTY_CLUSTER_HPP_INCLUDED
9 
10 #include "cluster.hpp"
11 
12 namespace NiHu
13 {
14 namespace fmm
15 {
16 
17 template <size_t Dim>
19 
24 template <size_t Dim>
26 {
27  static size_t const dimension = Dim;
28  typedef void multipole_t;
29  typedef void local_t;
30 };
31 
36 template <size_t Dim>
37 class empty_cluster
38  : public cluster_base<empty_cluster<Dim>>
39 {
40 public:
41  typedef cluster_base<empty_cluster<Dim>> base_t;
42  typedef typename base_t::multipole_t multipole_t;
43  typedef typename base_t::local_t local_t;
44 
45  multipole_t zero_multipole() const
46  {
47  return;
48  }
49 
50  local_t zero_local() const
51  {
52  return;
53  }
54 };
55 
56 } // end of namespace fmm
57 } // end of namespace NiHu
58 
59 #endif /* NIHU_EMPTY_CLUSTER_HPP_INCLUDED */
NiHu::fmm::cluster_base::local_t
traits_t::local_t local_t
Local type.
Definition: cluster.hpp:60
NiHu::fmm::empty_cluster
Empty cluster class.
Definition: empty_cluster.hpp:18
NiHu::fmm::cluster_traits
CRTP traits structure of a cluster.
Definition: cluster.hpp:33
NiHu::fmm::cluster_base
CRTP base class of clusters.
Definition: cluster.hpp:40
NiHu::fmm::cluster_base::multipole_t
traits_t::multipole_t multipole_t
Multipole type.
Definition: cluster.hpp:58
cluster.hpp
implementation of class NiHu::fmm::cluster_base