std::experimental::ranges:: prev
|
Definiert in Header
<experimental/ranges/iterator>
|
||
|
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.
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
|
Dieser Abschnitt ist unvollständig
Grund: Kein 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) |