std::strict_weak_order
De cppreference.com
Definido en el archivo de 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 relación (relation
) R
impone un orden débil estricto a sus argumentos.
Contenido |
[editar] Requisitos semánticos
Una relación r
es una relación de orden débil estricto si
- es irreflexiva: para toda
x
,r(x, x)
es falsa; - es transitiva: para toda
a
,b
yc
, si tantor(a, b)
comor(b, c)
son verdaderas entoncesr(a, c)
es verdadera; - dejemos que
e(a, b)
sea!r(a, b) && !r(b, a)
, entoncese
es transitiva:e(a, b) && e(b, c)
implicae(a, c)
.
Bajo estas condiciones, puede demostrarse que e
es una relación de equivalencia, y r
induce un orden estricto total en las clases de equivalencia determinadas por e
.
[editar] Notas
La distinción entre relation
y strict_weak_order
es puramente semántica.
[editar] Referencias
- El estándar C++23 (ISO/IEC 14882:2023):
- 18.7.7 Concepto
strict_weak_order
[concept.strictweakorder]
- 18.7.7 Concepto
- El estándar C++20 (ISO/IEC 14882:2020):
- 18.7.7 Concepto
strict_weak_order
[concept.strictweakorder]
- 18.7.7 Concepto