std::experimental::ranges:: StrictWeakOrder
From cppreference.net
<
cpp
|
experimental
|
ranges
C++
Experimental
| Technical Specification | ||||
| Filesystem library (filesystem TS) | ||||
| Library fundamentals (library fundamentals TS) | ||||
| Library fundamentals 2 (library fundamentals TS v2) | ||||
| Library fundamentals 3 (library fundamentals TS v3) | ||||
| Extensions for parallelism (parallelism TS) | ||||
| Extensions for parallelism 2 (parallelism TS v2) | ||||
| Extensions for concurrency (concurrency TS) | ||||
| Extensions for concurrency 2 (concurrency TS v2) | ||||
| Concepts (concepts TS) | ||||
| Ranges (ranges TS) | ||||
| Reflection (reflection TS) | ||||
| Mathematical special functions (special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
Concepts library
| Core language concepts | |||||||||||||
| Object concepts | |||||||||||||
| Comparison concepts | |||||||||||||
| Callable concepts | |||||||||||||
|
|||||||||||||
| URNG concept | |||||||||||||
|
ヘッダーで定義
<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
の区別は純粋に意味論的なものです。