Struct gchemol_parser::GrepReader
source · 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<Self>
pub fn try_from_path(p: &Path) -> Result<Self>
Build from file in path
sourcepub fn mark<B: AsRef<str>>(&mut self, patterns: &[B]) -> Result<usize>
pub fn mark<B: AsRef<str>>(&mut self, patterns: &[B]) -> Result<usize>
Mark positions that matching pattern, so that we can seek these positions later. Return the number of marked positions.
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>
pub fn goto_next_marker(&mut self) -> Result<u64>
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>
pub fn goto_marker(&mut self, marker_index: usize) -> Result<u64>
Goto the marked position in marker_index. Will panic if marker_index
out of range.