std:: strict_weak_order
|
Definido en el encabezado
<concepts>
|
||
|
template
<
class
R,
class
T,
class
U
>
concept strict_weak_order = std:: relation < R, T, U > ; |
(desde C++20) | |
El concepto
strict_weak_order<R, T, U>
especifica que la
relation
R
impone un ordenamiento estricto débil sobre sus argumentos.
Contenidos |
Requisitos semánticos
Una relación r es un ordenamiento estricto débil si
- es irreflexiva: para todo x , r ( x, x ) es false ;
- es transitiva: para todo a , b y c , si r ( a, b ) y r ( b, c ) son ambos true entonces r ( a, c ) es true ;
- sea e ( a, b ) igual a ! r ( a, b ) && ! r ( b, a ) , entonces e es transitiva: e ( a, b ) && e ( b, c ) implica e ( a, c ) .
Bajo estas condiciones, se puede demostrar que e es una relación de equivalencia, y r induce un orden total estricto en las clases de equivalencia determinadas por e .
Notas
La distinción entre
relation
y
strict_weak_order
es puramente semántica.
Referencias
- Estándar C++23 (ISO/IEC 14882:2024):
-
-
18.7.7 Concepto
strict_weak_order[concept.strictweakorder]
-
18.7.7 Concepto
- Estándar C++20 (ISO/IEC 14882:2020):
-
-
18.7.7 Concepto
strict_weak_order[concept.strictweakorder]
-
18.7.7 Concepto