7 #ifndef _HALBOTTOMSEGMENTITERATOR_H
8 #define _HALBOTTOMSEGMENTITERATOR_H
11 #include "halBottomSegment.h"
12 #include "halSegmentIterator.h"
26 virtual BottomSegmentIteratorPtr
copy() = 0;
29 virtual BottomSegmentIteratorConstPtr
copy()
const = 0;
34 virtual void copy(BottomSegmentIteratorConstPtr bs)
const = 0;
38 virtual void toParent(TopSegmentIteratorConstPtr ts)
const = 0;
43 virtual void toParseDown(TopSegmentIteratorConstPtr ts)
const = 0;
54 virtual bool equals(BottomSegmentIteratorConstPtr other)
const = 0;
57 friend class counted_ptr<BottomSegmentIterator>;
58 friend class counted_ptr<const BottomSegmentIterator>;
59 virtual ~BottomSegmentIterator() = 0;
62 inline BottomSegmentIterator::~BottomSegmentIterator() {}
64 inline bool operator==(BottomSegmentIteratorConstPtr p1,
65 BottomSegmentIteratorConstPtr p2)
67 if (p1.get() == NULL || p2.get() == NULL)
69 return p1.get() == NULL && p2.get() == NULL;
71 return p1->equals(p2);
74 inline bool operator!=(BottomSegmentIteratorConstPtr p1,
75 BottomSegmentIteratorConstPtr p2)
Definition: halBottomSegment.h:18
Definition: halBottomSegmentIterator.h:21
virtual void toParseDown(TopSegmentIteratorConstPtr ts) const =0
virtual BottomSegment * getBottomSegment()=0
Definition: halSegmentIterator.h:20
virtual bool equals(BottomSegmentIteratorConstPtr other) const =0
virtual void toParent(TopSegmentIteratorConstPtr ts) const =0
virtual BottomSegmentIteratorPtr copy()=0