pub trait TextModeParser: Sync {
// Required methods
fn get_next_chunk(
&self,
input: &mut dyn BufRead,
output_buffer: String,
) -> Result<Option<String>>;
fn parse_chunk<'a>(
&self,
chunk: &str,
) -> Result<(Features<'a>, Option<Label>)>;
// Provided method
fn extract_feature_names<'a>(
&self,
chunk: &'a str,
) -> Result<HashMap<ParsedNamespaceInfo<'a>, Vec<ParsedFeature<'a>>>> { ... }
}