ctor using only HtslibFile without an iterator
ctor using an HtslibFile and an iterator
Duplicate the iterator must fully duplicate hts_itr_t
Get front of the iterator, returns Bam1, Bcf1, or Kstring Backing bam1_t, bcf1_t, kstring_t is re-used If you keep the result around it should be duplicated
popFront to move range forward is destructive
Needed to be ForwardRange
InputRange interface
HtslibIterator is an abstraction for htslib's hts_itr_t using dhtslib.memory for reference counting. HtslibIterator can be used to iterate VCF/BCF/SAM/BAM/Text files using a BAI/CSI/TBX index or by simply iterating the file.
This struct adapts htslib's iterators into ForwardRange. It is paired with and relies on HtslibFile.