1 #ifndef theplu_yat_omic_bam_read_iterator
2 #define theplu_yat_omic_bam_read_iterator
23 #include "config_bam.h"
25 #include YAT_SAM_HEADER
27 #include <boost/iterator/iterator_facade.hpp>
28 #include <boost/shared_ptr.hpp>
57 :
public boost::iterator_facade<
58 BamReadIterator, const BamRead, std::input_iterator_tag
94 friend class boost::iterator_core_access;
95 BamReadIterator::reference dereference(
void)
const;
108 virtual ~Actor(
void);
109 virtual void increment(
void)=0;
115 class AllActor :
public Actor
120 void increment(
void);
124 class IndexActor :
public Actor
127 IndexActor(
InBamFile& bf, int32_t tid, int32_t begin, int32_t end);
128 void increment(
void);
130 boost::shared_ptr<__bam_iter_t> iter_;
133 boost::shared_ptr<Actor> actor_;
135 struct IndexDestroyer
137 void operator()(bam_iter_t i)
const