std:: indirect_binary_predicate
| 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
>
concept indirect_binary_predicate
=
|
(seit C++20) | |
Das Konzept
indirect_binary_predicate
spezifiziert Anforderungen für Algorithmen, die binäre Prädikate als ihre Argumente aufrufen. Der Hauptunterschied zwischen diesem Konzept und
std::predicate
besteht darin, dass es auf die Typen angewendet wird, auf die
I1
und
I2
verweisen, anstatt 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 und zu Inkompatibilität mit Prädikat F & führte |
definiert in Bezug auf
/*indirect-value-t*/
<
I
>
um solche Projektionen korrekt zu behandeln |
| P2997R1 | C++20 |
indirect_binary_predicate
erforderte
F
&
zur Erfüllung von
predicate
mit
std:: iter_common_reference_t < I > |
erfordert nicht |