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) | (depuis C++20) |
|
friend
constexpr
std::
iter_difference_t
<
I
>
operator
-
(
std:: default_sentinel_t , const counted_iterator & y ) ; |
(2) | (depuis C++20) |
1)
Retourne la distance négative jusqu'à la fin.
2)
Retourne la distance positive jusqu'à la fin.
Ce modèle de fonction n'est pas visible par la recherche non qualifiée ordinaire ou la recherche qualifiée , et ne peut être trouvé que par la recherche dépendante des arguments lorsque std::counted_iterator<I> est une classe associée des arguments.
Table des matières |
Paramètres
| x, y | - | adaptateurs d'itérateur pour calculer la différence de |
Valeur de retour
1)
-
x.
count
(
)
2)
y.
count
(
)
Exemple
Exécuter ce code
#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) }
Voir aussi
avance ou décrémente l'itérateur
counted_iterator
(fonction membre publique) |
|
|
(C++20)
|
avance l'itérateur
(modèle de fonction) |
|
(C++20)
|
calcule la distance entre deux adaptateurs d'itérateur
(modèle de fonction) |
|
(C++20)
|
sentinelle par défaut pour utilisation avec les itérateurs qui connaissent la limite de leur plage
(classe) |