Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Some basic iterator stuff */
- namespace {
- template<class T>
- struct ListEntry
- {
- ListEntry* prev, *next;
- T val;
- };
- template<class T>
- class ListIter
- {
- ListEntry<T>* entry;
- public:
- ListIter(ListEntry<T>* entry)
- : entry(entry)
- {}
- T& operator*() const
- {
- return entry->val;
- }
- ListIter& operator++()
- {
- entry = entry->next;
- return *this;
- }
- ListIter operator++(int)
- {
- ListIter cpy = *this;
- ++(*this);
- return cpy;
- }
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement