#ifndef __JTOOLS__JLIST__ #define __JTOOLS__JLIST__ /** * \author mdejong */ namespace JTOOLS {} namespace JPP { using namespace JTOOLS; } namespace JTOOLS { /** * Recursive template class. */ template class JClass_t> class JList : public JList, JClass_t> { public: typedef JClass_t class_type; /** * Default constructor. */ JList() : JList() {} /** * Constructor. * * \param value value */ JList(const JClass_t& value) : JList(value) {} }; /** * Terminator class of recursive template class. */ template class JClass_t> class JList<1, T, JClass_t> : public JClass_t { public: typedef JClass_t class_type; /** * Default constructor. */ JList() : class_type() {} /** * Constructor. * * \param value value */ JList(const class_type& value) : class_type(value) {} }; /** * Template specialisation of obsolete JList class. */ template class JClass_t> class JList<0, T, JClass_t> {}; } #endif