7 #ifndef _HALSEQUENCEITERATOR_H
8 #define _HALSEQUENCEITERATOR_H
11 #include "halSequence.h"
23 virtual SequenceIteratorPtr
copy() = 0;
27 virtual SequenceIteratorConstPtr
copy()
const = 0;
30 virtual void toNext()
const = 0;
33 virtual void toPrev()
const = 0;
42 virtual bool equals(SequenceIteratorConstPtr p2)
const = 0;
45 friend class counted_ptr<SequenceIterator>;
46 friend class counted_ptr<const SequenceIterator>;
47 virtual ~SequenceIterator() = 0;
50 inline SequenceIterator::~SequenceIterator() {}
52 inline bool operator==(SequenceIteratorConstPtr p1,
53 SequenceIteratorConstPtr p2)
55 if (p1.get() == NULL || p2.get() == NULL)
57 return p1.get() == NULL && p2.get() == NULL;
59 return p1->equals(p2);
62 inline bool operator!=(SequenceIteratorConstPtr p1,
63 SequenceIteratorConstPtr p2)
virtual Sequence * getSequence()=0
virtual void toNext() const =0
virtual SequenceIteratorPtr copy()=0
Definition: halSequenceIterator.h:18
virtual void toPrev() const =0
virtual bool equals(SequenceIteratorConstPtr p2) const =0
Definition: halSequence.h:20