Jpp  master_rocky-37-gf0c5bc59d
the software that should make you happy
JList.hh
Go to the documentation of this file.
1 #ifndef __JTOOLS__JLIST__
2 #define __JTOOLS__JLIST__
3 
4 
5 /**
6  * \author mdejong
7  */
8 
9 namespace JTOOLS {}
10 namespace JPP { using namespace JTOOLS; }
11 
12 namespace JTOOLS {
13 
14 
15  /**
16  * Recursive template class.
17  */
18  template<unsigned int N, class T, template<class> class JClass_t>
19  class JList :
20  public JList<N-1, JClass_t<T>, JClass_t>
21  {
22  public:
23 
24  typedef JClass_t<T> class_type;
25 
26  /**
27  * Default constructor.
28  */
29  JList() :
30  JList<N-1, class_type, JClass_t>()
31  {}
32 
33 
34  /**
35  * Constructor.
36  *
37  * \param value value
38  */
39  JList(const JClass_t<class_type>& value) :
40  JList<N-1, class_type, JClass_t>(value)
41  {}
42  };
43 
44 
45  /**
46  * Terminator class of recursive template class.
47  */
48  template<class T, template<class> class JClass_t>
49  class JList<1, T, JClass_t> :
50  public JClass_t<T>
51  {
52  public:
53 
54  typedef JClass_t<T> class_type;
55 
56  /**
57  * Default constructor.
58  */
59  JList() :
60  class_type()
61  {}
62 
63 
64  /**
65  * Constructor.
66  *
67  * \param value value
68  */
69  JList(const class_type& value) :
70  class_type(value)
71  {}
72  };
73 
74 
75  /**
76  * Template specialisation of obsolete JList<unsigned int, ...> class.
77  */
78  template<class T, template<class> class JClass_t>
79  class JList<0, T, JClass_t>
80  {};
81 }
82 
83 #endif
JList()
Default constructor.
Definition: JList.hh:59
JClass_t< T > class_type
Definition: JList.hh:54
JList(const class_type &value)
Constructor.
Definition: JList.hh:69
Recursive template class.
Definition: JList.hh:21
JClass_t< T > class_type
Definition: JList.hh:24
JList()
Default constructor.
Definition: JList.hh:29
JList(const JClass_t< class_type > &value)
Constructor.
Definition: JList.hh:39
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for multi-dimensional interpolations and histograms.