1#ifndef __JLANG__JTYPELIST__ 
    2#define __JLANG__JTYPELIST__ 
   13namespace JPP { 
using namespace JLANG; }
 
   21  template<
class JHead_t = JNullType, 
class JTail_t = JNullType>
 
   32  template<
unsigned int N, 
class T>
 
   60  template<
class JHead_t, 
class JTail_t>
 
   90  template<
class JHead_t, 
class JTail_t>
 
  100  template<
class JHead_t, 
class JTail_t, 
class T>
 
  113  template<
class JTypelist_t, 
class T>
 
  130  template<
class T, 
class JTail_t>
 
  140  template<
class JHead_t, 
class JTail_t, 
class T>
 
  150  template<
class JHead_t1, 
class JTail_t1, 
class JHead_t2, 
class JTail_t2>
 
  162  template<
class JHead_t1, 
class JTail_t1, 
class JHead_t2>
 
  176  template<
class JTypeList_t> 
struct JLength {};
 
  182  template<
class JHead_t, 
class JTail_t>
 
  202  template<
class JTypeList_t, 
class T>
 
  209  template<
class JHead_t, 
class JTail_t, 
class T>
 
  219  template<
class JTail_t, 
class T>
 
  222    enum { value = 
true };
 
 
  232    enum { value = 
false };
 
 
  242    enum { value = 
true };
 
 
  259  template<
class JHead_t, 
class JTail_t>
 
  272  template<
class JTypelist_t, 
unsigned int index, 
bool range_check = true>
 
  279  template<
class JHead_t, 
class JTail_t, 
unsigned int index, 
bool range_check>
 
  289  template<
class JHead_t, 
class JTail_t, 
bool range_check>
 
  299  template<
unsigned int index>
 
  309  template<
class JTypeList_t, 
class T>
 
  316  template<
class JHead_t, 
class JTail_t, 
class T>
 
  323    enum { value = (tmp == -1 ? -1 : tmp + 1) };
 
 
  330  template<
class JTail_t, 
class T>
 
  350  template<
class T, 
class ...Args>
 
  359  template<
class JHead_t, 
class JTail_t, 
class T, 
class ...Args>
 
  368  template<
class JHead_t, 
class T, 
class ...Args>
 
  377  template<
class JHead_t, 
class JTail_t>
 
  413  template<
class JObject_t, 
class JHead_t, 
class JTail_t>
 
  433  template<
class JObject_t, 
class T>
 
  446  template<
class JObject_t>
 
  462  template<
class JTypelist_t, 
class JObject_t>
 
Auxiliary classes and methods for language specific functionality.
 
void for_each(JObject_t &object, JType< JTypeList< JHead_t, JTail_t > > typelist)
For each data type method.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
JTypeList< JHead_t, JTail_t > typelist
 
JTypeList< JHead_t, typename JAppend< JTail_t, T >::typelist > typelist
 
JTypeList< JHead_t, JTail_t > typelist
 
Test presence of data type in type list.
 
Indexing of data type in type list.
 
JTypeList< T, JNullType > typelist
 
JTypeList< T, typename JMultipleType< N-1, T >::typelist > typelist
 
Auxiliary class for no type definition.
 
JRemove< JTypeList< JHead_t1, JTail_t1 >, JHead_t2 >::typelist typelist
 
JRemove< typenameJRemove< JTypeList< JHead_t1, JTail_t1 >, JHead_t2 >::typelist, JTail_t2 >::typelist typelist
 
JTypeList< JHead_t, typename JRemove< JTail_t, T >::typelist > typelist
 
Removal of data type from type list.
 
JTypeList< JHead_t, JTail_t > typelist
 
Resolve template class to JTypeList.
 
JTypeList< JHead_t, typename JTYPELIST< T, Args... >::typelist > typelist
 
JTypeList< JHead_t, typename JTYPELIST< JTail_t, T, Args... >::typelist > typelist
 
JTypeList< JHead_t, JTail_t > typelist
 
Auxiliary class for recursive type list generation.
 
JTypeList< T, typename JTYPELIST< Args... >::typelist > typelist
 
JTypeAt< JTail_t, index-1, range_check >::value_type value_type
 
Extraction of data type from type list.
 
Auxiliary class for a type holder.