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.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
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.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
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.