Namespaces
Variants

std::experimental::ranges:: prev

From cppreference.net
namespace {

constexpr /* unspecified */ prev = /* unspecified */ ;

}
(ranges TS)
(Anpassungspunktobjekt)
Aufrufsignatur
template < Iterator I >
constexpr I prev ( I i ) ;
(1)
template < Iterator I >
constexpr I prev ( I i, ranges :: difference_type_t < I > n ) ;
(2)
template < Iterator I >
constexpr I prev ( I i, ranges :: difference_type_t < I > n, I bound ) ;
(3)

Dekrementiert den Iterator i n Mal, oder bis bound erreicht wird, je nachdem was zuerst eintritt, und gibt den dekrementierten Iterator zurück.

1) Entspricht -- i ; return i ; .
2) Entspricht ranges:: advance ( i, - n ) ; return i ; .
3) Entspricht ranges:: advance ( i, - n, bound ) ; return i ; .

Inhaltsverzeichnis

Customization Point Objects

Der Name ranges::prev bezeichnet ein Customization Point Object , welches ein Funktionsobjekt eines Literal Semiregular Klassentyps ist (zur Veranschaulichung als PrevT bezeichnet). Alle Instanzen von PrevT sind gleich. Daher kann ranges::prev frei kopiert werden und seine Kopien können austauschbar verwendet werden.

Gegeben eine Menge von Typen Args... , falls std:: declval < Args > ( ) ... die Anforderungen für Argumente von ranges::prev oben erfüllen, wird PrevT ranges :: Invocable < const PrevT, Args... > erfüllen. Andernfalls nimmt kein Funktionsaufrufoperator von PrevT an der Überladungsauflösung teil.

In jeder Übersetzungseinheit, in der ranges::prev definiert ist, verweist es auf dieselbe Instanz des Customization Point Objects. (Dies bedeutet, dass es frei in Dingen wie Inline-Funktionen und Funktionsvorlagen verwendet werden kann, ohne das One-Definition-Rule zu verletzen.)

Rückgabewert

Der dekrementierte Iterator.

Beispiel

Siehe auch

(C++11)
dekrementiert einen Iterator
(Funktions-Template)
bewegt einen Iterator um eine gegebene Distanz
(Funktions-Template)
inkrementiert einen Iterator
(Funktions-Template)
gibt die Distanz zwischen einem Iterator und einem Sentinel zurück, oder zwischen dem Anfang und dem Ende eines Bereichs
(Funktions-Template)