Trait mentat_parser_utils::value_and_span::Item
[−]
[src]
pub trait Item<'a>: Clone + PartialEq + Sized { type Position: Clone + Ord + Display; fn start(&self) -> Self::Position; fn update_position(&self, _: &mut Self::Position); fn child_iter(&'a self) -> Iter<'a>; fn child_stream(&'a self) -> Stream<'a>; fn atom_iter(&'a self) -> Iter<'a>; fn atom_stream(&'a self) -> Stream<'a>; fn keyword_map_iter(&'a self) -> Iter<'a>; fn keyword_map_stream(&'a self) -> Stream<'a>; }
Things specific to parsing with combine
and our Stream
that need a trait to live outside of
the edn
crate.
Associated Types
Required Methods
fn start(&self) -> Self::Position
A slight generalization of combine::Positioner
that allows to set the position based on
the edn::ValueAndSpan
being iterated.
fn update_position(&self, _: &mut Self::Position)
ⓘImportant traits for Iter<'a>
fn child_iter(&'a self) -> Iter<'a>
fn child_stream(&'a self) -> Stream<'a>
ⓘImportant traits for Iter<'a>
fn atom_iter(&'a self) -> Iter<'a>
fn atom_stream(&'a self) -> Stream<'a>
ⓘImportant traits for Iter<'a>
fn keyword_map_iter(&'a self) -> Iter<'a>
fn keyword_map_stream(&'a self) -> Stream<'a>
Implementations on Foreign Types
impl<'a> Item<'a> for ValueAndSpan
[src]
impl<'a> Item<'a> for ValueAndSpan
type Position = SpanPosition
fn start(&self) -> Self::Position
[src]
fn start(&self) -> Self::Position
fn update_position(&self, position: &mut Self::Position)
[src]
fn update_position(&self, position: &mut Self::Position)
ⓘImportant traits for Iter<'a>fn keyword_map_iter(&'a self) -> Iter<'a>
[src]
ⓘImportant traits for Iter<'a>
fn keyword_map_iter(&'a self) -> Iter<'a>
fn keyword_map_stream(&'a self) -> Stream<'a>
[src]
fn keyword_map_stream(&'a self) -> Stream<'a>
ⓘImportant traits for Iter<'a>fn child_iter(&'a self) -> Iter<'a>
[src]
ⓘImportant traits for Iter<'a>
fn child_iter(&'a self) -> Iter<'a>
fn child_stream(&'a self) -> Stream<'a>
[src]
fn child_stream(&'a self) -> Stream<'a>
ⓘImportant traits for Iter<'a>fn atom_iter(&'a self) -> Iter<'a>
[src]
ⓘImportant traits for Iter<'a>
fn atom_iter(&'a self) -> Iter<'a>
fn atom_stream(&'a self) -> Stream<'a>
[src]
fn atom_stream(&'a self) -> Stream<'a>