1 #ifndef __JLANG__JTYPELIST__ 
    2 #define __JLANG__JTYPELIST__ 
   13 namespace 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>
 
  414   template<
class JObject_t, 
class JHead_t, 
class JTail_t>
 
  437   template<
class JObject_t, 
class T>
 
  453   template<
class JObject_t>
 
JRemove< typename JRemove< JTypeList< JHead_t1, JTail_t1 >, JHead_t2 >::typelist, JTail_t2 >::typelist typelist
 
JTypeAt< JTail_t, index-1, range_check >::value_type value_type
 
Test presence of data type in type list. 
 
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
 
Removal of data type from type list. 
 
Auxiliary class for a type holder. 
 
JTypeList< T, JNullType > typelist
 
JTypeList< JHead_t, JTail_t > typelist
 
JTypeList< JHead_t, typename JTYPELIST< T, Args...>::typelist > typelist
 
JTypeList< JHead_t, typename JTYPELIST< JTail_t, T, Args...>::typelist > typelist
 
Auxiliary class for recursive type list generation. 
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
Resolve template class to JTypeList. 
 
Auxiliary class for no type definition. 
 
JRemove< JTypeList< JHead_t1, JTail_t1 >, JHead_t2 >::typelist typelist
 
JTypeList< JHead_t, typename JRemove< JTail_t, T >::typelist > typelist
 
JTypeList< JHead_t, typename JAppend< JTail_t, T >::typelist > typelist
 
JObject_t & for_each(JObject_t &object, JType< JTypeList< JHead_t, JTail_t > > typelist)
For each data type method. 
 
JTypeList< JHead_t, JTail_t > typelist
 
JTypeList< JHead_t, JTail_t > typelist
 
JTypeList< T, typename JTYPELIST< Args...>::typelist > typelist
 
Indexing of data type in type list. 
 
JTypeList< T, typename JMultipleType< N-1, T >::typelist > typelist
 
JTypeList< JHead_t, JTail_t > typelist
 
Extraction of data type from type list.