Skip to main content

NodeContent

Struct NodeContent 

Source
pub struct NodeContent<'i, 'p> { /* private fields */ }
Expand description

Type for retrieving the content (arguments, properties, and children) of a single node. It’s important to ensure you drain or otherwise consume all events from this processor, or else the parent parser will be left in an inconsistent state.

Implementations§

Source§

impl<'i, 'p> NodeContent<'i, 'p>

Source

pub fn next_event<ArgumentAnnotation, Argument, PropertyKey, PropertyValueAnnotation, PropertyValue, Error>( self, ) -> Result<NodeEvent<'i, 'p, ArgumentAnnotation, Argument, PropertyKey, PropertyValueAnnotation, PropertyValue>, NomErr<Error>>
where Argument: ValueBuilder<'i>, ArgumentAnnotation: AnnotationBuilder<'i>, PropertyKey: StringBuilder<'i>, PropertyValue: ValueBuilder<'i>, PropertyValueAnnotation: AnnotationBuilder<'i>, Error: ParseError<&'i str> + TagError<&'i str, &'static str> + FromExternalError<&'i str, CharTryFromError> + FromExternalError<&'i str, BoundsError> + ContextError<&'i str, &'static str>,

Get the next piece of content from a node. This can be an argument, a property, a set of children, or End if the node is done.

For correctness, this method is move oriented. If the event is an argument or property, the event includes a new NodeContent for fetching the rest of the node. Conversely, if the event is children or the end of the node, the processor is consumed, because there’s nothing more that can be retrieved from this node.

Source

pub fn drain<E>(self) -> Result<DrainOutcome, NomErr<E>>
where E: ParseError<&'i str> + TagError<&'i str, &'static str> + FromExternalError<&'i str, CharTryFromError> + FromExternalError<&'i str, BoundsError> + ContextError<&'i str, &'static str>,

Parse and discard everything in this node. Checks for parse errors, but otherwise discards all data. Returns DrainOutcome::Empty unless there are any remaining properties, arguments, or non-empty children in this node.

Trait Implementations§

Source§

impl<'i, 'p> Debug for NodeContent<'i, 'p>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'i, 'p> !UnwindSafe for NodeContent<'i, 'p>

§

impl<'i, 'p> Freeze for NodeContent<'i, 'p>

§

impl<'i, 'p> RefUnwindSafe for NodeContent<'i, 'p>

§

impl<'i, 'p> Send for NodeContent<'i, 'p>

§

impl<'i, 'p> Sync for NodeContent<'i, 'p>

§

impl<'i, 'p> Unpin for NodeContent<'i, 'p>

§

impl<'i, 'p> UnsafeUnpin for NodeContent<'i, 'p>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<I, T> ExtractContext<I, ()> for T

Source§

fn extract_context(self, _original_input: I)

Given the context attached to a nom error, and given the original input to the nom parser, extract more the useful context information. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<I> RecreateContext<I> for I

Source§

fn recreate_context(_original_input: I, tail: I) -> I

Given the original input, as well as the context reported by nom, recreate a context in the original string where the error occurred. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.