Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Class tribool

boost::logic::tribool — A 3-state boolean type.

Synopsis

// In header: <boost/logic/tribool.hpp>


class tribool {
public:
  enum value_t;
  // construct/copy/destruct
  tribool() noexcept;
  tribool(bool) noexcept;
  tribool(indeterminate_keyword_t) noexcept;

  // public member functions
  explicit BOOST_CONSTEXPR operator bool() const noexcept;

  // public data members
  enum boost::logic::tribool::value_t value;
};

Description

3-state boolean values are either true, false, or indeterminate.

tribool public construct/copy/destruct

  1. tribool() noexcept;

    Construct a new 3-state boolean value with the value 'false'.

    Throws:

    Will not throw.
  2. tribool(bool initial_value) noexcept;

    Construct a new 3-state boolean value with the given boolean value, which may be true or false.

    Throws:

    Will not throw.
  3. tribool(indeterminate_keyword_t) noexcept;

    Construct a new 3-state boolean value with an indeterminate value.

    Throws:

    Will not throw.

tribool public member functions

  1. explicit BOOST_CONSTEXPR operator bool() const noexcept;

    Use a 3-state boolean in a boolean context. Will evaluate true in a boolean context only when the 3-state boolean is definitely true.

    Returns:

    true if the 3-state boolean is true, false otherwise

    Throws:

    Will not throw.

PrevUpHomeNext