operator+ (std::counted_iterator)
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Non-member functions | ||||
|
(C++20)
(C++20)
|
||||
|
(C++20)
|
||||
|
operator+
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Helper classes | ||||
|
friend
constexpr
counted_iterator operator
+
(
std::
iter_difference_t
<
I
>
n,
const
counted_iterator
&
x
)
|
(depuis C++20) | |
Retourne un adaptateur d'itérateur qui est avancé de n . Le comportement est indéfini si n est supérieur à la longueur enregistrée dans x (c'est-à-dire si x + n entraîne un comportement indéfini).
Cette fonction n'est pas visible par la recherche non qualifiée ou qualifiée ordinaire, et ne peut être trouvée 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
| n | - | le nombre de positions pour incrémenter l'itérateur |
| x | - | l'adaptateur d'itérateur à incrémenter |
Valeur de retour
Un adaptateur d'itérateur égal à x + n .
Exemple
#include <iostream> #include <iterator> #include <list> #include <vector> int main() { std::vector v{0, 1, 2, 3, 4, 5}; std::counted_iterator<std::vector<int>::iterator> p{v.begin() + 1, 4}; std::cout << "*p:" << *p << ", count:" << p.count() << '\n'; std::counted_iterator<std::vector<int>::iterator> q{2 + p}; std::cout << "*q:" << *q << ", count:" << q.count() << '\n'; std::list l{6, 7, 8, 9}; std::counted_iterator<std::list<int>::iterator> r{l.begin(), 3}; std::cout << "*r:" << *r << ", count:" << r.count() << '\n'; // auto s{2 + r}; // error: the underlying iterator does // not model std::random_access_iterator }
Sortie :
*p:1, count:4 *q:3, count:2 *r:6, count:3
Voir aussi
avance ou décrémente l'itérateur
counted_iterator
(fonction membre publique) |
|
|
(C++20)
|
calcule la distance entre deux adaptateurs d'itérateur
(fonction template) |
|
calcule la distance signée jusqu'à la fin
(fonction template) |