Struct hcklib::core::Core [−][src]
pub struct Core<'a, L> { /* fields omitted */ }
Expand description
The main processing loop
Implementations
pub fn new(
config: &'a CoreConfig<'_>,
fields: &'a [FieldRange],
line_parser: L,
line_buffer: &'a mut LineBuffer
) -> Self
pub fn new(
config: &'a CoreConfig<'_>,
fields: &'a [FieldRange],
line_parser: L,
line_buffer: &'a mut LineBuffer
) -> Self
Create a new “core” the can be used to parse multiple inputs
pub fn hck_input<P, W>(
&mut self,
input: HckInput<P>,
output: W,
header: Option<Vec<u8>>
) -> Result<(), Error> where
P: AsRef<Path>,
W: Write,
Iterate over the lines in a slice of bytes.
The input slice of bytes is assumed to end in a newline.
Fast mode iteration over lines in a slice of bytes.
This expects the seperator to be a single byte and the newline to be a singel byte.
Instead of seaching for linebreaks, then splitting up the line on the sep
,
fast mode looks for either sep
or newline
at the same time, so instead of two passes
over the bytes we only make one pass.
Fast mode iteration over lines in a reader.
This expects the separator to be a single byte and the newline to be a single byte.
Instead of seaching for linebreaks, then splitting up the line on the sep
,
fast mode looks for either sep
or newline
at the same time, so instead of two passes
over the bytes we only make one pass.