#ifndef __JLANG__JBOOL__ #define __JLANG__JBOOL__ /** * \author mdejong */ namespace JLANG {} namespace JPP { using namespace JLANG; } namespace JLANG { /** * Auxiliary template class for type bool. * This class can be used for boolean expressions at compile time. */ template struct JBool { /** * Type definition of bool value. */ typedef JBool<__value__> bool_type; /** * Default construcor. */ JBool() {} /** * Value. */ static const bool value = __value__; /** * Type conversion operator. * * \return value */ operator bool() const { return value; } /** * Make logical NOT. * * \return logical NOT */ static JBool c_not() { return JBool(); } /** * Make logical EQUALS. * * \return logical EQUALS */ template static JBool c_equals() { return JBool(); } /** * Make logical EQUALS. * * \param object value * \return logical EQUALS */ template static JBool c_equals(const JBool