std:: indirect_strict_weak_order
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert im Header
<iterator>
|
||
|
template
<
class
F,
class
I1,
class
I2
=
I1
>
concept indirect_strict_weak_order
=
|
(seit C++20) | |
Das Konzept
indirect_strict_weak_order
spezifiziert Anforderungen für Algorithmen, die strikte schwache Ordnungen als Argumente aufrufen. Der Hauptunterschied zwischen diesem Konzept und
std::strict_weak_order
besteht darin, dass es auf die Typen angewendet wird, auf die
I1
und
I2
verweisen, und nicht auf
I1
und
I2
selbst.
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| P2609R3 | C++20 |
einige Anforderungen wurden definiert in Bezug auf
std:: iter_value_t < I > & was Projektionen falsch behandelte was zu Inkompatibilität mit strikter schwacher Ordnung führte F & |
definiert in Bezug auf
/*indirect-value-t*/ < I > um solche Projektionen korrekt zu behandeln |
| P2997R1 | C++20 |
indirect_strict_weak_order
erforderte, dass
F
&
strict_weak_order
mit
std::
iter_common_reference_t
<
I
>
erfüllt
|
erfordert nicht |