std::experimental::ranges::StrictTotallyOrdered - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::experimental::ranges::StrictTotallyOrdered

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

Defined in header `<experimental/ranges/concepts>` |  |
template <class T> concept bool StrictTotallyOrdered() { return ranges::EqualityComparable<T>() && requires(const T a, const T b) { { a < b } -> ranges::Boolean; { a > b } -> ranges::Boolean; { a <= b } -> ranges::Boolean; { a >= b } -> ranges::Boolean; }; } | (1) | (ranges TS)
template <class T, class U> concept bool StrictTotallyOrdered() { return ranges::CommonReference<const T&, const U&>() && ranges::StrictTotallyOrdered<T>() && ranges::StrictTotallyOrdered<U>() && ranges::StrictTotallyOrdered< std::remove_cv_t<std::remove_reference_t< std::common_reference_t<const T&, const U&>>>>() && ranges::EqualityComparable<T, U>() && requires(const T t, const U u) { { t < u } -> ranges::Boolean; { t > u } -> ranges::Boolean; { t <= u } -> ranges::Boolean; { t >= u } -> ranges::Boolean; { u < t } -> ranges::Boolean; { u > t } -> ranges::Boolean; { u <= t } -> ranges::Boolean; { u >= t } -> ranges::Boolean; }; } | (2) | (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/StrictTotallyOrdered&oldid=89661"
Category:

- Todo with reason