7 #ifndef _HALSEGMENTITERATOR_H
8 #define _HALSEGMENTITERATOR_H
11 #include "halSlicedSegment.h"
29 virtual void toLeft(hal_index_t leftCutoff = NULL_INDEX)
const = 0;
36 virtual void toRight(hal_index_t rightCutoff = NULL_INDEX)
const = 0;
45 virtual void toSite(hal_index_t position,
bool slice =
true)
const = 0;
49 friend class counted_ptr<SegmentIterator>;
50 friend class counted_ptr<const SegmentIterator>;
51 virtual ~SegmentIterator() = 0;
54 inline SegmentIterator::~SegmentIterator() {}
56 inline bool operator<(SegmentIteratorConstPtr segmentIt,
57 hal_index_t genomePos)
59 return segmentIt->leftOf(genomePos);
62 inline bool operator>(SegmentIteratorConstPtr segmentIt,
63 hal_index_t genomePos)
65 return segmentIt->rightOf(genomePos);
virtual void toSite(hal_index_t position, bool slice=true) const =0
Definition: halSegmentIterator.h:20
virtual void toRight(hal_index_t rightCutoff=NULL_INDEX) const =0
virtual void toLeft(hal_index_t leftCutoff=NULL_INDEX) const =0
Definition: halSlicedSegment.h:22
virtual void slice(hal_offset_t startOffset=0, hal_offset_t endOffset=0) const =0