Namespaces
Variants

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

Von de.cppreference.net
 
 
Bereichsbibliothek
Bereichsadaptoren
 
 
friend constexpr /*iterator*/
    operator+( const /*iterator*/& i, difference_type n )
        requires ranges::random_access_range<Base>;
(1) (seit C++23)
friend constexpr /*iterator*/
    operator+( difference_type n, const /*iterator*/& i )
        requires ranges::random_access_range<Base>;
(2) (seit C++23)
friend constexpr /*iterator*/
    operator-( const /*iterator*/& i, difference_type n )
        requires ranges::random_access_range<Base>;
(3) (seit C++23)
friend constexpr difference_type
    operator-( const /*iterator*/& x, const /*iterator*/& y )
        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*/& x )
        requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
                                         ranges::iterator_t<Base>>;
(5) (seit C++23)
friend constexpr difference_type
    operator-( const /*iterator*/& x, std::default_sentinel_t s )
        requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
                                         ranges::iterator_t<Base>>;
(6) (seit C++23)

Erhöht oder verringert den iterator.

Seien current_, end_, stride_ und missing_ die Datenelemente des iterator.

1,2) Entspricht auto r = i; r += n; return r;.
3) Entspricht auto r = i; r -= n; return r;.
4) Sei N gleich x.current_ - y.current_. Gibt zurück:
  • (N + x.missing_ - y.missing_) / x.stride_, falls Base das Konzept forward_range modelliert.
  • -/*div-ceil*/(-N, x.stride_), falls N < 0.
  • /*div-ceil*/(N, x.stride_) andernfalls.
5) Entspricht return /*div-ceil*/(x.end_ - x.current_, x.stride_);.
6) Entspricht return -(s - x);.

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

Parameter

x, y, i - die Iteratoren
s - ein Sentinel

Rückgabewert

1,2) Ein inkrementierter Iterator
3) Ein dekrementierter Iterator
4) Ein Abstand zwischen gegebenen Iteratoren
5,6) Ein Abstand zwischen gegebenem Iterator und Sentinel

Beispiel

Siehe auch

bewegt den zugrundeliegenden Iterator vorwärts oder rückwärts
(öffentliche Mitgliedsfunktion)