# std::experimental::ranges::Boolean

From cppreference.com
< cpp‎ | experimental‎ | ranges

Defined in header `<experimental/ranges/concepts>` |  |

template <class B>

concept bool Boolean() {
return ranges::MoveConstructible<B>() &&
requires(const B b1, const B b2, const bool a) {
bool(b1);
{ b1 } -> bool;
bool(!b1);
{ !b1 } -> bool;
{ b1 && b2 } -> ranges::Same<bool>;
{ b1 && a } -> ranges::Same<bool>;
{ a && b1 } -> ranges::Same<bool>;
{ b1 || b2 } -> ranges::Same<bool>;
{ b1 || a } -> ranges::Same<bool>;
{ a || b1 } -> ranges::Same<bool>;
{ b1 == b2 } -> bool;
{ b1 != b2 } -> bool;
{ b1 == a } -> bool;
{ a == b1 } -> bool;
{ b1 != a } -> bool;
{ a != b1 } -> bool;
};

}

(ranges TS)

| This section is incomplete Reason: add description and extra caveats

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/ranges/concepts/Boolean&oldid=90584"
Category:

- Todo with reason