staticlib_support  1.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Classes | Namespaces | Macros | Typedefs | Functions
tribool.hpp File Reference

Go to the source code of this file.

Classes

struct  staticlib::support::logic::detail::indeterminate_t
 INTERNAL ONLY. More...
class  staticlib::support::logic::tribool
 A 3-state boolean type. More...
struct  staticlib::support::logic::tribool::dummy
 INTERNAL ONLY.

Namespaces

namespace  staticlib
namespace  staticlib::support
namespace  staticlib::support::logic
namespace  staticlib::support::logic::detail
 INTERNAL ONLY.

Macros

#define STATICLIB_HTTPSERVER_TRIBOOL_THIRD_STATE(Name)
 Declare a new name for the third state of a tribool.

Typedefs

typedef bool(* staticlib::support::logic::indeterminate_keyword_t )(tribool, detail::indeterminate_t)
 INTERNAL ONLY The type of the 'indeterminate' keyword.

Functions

bool staticlib::support::logic::indeterminate (tribool x, detail::indeterminate_t dummy=detail::indeterminate_t())
 Keyword and test function for the indeterminate tribool value.
tribool staticlib::support::logic::operator! (tribool x)
 Computes the logical negation of a tribool.
tribool staticlib::support::logic::operator&& (tribool x, tribool y)
 Computes the logical conjuction of two tribools.
tribool staticlib::support::logic::operator&& (tribool x, bool y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator&& (bool x, tribool y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator&& (indeterminate_keyword_t, tribool x)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator&& (tribool x, indeterminate_keyword_t)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator|| (tribool x, tribool y)
 Computes the logical disjunction of two tribools.
tribool staticlib::support::logic::operator|| (tribool x, bool y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator|| (bool x, tribool y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator|| (indeterminate_keyword_t, tribool x)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator|| (tribool x, indeterminate_keyword_t)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator== (tribool x, tribool y)
 Compare tribools for equality.
tribool staticlib::support::logic::operator== (tribool x, bool y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator== (bool x, tribool y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator== (indeterminate_keyword_t, tribool x)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator== (tribool x, indeterminate_keyword_t)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator!= (tribool x, tribool y)
 Compare tribools for inequality.
tribool staticlib::support::logic::operator!= (tribool x, bool y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator!= (bool x, tribool y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator!= (indeterminate_keyword_t, tribool x)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
tribool staticlib::support::logic::operator!= (tribool x, indeterminate_keyword_t)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Macro Definition Documentation

#define STATICLIB_HTTPSERVER_TRIBOOL_THIRD_STATE (   Name)
Value:

Declare a new name for the third state of a tribool.

Use this macro to declare a new name for the third state of a tribool. This state can have any number of new names (in addition to indeterminate), all of which will be equivalent. The new name will be placed in the namespace in which the macro is expanded.

Example: STATICLIB_HTTPSERVER_TRIBOOL_THIRD_STATE(true_or_false)

tribool x(true_or_false); // potentially set x if (true_or_false(x)) { // don't know what x is }