7 #ifndef _HALGAPPEDBOTTOMSEGMENTITERATOR_H
8 #define _HALGAPPEDBOTTOMSEGMENTITERATOR_H
12 #include "halBottomSegmentIterator.h"
13 #include "halGappedSegmentIterator.h"
26 virtual GappedBottomSegmentIteratorPtr
copy() = 0;
29 virtual GappedBottomSegmentIteratorConstPtr
copy()
const = 0;
33 virtual void copy(GappedBottomSegmentIteratorConstPtr ts)
const = 0;
36 virtual void toParent(GappedTopSegmentIteratorConstPtr ts)
const = 0;
40 virtual bool equals(GappedBottomSegmentIteratorConstPtr other)
const = 0;
43 virtual bool adjacentTo(GappedBottomSegmentIteratorConstPtr other)
const= 0;
54 virtual BottomSegmentIteratorConstPtr
getLeft()
const = 0;
59 virtual BottomSegmentIteratorConstPtr
getRight()
const = 0;
64 virtual void setLeft(BottomSegmentIteratorConstPtr bs)
const = 0;
68 friend class counted_ptr<GappedBottomSegmentIterator>;
69 friend class counted_ptr<const GappedBottomSegmentIterator>;
70 virtual ~GappedBottomSegmentIterator() = 0;
73 inline GappedBottomSegmentIterator::~GappedBottomSegmentIterator() {}
75 inline bool operator==(GappedBottomSegmentIteratorConstPtr p1,
76 GappedBottomSegmentIteratorConstPtr p2)
78 if (p1.get() == NULL || p2.get() == NULL)
80 return p1.get() == NULL && p2.get() == NULL;
82 return p1->equals(p2);
85 inline bool operator!=(GappedBottomSegmentIteratorConstPtr p1,
86 GappedBottomSegmentIteratorConstPtr p2)
virtual void setLeft(BottomSegmentIteratorConstPtr bs) const =0
virtual bool hasChild() const =0
virtual bool getChildReversed() const =0
virtual BottomSegmentIteratorConstPtr getLeft() const =0
virtual bool equals(GappedBottomSegmentIteratorConstPtr other) const =0
Definition: halGappedBottomSegmentIterator.h:21
virtual BottomSegmentIteratorConstPtr getRight() const =0
virtual void toParent(GappedTopSegmentIteratorConstPtr ts) const =0
virtual bool adjacentTo(GappedBottomSegmentIteratorConstPtr other) const =0
Definition: halGappedSegmentIterator.h:22
virtual GappedBottomSegmentIteratorPtr copy()=0