Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
tribool.hpp File Reference
#include <boost/logic/tribool_fwd.hpp>
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
Include dependency graph for tribool.hpp:
This graph shows which files directly or indirectly include this file:

Classes

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

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::logic
 
 boost::logic::detail
 INTERNAL ONLY.
 

Macros

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

Typedefs

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

Functions

bool boost::logic::indeterminate (tribool x, detail::indeterminate_t dummy=detail::indeterminate_t())
 Keyword and test function for the indeterminate tribool value. More...
 
tribool boost::logic::operator! (tribool x)
 Computes the logical negation of a tribool. More...
 
tribool boost::logic::operator&& (tribool x, tribool y)
 Computes the logical conjuction of two tribools. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::logic::operator|| (tribool x, tribool y)
 Computes the logical disjunction of two tribools. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::logic::operator== (tribool x, tribool y)
 Compare tribools for equality. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::logic::operator!= (tribool x, tribool y)
 Compare tribools for inequality. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 
tribool boost::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. More...
 

Macro Definition Documentation

#define BOOST_TRIBOOL_THIRD_STATE (   Name)
Value:
inline bool \
enum boost::logic::tribool::value_t value
Traits const flyweight< T, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5 > &x return out<< x.get();}template< BOOST_TEMPLATED_STREAM_COMMA typename T, typename Arg_1, typename Arg_2, typename Arg_3, typename Arg_4, typename Arg_5 > Traits flyweight< T, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5 > & x
Definition: flyweight.hpp:423
A 3-state boolean type.
Definition: tribool.hpp:72
INTERNAL ONLY.
Definition: tribool.hpp:31

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: BOOST_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 }