Namensräume
Varianten
Aktionen

operator-(ranges::adjacent_view::sentinel)

Von cppreference.com
< cpp‎ | ranges‎ | adjacent view‎ | sentinel
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
template< bool OtherConst >

    requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
                                     ranges::iterator_t</*maybe-const*/<OtherConst, V>>>
friend constexpr ranges::range_difference_t</*maybe-const*/<OtherConst, V>>

    operator-( const /*iterator*/<OtherConst>& x, const /*sentinel*/& y );
(1) (seit C++23)
template< bool OtherConst >

    requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
                                     ranges::iterator_t</*maybe-const*/<OtherConst, V>>>
friend constexpr ranges::range_difference_t</*maybe-const*/<OtherConst, V>>

    operator-( const /*sentinel*/& y, const /*iterator*/<OtherConst>& x );
(2) (seit C++23)

Berechnet die Distanz zwischen dem zugrunde liegenden Iterator von x und dem zugrunde liegenden Sentinel von y.

Sei current_ das zugrunde liegende Array von Iteratoren in x und end_ das zugrunde liegende Sentinel in y.

1) Äquivalent zu: return x.current_.back() - y.end_;
2) Äquivalent zu: return y.end_ - x.current_.back();

Diese Funktionsschablonen sind für die normale unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhängige Suche gefunden werden, wenn adjacent_view::sentinel eine assoziierte Klasse der Argumente ist.

Inhalt

[bearbeiten] Parameter

x - ein Iterator
y - ein Sentinel

[bearbeiten] Rückgabewert

Die Distanz zwischen x und y.

[bearbeiten] Beispiel

[bearbeiten] Siehe auch