std::experimental::ranges:: StrictWeakOrder
From ja.cppreference.net
<
cpp
|
experimental
|
ranges
|
ヘッダーで定義
<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
の区別は純粋に意味論的なものです。