Namespaces
Variants

std::experimental::ranges:: StrictWeakOrder

From cppreference.net
Определено в заголовочном файле <experimental/ranges/concepts>
template < class R, class T, class U >
concept bool StrictWeakOrder = Relation < R, T, U > ;
(1) (ranges TS)

Концепт StrictWeakOrder<R, T, U> определяет, что Relation R задает строгое слабое упорядочение на своих аргументах. Отношение r является строгим слабым упорядочением, если

  • оно иррефлексивно: для всех x , r(x, x) ложно;
  • оно транзитивно: для всех a , b и c , если r(a, b) и r(b, c) оба истинны, тогда r(a, c) истинно;
  • пусть e(a, b) равно !r(a, b) && !r(b, a) , тогда e транзитивно: e(a, b) && e(b, c) влечёт e(a, c) .

При этих условиях можно показать, что e является отношением эквивалентности, а r индуцирует строгий полный порядок на классах эквивалентности, определяемых e .

Примечания

Различие между Relation и StrictWeakOrder является чисто семантическим.