1 #ifndef __JLANG__JTEMPLATE__ 
    2 #define __JLANG__JTEMPLATE__ 
   20 namespace JPP { 
using namespace JLANG; }
 
   39   template<
class JType_t>
 
   68     inline operator const JType_t&() 
const 
   79     inline operator JType_t&()
 
  112     template<
class T, 
bool use_polymorphism = false>
 
  124     template<
class T, 
bool use_polymorphism = false>
 
  149     template<
bool use_polymorphism, 
class T>
 
  165       return in >> 
object.object;
 
  176     friend inline std::ostream& operator<<(std::ostream& out, const JTemplate<JType_t>& 
object)
 
  178       return out << 
object.object;
 
  229   template<
class JHead_t, 
class JTail_t>
 
  254               const JTail_t& tail) :
 
  265     template<
class T, 
bool use_polymorphism = false>
 
  277     template<
class T, 
bool use_polymorphism = false>
 
  303     template<
bool use_polymorphism, 
class T>
 
  331     friend inline std::ostream& operator<<(std::ostream& out, const JTemplate< JTypeList<JHead_t, JTail_t> >& 
object)
 
  333       return out << static_cast<const JTemplate<JHead_t>&>(
object) << 
' ' 
  344     template<
class T, 
bool use_polymorphism>
 
  357     template<
class T, 
bool use_polymorphism>
 
  370     template<
class T, 
bool use_polymorphism>
 
  383     template<
class T, 
bool use_polymorphism>
 
  397     template<
bool use_polymorphism, 
class T>
 
  413     template<
bool use_polymorphism, 
class T>
 
  426   template<
class JHead_t>
 
const T & c_get(JBool< false > option) const 
Get reference to object. 
 
template_type & set(const T &value)
Set value. 
 
JTemplate< JTypeList< JHead_t, JTail_t > > template_type
 
const JType_t * operator->() const 
Smart pointer operator. 
 
const JType_t & c_get(JBool< true > option) const 
Get reference to object. 
 
JTemplate()
Default constructor. 
 
template_type & c_set(const T &value, JBool< true > option)
Set value. 
 
Template class test for polymorphism. 
 
Auxiliary class for managing multiple objects. 
 
Auxiliary class for managing multiple objects. 
 
friend std::istream & operator>>(std::istream &in, JTemplate< JType_t > &object)
Read object from input. 
 
template_type & c_set(const T &value, JBool< false > option)
Set value. 
 
friend std::istream & operator>>(std::istream &in, JTemplate< JTypeList< JHead_t, JTail_t > > &object)
Read object from input. 
 
JTemplate(const JHead_t &head, const JTail_t &tail)
Constructor. 
 
T & c_get(JBool< true > option)
Get reference to object. 
 
template_type & set(const T &value)
Set value. 
 
JTemplate()
Default constructor. 
 
Auxiliary template class for type bool. 
 
template_type & set(const JType_t &value)
Set value. 
 
template_type & set(const T &value)
Set value. 
 
JType_t & c_get(JBool< true > option)
Get reference to object. 
 
JTemplate(const JType_t &value)
Constructor. 
 
JType_t * operator->()
Smart pointer operator. 
 
template_type & c_set(const T &value, JBool< true > option)
Set value. 
 
Template class test for availability of a suitable constructor JType_t(const JArgument_t). 
 
JTemplate< JType_t > template_type
 
const T & c_get(JBool< true > option) const 
Get reference to object. 
 
T & c_get(JBool< false > option)
Get reference to object. 
 
JTemplate(const JHead_t &value)
Constructor. 
 
JTemplate()
Default constructor.