operator- (std::counted_iterator<I>, std::default_sentinel_t)
From cppreference.net
<
cpp
|
iterator
|
counted iterator
C++
Iterator library
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::counted_iterator
| Member functions | ||||
| Non-member functions | ||||
|
(C++20)
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
|
operator-
(default_sentinel_t)
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Helper classes | ||||
|
friend
constexpr
std::
iter_difference_t
<
I
>
operator
-
(
const counted_iterator & x, std:: default_sentinel_t ) ; |
(1) | (seit C++20) |
|
friend
constexpr
std::
iter_difference_t
<
I
>
operator
-
(
std:: default_sentinel_t , const counted_iterator & y ) ; |
(2) | (seit C++20) |
1)
Gibt den negativen Abstand zum Ende zurück.
2)
Gibt den positiven Abstand zum Ende zurück.
Diese Funktionsvorlage ist für gewöhnliches unqualified oder qualified lookup nicht sichtbar und kann nur durch argument-dependent lookup gefunden werden, wenn std::counted_iterator<I> eine assoziierte Klasse der Argumente ist.
Inhaltsverzeichnis |
Parameter
| x, y | - | Iterator-Adapter zur Berechnung der Differenz von |
Rückgabewert
1)
-
x.
count
(
)
2)
y.
count
(
)
Beispiel
Diesen Code ausführen
#include <initializer_list> #include <iterator> int main() { constexpr static auto v = {1, 2, 3, 4}; constexpr std::counted_iterator<std::initializer_list<int>::iterator> it{v.begin(), 3}; constexpr auto d1 = it - std::default_sentinel; static_assert(d1 == -3); // (1) constexpr auto d2 = std::default_sentinel - it; static_assert(d2 == +3); // (2) }
Siehe auch
erhöht oder verringert den
counted_iterator
(öffentliche Elementfunktion) |
|
|
(C++20)
|
erhöht den Iterator
(Funktions-Template) |
|
(C++20)
|
berechnet die Distanz zwischen zwei Iterator-Adaptoren
(Funktions-Template) |
|
(C++20)
|
Standardsentinel für die Verwendung mit Iteratoren, die ihre Bereichsgrenze kennen
(Klasse) |