Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void DirectoryTree::Display()
- {
- for( ForwardIterator<string> iter(&m_directories); !iter.IsDone(); iter.MoveNext() )
- {
- cout << iter.GetCurrent()->getData() << endl;
- }
- }
- ////////////////////////////////
- #ifndef FORWARDITERATOR_H
- #define FORWARDITERATOR_H
- //#include "ListIterator.h"
- template < typename T >
- class ForwardIterator //: ListIterator<T>
- {
- public:
- ForwardIterator( DoubleLinkedList<T> * linked_list );
- void MoveNext();
- void Reset();
- bool IsDone();
- Node<T> * GetCurrent();
- private:
- Node<T> * m_start;
- Node<T> * m_current;
- };
- template < typename T >
- Node<T> * ForwardIterator<T>::GetCurrent()
- {
- return m_current;
- }
- template < typename T >
- bool ForwardIterator<T>::IsDone()
- {
- return m_current == 0;
- }
- template < typename T >
- void ForwardIterator<T>::Reset()
- {
- m_current = m_start;
- }
- template < typename T >
- void ForwardIterator<T>::MoveNext()
- {
- m_current = m_current->getNext();
- }
- template < typename T >
- ForwardIterator<T>::ForwardIterator( DoubleLinkedList<T> * linked_list )
- {
- m_start = linked_list->getHead();
- m_current = linked_list->getHead();
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement