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;
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>
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>
Template class test for availability of a suitable constructor JType_t(const JArgument_t).
Auxiliary classes and methods for language specific functionality.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary template class for type bool.
Template class test for polymorphism.
Auxiliary class for managing multiple objects.
template_type & c_set(const T &value, JBool< true > option)
Set value.
T & c_get(JBool< true > option)
Get reference to object.
T & get()
Get reference to object.
const T & c_get(JBool< true > option) const
Get reference to object.
T & c_get(JBool< false > option)
Get reference to object.
JTemplate()
Default constructor.
template_type & set(const T &value)
Set value.
JTemplate(const JHead_t &head, const JTail_t &tail)
Constructor.
template_type & set(const T &value)
Set value.
JTemplate< JTypeList< JHead_t, JTail_t > > template_type
friend std::istream & operator>>(std::istream &in, JTemplate< JTypeList< JHead_t, JTail_t > > &object)
Read object from input.
const T & get() const
Get reference to object.
template_type & c_set(const T &value, JBool< false > option)
Set value.
const T & c_get(JBool< false > option) const
Get reference to object.
friend std::ostream & operator<<(std::ostream &out, const JTemplate< JTypeList< JHead_t, JTail_t > > &object)
Write object to output.
JTemplate()
Default constructor.
JTemplate(const JHead_t &value)
Constructor.
Auxiliary class for managing multiple objects.
JTemplate(const JType_t &value)
Constructor.
template_type & c_set(const T &value, JBool< true > option)
Set value.
const JType_t * operator->() const
Smart pointer operator.
JTemplate()
Default constructor.
friend std::istream & operator>>(std::istream &in, JTemplate< JType_t > &object)
Read object from input.
template_type & set(const JType_t &value)
Set value.
const T & get() const
Get reference to object.
JType_t * operator->()
Smart pointer operator.
friend std::ostream & operator<<(std::ostream &out, const JTemplate< JType_t > &object)
Write object to output.
T & get()
Get reference to object.
template_type & set(const T &value)
Set value.
const JType_t & c_get(JBool< true > option) const
Get reference to object.
JTemplate< JType_t > template_type
JType_t & c_get(JBool< true > option)
Get reference to object.