1 #ifndef __JLANG__JBOOL__
2 #define __JLANG__JBOOL__
10 namespace JPP {
using namespace JLANG; }
19 template<
bool __value__>
38 static const bool value = __value__;
84 return bool_type::c_equals<option>();
106 template<
bool option>
109 return bool_type::c_and<option>();
118 template<
bool option>
131 template<
bool option>
134 return bool_type::c_or<option>();
143 template<
bool option>
156 template<
bool option>
159 return bool_type::c_xor<option>();
169 template<
bool __first__,
bool __second__>
184 template<
bool __first__,
bool __second__>
188 return bool_type::c_switch<__first__, __second__>();
199 template<
bool __value__>
202 return value.
c_not();
213 template<
bool __first__,
bool __second__>
228 template<
bool __first__,
bool __second__>
232 return first.
c_and(second);
243 template<
bool __first__,
bool __second__>
247 return first.
c_or(second);
258 template<
bool __first__,
bool __second__>
262 return first.
c_xor(second);
276 template<
class JFirst_t,
class JSecond_t>
282 template<
bool first,
bool second>
284 public JBool<first == second>
297 template<
bool __value__>
299 public JBool<!__value__>
306 template<
class JFirst_t,
class JSecond_t>
312 template<
bool first,
bool second>
314 public JBool<first && second>
321 template<
class JFirst_t,
class JSecond_t>
327 template<
bool first,
bool second>
329 public JBool<first || second>
336 template<
class JFirst_t,
class JSecond_t>
342 template<
bool first,
bool second>
344 public JBool<first != second>
Auxiliary classes and methods for language specific functionality.
JBool< __first__==__second__ > c_equals(const JBool< __first__ > &first, const JBool< __second__ > &second)
Make logical EQUALS.
static JBool<!__value__ > c_not(const JBool< __value__ > &value)
Make logical NOT.
JBool< __first__==__second__ > c_and(const JBool< __first__ > &first, const JBool< __second__ > &second)
Make logical AND.
JBool< __first__==__second__ > c_xor(const JBool< __first__ > &first, const JBool< __second__ > &second)
Make logical XOR.
static const JFALSE JFalse_t
False value.
JBool< __first__==__second__ > c_or(const JBool< __first__ > &first, const JBool< __second__ > &second)
Make logical OR.
static const JTRUE JTrue_t
True value.
JBool< false > JFALSE
False type.
JBool< true > JTRUE
True type.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Type definition of logical AND.
Type definition of logical EQUALS.
Auxiliary template class for type bool.
static JBool< value !=option > c_xor(const JBool< option > &object)
Make logical XOR.
static JBool< value||option > c_or(const JBool< option > &object)
Make logical OR.
JBool< __value__ > bool_type
Type definition of bool value.
static JBool< value &&option > c_and()
Make logical AND.
static JBool<!value > c_not()
Make logical NOT.
static JBool< value !=option > c_xor()
Make logical XOR.
static JBool<(value &&__first__)||(!value &&__second__)> c_switch()
Make logical SWITCH.
static JBool< value==option > c_equals()
Make logical EQUALS.
JBool()
Default construcor.
static JBool< value||option > c_or()
Make logical OR.
static JBool<(value &&__first__)||(!value &&__second__)> c_switch(const JBool< __first__ > &first, const JBool< __second__ > &second)
Make logical SWITCH.
static JBool< value &&option > c_and(const JBool< option > &object)
Make logical AND.
static const bool value
Value.
static JBool< value==option > c_equals(const JBool< option > &object)
Make logical EQUALS.
Type definition of logical NOT.
Type definition of logical OR.
Type definition of logical XOR.