Namensräume
Varianten
Aktionen

operator+,-(ranges::chunk_view::iterator)

Von cppreference.com
< cpp‎ | ranges‎ | chunk view‎ | iterator
 
 
Bereichsbibliothek
Range-Adaptoren
 
std::ranges::chunk_view
Memberfunktionen
Klassen für input_ranges
Deduction Guides
outer-iterator
outer-iterator::value_type
inner-iterator
 
friend constexpr /*iterator*/ operator+( const /*iterator*/& i,

                                         difference_type pos )

    requires ranges::random_access_range<Base>;
(1) (seit C++23)
friend constexpr /*iterator*/ operator+( difference_type pos,

                                         const /*iterator*/& i )

    requires ranges::random_access_range<Base>;
(2) (seit C++23)
friend constexpr /*iterator*/ operator-( const /*iterator*/& i,

                                         difference_type pos )

    requires ranges::random_access_range<Base>;
(3) (seit C++23)
friend constexpr difference_type operator-( const /*iterator*/& i,

                                            const /*iterator*/& j )
    requires std::sized_sentinel_for<ranges::iterator_t<Base>,

                                     ranges::iterator_t<Base>>;
(4) (seit C++23)
friend constexpr difference_type operator-( std::default_sentinel_t,

                                            const /*iterator*/& i )
    requires std::sized_sentinel_for<ranges::sentinel_t<Base>,

                                     ranges::iterator_t<Base>>;
(5) (seit C++23)
friend constexpr difference_type operator-( const /*iterator*/& i,

                                            std::default_sentinel_t )
    requires std::sized_sentinel_for<ranges::sentinel_t<Base>,

                                     ranges::iterator_t<Base>>;
(6) (seit C++23)

Führt Iterator-Arithmetik durch oder berechnet die Distanz.

Seien current_, end_, n_ und missing_ die zugrunde liegenden Datenmember.

Äquivalent zu

1,2) auto r = i; r += pos; return r;.
3) auto r = i; r -= pos; return r;.
4) return (i.current_ - j.current_ + i.missing_ - j.missing_) / i.n_;.
5) return /*div-ceil*/(i.end_ - i.current_, i.n_);.
6) return -(y - x);.

Diese Funktionen sind für gewöhnliche unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhängige Suche gefunden werden, wenn chunk_view::iterator<Const> eine assoziierte Klasse der Argumente ist.

Inhalt

[bearbeiten] Parameter

i, j - die Iteratoren
pos - Die Position relativ zur aktuellen Position

[bearbeiten] Rückgabewert

1,2) Ein erhöhter Iterator.
3) Ein verringerter Iterator.
4) Ein Abstand (in Anzahl der Elemente, d.h. Chunks) zwischen den gegebenen Iteratoren.
5,6) Ein Abstand (in Anzahl der Elemente) zwischen dem gegebenen Iterator und Sentinel.

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

bewegt den zugrundeliegenden Iterator vorwärts oder rückwärts
(public member function) [edit]