serde_cbor::de

Struct MutSliceRead

Source
pub struct MutSliceRead<'a> { /* private fields */ }
Expand description

A CBOR input source that reads from a slice of bytes, and can move data around internally to reassemble indefinite strings without the need of an allocated scratch buffer.

Implementations§

Source§

impl<'a> MutSliceRead<'a>

Source

pub fn new(slice: &'a mut [u8]) -> MutSliceRead<'a>

Creates a CBOR input source to read from a slice of bytes.

Trait Implementations§

Source§

impl<'a> Debug for MutSliceRead<'a>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'a> Read<'a> for MutSliceRead<'a>

Source§

fn next(&mut self) -> Result<Option<u8>>

Read the next byte from the input, if any.
Source§

fn peek(&mut self) -> Result<Option<u8>>

Peek at the next byte of the input, if any. This does not advance the reader, so the result of this function will remain the same until a read or clear occurs.
Source§

fn clear_buffer(&mut self)

Clear the underlying scratch buffer
Source§

fn read_to_buffer(&mut self, n: usize) -> Result<()>

Append n bytes from the reader to the reader’s scratch buffer (without clearing it)
Source§

fn take_buffer<'b>(&'b mut self) -> EitherLifetime<'b, 'a>

Read out everything accumulated in the reader’s scratch buffer. This may, as a side effect, clear it.
Source§

fn read_into(&mut self, buf: &mut [u8]) -> Result<()>

Read from the input until buf is full or end of input is encountered.
Source§

fn discard(&mut self)

Discard any data read by peek.
Source§

fn offset(&self) -> u64

Returns the offset from the start of the reader.
Source§

fn read<'a>(&'a mut self, n: usize) -> Result<EitherLifetime<'a, 'de>>

Read n bytes from the input. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for MutSliceRead<'a>

§

impl<'a> RefUnwindSafe for MutSliceRead<'a>

§

impl<'a> Send for MutSliceRead<'a>

§

impl<'a> Sync for MutSliceRead<'a>

§

impl<'a> Unpin for MutSliceRead<'a>

§

impl<'a> !UnwindSafe for MutSliceRead<'a>

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

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 20 bytes