1#ifndef __JLANG__JTEMPLATE__
2#define __JLANG__JTEMPLATE__
20namespace 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.
friend std::istream & operator>>(std::istream &in, JTemplate< JTypeList< JHead_t, JTail_t > > &object)
Read object from input.
T & get()
Get reference to object.
JTemplate()
Default constructor.
JTemplate< JTypeList< JHead_t, JTail_t > > template_type
T & c_get(JBool< false > option)
Get reference to object.
JTemplate(const JHead_t &head, const JTail_t &tail)
Constructor.
const T & c_get(JBool< true > option) const
Get reference to object.
template_type & set(const T &value)
Set value.
T & c_get(JBool< true > option)
Get reference to object.
const T & c_get(JBool< false > option) const
Get reference to object.
const T & get() const
Get reference to object.
template_type & c_set(const T &value, JBool< false > option)
Set value.
template_type & set(const T &value)
Set value.
friend std::ostream & operator<<(std::ostream &out, const JTemplate< JTypeList< JHead_t, JTail_t > > &object)
Write object to output.
template_type & c_set(const T &value, JBool< true > option)
Set value.
JTemplate()
Default constructor.
JTemplate(const JHead_t &value)
Constructor.
Auxiliary class for managing multiple objects.
template_type & set(const T &value)
Set value.
T & get()
Get reference to object.
JTemplate(const JType_t &value)
Constructor.
template_type & set(const JType_t &value)
Set value.
JTemplate< JType_t > template_type
const JType_t & c_get(JBool< true > option) const
Get reference to object.
template_type & c_set(const T &value, JBool< true > option)
Set value.
JTemplate()
Default constructor.
const T & get() const
Get reference to object.
JType_t * operator->()
Smart pointer operator.
JType_t & c_get(JBool< true > option)
Get reference to object.
friend std::istream & operator>>(std::istream &in, JTemplate< JType_t > &object)
Read object from input.
const JType_t * operator->() const
Smart pointer operator.
friend std::ostream & operator<<(std::ostream &out, const JTemplate< JType_t > &object)
Write object to output.