pub struct RecordBuffer { /* private fields */ }Expand description
A buffer for BCF records. This allows access regions in a sorted BCF file while iterating over it in a single pass. The buffer is implemented as a ringbuffer, such that extension or movement to the right has linear complexity. The buffer does not use any indexed random access. Hence, for getting a region at the very end of the BCF, you will have to wait until all records before have been read.
Implementations§
Source§impl RecordBuffer
impl RecordBuffer
Sourcepub fn fetch(
&mut self,
chrom: &[u8],
start: u64,
end: u64,
) -> Result<(usize, usize)>
pub fn fetch( &mut self, chrom: &[u8], start: u64, end: u64, ) -> Result<(usize, usize)>
Fill the buffer with variants in the given window. The start coordinate has to be right of
the start coordinate of any previous fill operation.
Coordinates are 0-based, and end is exclusive.
Returns tuple with numbers of added and deleted records compared to previous fetch.
Sourcepub fn iter(&self) -> Iter<'_, Record> ⓘ
pub fn iter(&self) -> Iter<'_, Record> ⓘ
Iterate over records that have been fetched with fetch.
Sourcepub fn iter_mut(&mut self) -> IterMut<'_, Record> ⓘ
pub fn iter_mut(&mut self) -> IterMut<'_, Record> ⓘ
Iterate over mutable references to records that have been fetched with fetch.