##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# 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