pub struct Consumed<T> {
pub value: T,
pub bytes_consumed: usize,
}Expand description
A value of type T along with how many bytes were consumed to produce it.
Fields§
§value: TThe parsed value.
bytes_consumed: usizeNumber of bytes read from the stream.
Implementations§
Source§impl<T> Consumed<T>
impl<T> Consumed<T>
Sourcepub fn new(value: T, bytes_consumed: usize) -> Self
pub fn new(value: T, bytes_consumed: usize) -> Self
Create a new Consumed<T> with the given value and bytes_consumed.
§Examples
use crabstep::deserializer::consumed::Consumed;
let consumed = Consumed::new(42, 2);
assert_eq!(consumed.value, 42);
assert_eq!(consumed.bytes_consumed, 2);Sourcepub fn map<U, F>(self, f: F) -> Consumed<U>where
F: FnOnce(T) -> U,
pub fn map<U, F>(self, f: F) -> Consumed<U>where
F: FnOnce(T) -> U,
Transform the contained value to another type, preserving bytes_consumed.
§Examples
use crabstep::deserializer::consumed::Consumed;
let consumed = Consumed::new(2u8, 1);
let mapped = consumed.map(|v| v as u16);
assert_eq!(mapped.value, 2u16);
assert_eq!(mapped.bytes_consumed, 1);Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Consumed<T>where
T: Freeze,
impl<T> RefUnwindSafe for Consumed<T>where
T: RefUnwindSafe,
impl<T> Send for Consumed<T>where
T: Send,
impl<T> Sync for Consumed<T>where
T: Sync,
impl<T> Unpin for Consumed<T>where
T: Unpin,
impl<T> UnsafeUnpin for Consumed<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Consumed<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more