std::experimental::ranges:: Predicate
|
Definiert in Header
<experimental/ranges/concepts>
|
||
|
template
<
class
F,
class
...
Args
>
concept
bool
Predicate
=
|
(ranges TS) | |
Das Konzept
Predicate<F, Args...>
spezifiziert, dass
F
ein Prädikat ist, das Argumente akzeptiert, deren Typen und Wertkategorien durch
Args...
kodiert sind, d.h. es kann mit diesen Argumenten aufgerufen werden, um ein
Boolean
-Ergebnis zu liefern.
Beachten Sie, dass
RegularInvocable
erfordert, dass der Aufruf weder das aufrufbare Objekt noch die Argumente verändert und gleichheitserhaltend ist.
Gleichheitserhaltung
Ein Ausdruck ist gleichheitserhaltend , wenn er bei gleichen Eingaben gleiche Ausgaben liefert.
- Die Eingaben eines Ausdrucks bestehen aus seinen Operanden.
- Die Ausgaben eines Ausdrucks bestehen aus seinem Ergebnis und allen durch den Ausdruck modifizierten Operanden (falls vorhanden).
Jeder Ausdruck, der gleichungserhaltend sein muss, muss darüber hinaus stabil sein: Zwei Auswertungen eines solchen Ausdrucks mit denselben Eingabeobjekten müssen gleiche Ausgaben liefern, sofern keine explizite Änderung dieser Eingabeobjekte zwischen den Auswertungen erfolgt.