pub struct IndexedBufReader<R: Read + Unpin + Seek + Send> {
pub reader: BufReader<R>,
/* private fields */
}
Expand description
A wrapper around BufReader<R>
which implements ReadByLine
and holds an index of the
lines.
Fields§
§reader: BufReader<R>
Implementations§
Source§impl<R: Read + Unpin + Seek + Send> IndexedBufReader<R>
impl<R: Read + Unpin + Seek + Send> IndexedBufReader<R>
Sourcepub fn new(reader: BufReader<R>, index: Arc<Index>) -> IndexedBufReader<R>
pub fn new(reader: BufReader<R>, index: Arc<Index>) -> IndexedBufReader<R>
Creates a new IndexedBufReader
using a BufReader
Trait Implementations§
Source§impl<R: Read + Unpin + Seek + Send> IndexableFile for IndexedBufReader<R>
impl<R: Read + Unpin + Seek + Send> IndexableFile for IndexedBufReader<R>
Source§fn get_offset(&self, line: usize) -> Result<u64>
fn get_offset(&self, line: usize) -> Result<u64>
Should return the offset to seek to given the line-index
Source§fn read_current_line(
&mut self,
out_buf: &mut Vec<u8>,
line: usize,
) -> Result<usize>
fn read_current_line( &mut self, out_buf: &mut Vec<u8>, line: usize, ) -> Result<usize>
Should read from the current position until the end of the line, omitting the \n
Source§impl<R: Read + Unpin + Seek + Send> ReadByLine for IndexedBufReader<R>
impl<R: Read + Unpin + Seek + Send> ReadByLine for IndexedBufReader<R>
Source§fn read_line_raw(&mut self, line: usize, buf: &mut Vec<u8>) -> Result<usize>
fn read_line_raw(&mut self, line: usize, buf: &mut Vec<u8>) -> Result<usize>
Reads the given line and stores into
buf
Source§fn binary_search(&mut self, x: &str) -> Result<usize>
fn binary_search(&mut self, x: &str) -> Result<usize>
Do a binary search on
ReadByLine
implementing Types, since it provides everything required
for binary search. Only works with sorted filesSource§fn binary_search_by<F>(&mut self, f: F) -> Result<usize>
fn binary_search_by<F>(&mut self, f: F) -> Result<usize>
Do a binary search by on
ReadByLine
implementing Types, since it provides everything required
for binary search. Only works with sorted filesAuto Trait Implementations§
impl<R> Freeze for IndexedBufReader<R>where
R: Freeze,
impl<R> RefUnwindSafe for IndexedBufReader<R>where
R: RefUnwindSafe,
impl<R> Send for IndexedBufReader<R>
impl<R> Sync for IndexedBufReader<R>where
R: Sync,
impl<R> Unpin for IndexedBufReader<R>
impl<R> UnwindSafe for IndexedBufReader<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more