std:: indirect_equivalence_relation
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert in Header
<iterator>
|
||
|
template
<
class
F,
class
I1,
class
I2
=
I1
>
concept indirect_equivalence_relation
=
|
(seit C++20) | |
Das Konzept
indirect_equivalence_relation
spezifiziert Anforderungen für Algorithmen, die Äquivalenzrelationen als ihre Argumente aufrufen. Der Hauptunterschied zwischen diesem Konzept und
std::equivalence_relation
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 Äquivalenzrelation F & führte |
definiert in Bezug auf
/*indirect-value-t*/
<
I
>
um solche Projektionen korrekt zu behandeln |
| P2997R1 | C++20 |
indirect_equivalence_relation
erforderte, dass
F
&
equivalence_relation
mit
std:: iter_common_reference_t < I > erfüllt |
erfordert nicht |