pub struct GrepReader { /* private fields */ }
Expand description
Quick grep text by marking the line that matching a pattern, suitable for very large text file.
Implementations§
Source§impl GrepReader
impl GrepReader
Sourcepub fn try_from_path(p: &Path) -> Result<GrepReader, Error>
pub fn try_from_path(p: &Path) -> Result<GrepReader, Error>
Build from file in path
Sourcepub fn mark(
&mut self,
pattern: &str,
max_count: impl Into<Option<usize>>,
) -> Result<usize, Error>
pub fn mark( &mut self, pattern: &str, max_count: impl Into<Option<usize>>, ) -> Result<usize, Error>
Mark positions that matching pattern
, so that we can seek
these positions later. Regex can be used in pattern
. Return
the number of marked positions.
§Paramters
- max_count: exits search if max_count matches reached.
Sourcepub fn goto_start(&mut self)
pub fn goto_start(&mut self)
Goto the start of inner file.
Sourcepub fn num_markers(&self) -> usize
pub fn num_markers(&self) -> usize
Return the number of marked positions.
Sourcepub fn goto_next_marker(&mut self) -> Result<u64, Error>
pub fn goto_next_marker(&mut self) -> Result<u64, Error>
Goto the next position that marked. Return marker position on success. Return Err if already reached the last marker or other errors.
Sourcepub fn goto_marker(&mut self, marker_index: usize) -> Result<u64, Error>
pub fn goto_marker(&mut self, marker_index: usize) -> Result<u64, Error>
Goto the marked position in marker_index
. Will panic if marker_index
out of range.
Sourcepub fn current_marker(&mut self) -> usize
pub fn current_marker(&mut self) -> usize
Return current marker index
Sourcepub fn read_lines(&mut self, n: usize, buffer: &mut String) -> Result<(), Error>
pub fn read_lines(&mut self, n: usize, buffer: &mut String) -> Result<(), Error>
Return n
lines in string on success from current
position. Return error if reached EOF early.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GrepReader
impl RefUnwindSafe for GrepReader
impl Send for GrepReader
impl Sync for GrepReader
impl Unpin for GrepReader
impl UnwindSafe for GrepReader
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more