Bonjour,
Je cherche à savoir quelle est la meilleure manière de faire un itérateur qui serait limité à un certain interval de mon containeur, ceci afin que --(containeur.begin()) reste sur le premier élément de mon containeur et ne parte pas je ne sais où.
Il y a-t-il un moyen plus facile (que j'aurais loupé) autre que de créer une nouvelle classe ?
edit:
est-ce que quelque chose du genre est la manière la plus simple de procéder ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 template<class T> class Slider { private: T::iterator iterator; T* container; public: Slider(const T& container) : iterator(container.begin()), container(&container) { } Slider<T>& operator++() { if (iterator != --container->end()) ++iterator; return *this; } Slider<T>& operator--() { if (iterator != container->begin()) --iterator; return *this; } };
Partager