serde_cbor::de

Struct SliceReadFixed

Source
pub struct SliceReadFixed<'a, 'b> { /* private fields */ }
Expand description

A CBOR input source that reads from a slice of bytes using a fixed size scratch buffer.

SliceRead and MutSliceRead are usually preferred over this, as they can handle indefinite length items.

Implementations§

Source§

impl<'a, 'b> SliceReadFixed<'a, 'b>

Source

pub fn new(slice: &'a [u8], scratch: &'b mut [u8]) -> SliceReadFixed<'a, 'b>

Creates a CBOR input source to read from a slice of bytes, backed by a scratch buffer.

Trait Implementations§

Source§

impl<'a, 'b> Debug for SliceReadFixed<'a, 'b>

Source§

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

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

impl<'a, 'b> Read<'a> for SliceReadFixed<'a, 'b>

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 read<'c>(&'c mut self, n: usize) -> Result<EitherLifetime<'c, 'a>>

Read n bytes from the input. Read more
Source§

fn take_buffer<'c>(&'c mut self) -> EitherLifetime<'c, '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.

Auto Trait Implementations§

§

impl<'a, 'b> Freeze for SliceReadFixed<'a, 'b>

§

impl<'a, 'b> RefUnwindSafe for SliceReadFixed<'a, 'b>

§

impl<'a, 'b> Send for SliceReadFixed<'a, 'b>

§

impl<'a, 'b> Sync for SliceReadFixed<'a, 'b>

§

impl<'a, 'b> Unpin for SliceReadFixed<'a, 'b>

§

impl<'a, 'b> !UnwindSafe for SliceReadFixed<'a, 'b>

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: 24 bytes