Struct time::parsing::ParsedItem

source ·
pub(crate) struct ParsedItem<'a, T>(pub(crate) &'a [u8], pub(crate) T);
Expand description

An item that has been parsed. Represented as a (remaining, value) pair.

Tuple Fields§

§0: &'a [u8]§1: T

Implementations§

source§

impl<'a, T> ParsedItem<'a, T>

source

pub(crate) fn map<U>(self, f: impl FnOnce(T) -> U) -> ParsedItem<'a, U>

Map the value to a new value, preserving the remaining input.

source

pub(crate) fn flat_map<U>( self, f: impl FnOnce(T) -> Option<U>, ) -> Option<ParsedItem<'a, U>>

Map the value to a new, optional value, preserving the remaining input.

source

pub(crate) fn consume_value( self, f: impl FnOnce(T) -> Option<()>, ) -> Option<&'a [u8]>

Consume the stored value with the provided function. The remaining input is returned.

source

pub(crate) fn filter( self, f: impl FnOnce(&T) -> bool, ) -> Option<ParsedItem<'a, T>>

Filter the value with the provided function. If the function returns false, the value is discarded and None is returned. Otherwise, the value is preserved and Some(self) is returned.

source§

impl<'a> ParsedItem<'a, ()>

source

pub(crate) const fn into_inner(self) -> &'a [u8]

Discard the unit value, returning the remaining input.

source§

impl<'a> ParsedItem<'a, Option<()>>

source

pub(crate) const fn into_inner(self) -> &'a [u8]

Discard the potential unit value, returning the remaining input.

Trait Implementations§

source§

impl<'a, T: Debug> Debug for ParsedItem<'a, T>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, T> Freeze for ParsedItem<'a, T>
where T: Freeze,

§

impl<'a, T> RefUnwindSafe for ParsedItem<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Send for ParsedItem<'a, T>
where T: Send,

§

impl<'a, T> Sync for ParsedItem<'a, T>
where T: Sync,

§

impl<'a, T> Unpin for ParsedItem<'a, T>
where T: Unpin,

§

impl<'a, T> UnwindSafe for ParsedItem<'a, T>
where T: UnwindSafe,

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<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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.