std:: strict_weak_order
From cppreference.net
|
헤더에 정의됨
<concepts>
|
||
|
template
<
class
R,
class
T,
class
U
>
concept strict_weak_order = std:: relation < R, T, U > ; |
(C++20부터) | |
strict_weak_order<R, T, U>
개념은
relation
R
이 인수들에 대해 엄격한 약순서(strict weak ordering)를 부과함을 명시합니다.
목차 |
의미론적 요구사항
관계 r 은 다음 조건을 만족할 때 엄격한 약순서(strict weak ordering)입니다
- 이는 비반사적(irreflexive)입니다: 모든 x 에 대해, r ( x, x ) 는 false 입니다;
- 이는 추이적(transitive)입니다: 모든 a , b 및 c 에 대해, r ( a, b ) 와 r ( b, c ) 가 모두 true 이면, r ( a, c ) 는 true 입니다;
- e ( a, b ) 를 ! r ( a, b ) && ! r ( b, a ) 로 정의할 때, e 는 추이적(transitive)입니다: e ( a, b ) && e ( b, c ) 이면 e ( a, c ) 입니다.
이러한 조건 하에서, e 가 동치 관계임을 보일 수 있으며, r 은 e 에 의해 결정된 동치류들 위에 엄밀한 전순서를 유도합니다.
참고 사항
relation
과
strict_weak_order
사이의 구분은 순전히 의미론적입니다.
참조문헌
- C++23 표준 (ISO/IEC 14882:2024):
-
-
18.7.7 개념
strict_weak_order[concept.strictweakorder]
-
18.7.7 개념
- C++20 표준(ISO/IEC 14882:2020):
-
-
18.7.7 개념
strict_weak_order[concept.strictweakorder]
-
18.7.7 개념