[][src]Struct serde_cbor::StreamDeserializer

pub struct StreamDeserializer<'de, R, T> { /* fields omitted */ }

Iterator that deserializes a stream into multiple CBOR values.

A stream deserializer can be created from any CBOR deserializer using the Deserializer::into_iter method.

use serde_cbor::de::Deserializer;
use serde_cbor::value::Value;

let data: Vec<u8> = vec![
    0x01, 0x66, 0x66, 0x6f, 0x6f, 0x62, 0x61, 0x72,
];
let mut it = Deserializer::from_slice(&data[..]).into_iter::<Value>();
assert_eq!(
    Value::Integer(1),
    it.next().unwrap().unwrap()
);
assert_eq!(
    Value::Text("foobar".to_string()),
    it.next().unwrap().unwrap()
);

Methods

impl<'de, R, T> StreamDeserializer<'de, R, T> where
    R: Read<'de>,
    T: Deserialize<'de>, 
[src]

Important traits for StreamDeserializer<'de, R, T>
pub fn new(read: R) -> StreamDeserializer<'de, R, T>[src]

Create a new CBOR stream deserializer from one of the possible serde_cbor input sources.

Typically it is more convenient to use one of these methods instead:

  • Deserializer::from_slice(...).into_iter()
  • Deserializer::from_reader(...).into_iter()

impl<'de, R, T> StreamDeserializer<'de, R, T> where
    R: Offset,
    T: Deserialize<'de>, 
[src]

pub fn byte_offset(&self) -> usize[src]

Return the current offset in the reader

Trait Implementations

impl<'de, R: Debug, T: Debug> Debug for StreamDeserializer<'de, R, T>[src]

impl<'de, R, T> Iterator for StreamDeserializer<'de, R, T> where
    R: Read<'de>,
    T: Deserialize<'de>, 
[src]

type Item = Result<T>

The type of the elements being iterated over.

Auto Trait Implementations

impl<'de, R, T> RefUnwindSafe for StreamDeserializer<'de, R, T> where
    R: RefUnwindSafe,
    T: RefUnwindSafe

impl<'de, R, T> Send for StreamDeserializer<'de, R, T> where
    R: Send,
    T: Send

impl<'de, R, T> Sync for StreamDeserializer<'de, R, T> where
    R: Sync,
    T: Sync

impl<'de, R, T> Unpin for StreamDeserializer<'de, R, T> where
    R: Unpin,
    T: Unpin

impl<'de, R, T> UnwindSafe for StreamDeserializer<'de, R, T> where
    R: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.