Deserialize

Trait Deserialize 

Source
pub trait Deserialize<'input> {
    // Required method
    fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
       where Self: Sized + 'input;

    // Provided methods
    fn from_slice(json: &'input mut [u8]) -> Result<Self>
       where Self: Sized + 'input { ... }
    fn from_slice_with_buffers(
        json: &'input mut [u8],
        buffers: &mut Buffers,
    ) -> Result<Self>
       where Self: Sized + 'input { ... }
    unsafe fn from_str(json: &'input mut str) -> Result<Self>
       where Self: Sized + 'input { ... }
}
Expand description

Deserialisation trait for simd-json

Required Methods§

Source

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Deserializes from a tape

§Errors

if deserialisation fails

Provided Methods§

Source

fn from_slice(json: &'input mut [u8]) -> Result<Self>
where Self: Sized + 'input,

Deserializes from a u8 slice

§Errors

if deserialisation fails

Source

fn from_slice_with_buffers( json: &'input mut [u8], buffers: &mut Buffers, ) -> Result<Self>
where Self: Sized + 'input,

Deserializes from a u8 slice using pre-allocated buffers

§Errors

if deserialisation fails

Source

unsafe fn from_str(json: &'input mut str) -> Result<Self>
where Self: Sized + 'input,

§Errors

if deserialisation fails

§Safety

user must not use the string afterwards as it most likely will no longer contain valid utf-8

Implementations on Foreign Types§

Source§

impl<'input> Deserialize<'input> for &'input str

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for BorrowedValue<'input>

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for OwnedValue

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for bool

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<bool>

Source§

impl<'input> Deserialize<'input> for f32

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for f64

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for i8

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for i16

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for i32

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for i64

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for i128

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for u8

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for u16

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for u32

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for u64

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for u128

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for ()

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for usize

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for Box<str>

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for String

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input> Deserialize<'input> for DateTime<FixedOffset>

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, K, V> Deserialize<'input> for BTreeMap<K, V>
where K: Deserialize<'input> + Ord, V: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, K, V, H> Deserialize<'input> for HashMap<K, V, H>
where K: Deserialize<'input> + Hash + Eq, V: Deserialize<'input>, H: BuildHasher + Default,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0> Deserialize<'input> for (T0,)
where T0: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1> Deserialize<'input> for (T0, T1)
where T0: Deserialize<'input>, T1: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2> Deserialize<'input> for (T0, T1, T2)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3> Deserialize<'input> for (T0, T1, T2, T3)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4> Deserialize<'input> for (T0, T1, T2, T3, T4)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5> Deserialize<'input> for (T0, T1, T2, T3, T4, T5)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7, T8> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>, T8: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>, T8: Deserialize<'input>, T9: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>, T8: Deserialize<'input>, T9: Deserialize<'input>, T10: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>, T8: Deserialize<'input>, T9: Deserialize<'input>, T10: Deserialize<'input>, T11: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>, T8: Deserialize<'input>, T9: Deserialize<'input>, T10: Deserialize<'input>, T11: Deserialize<'input>, T12: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>, T8: Deserialize<'input>, T9: Deserialize<'input>, T10: Deserialize<'input>, T11: Deserialize<'input>, T12: Deserialize<'input>, T13: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>, T8: Deserialize<'input>, T9: Deserialize<'input>, T10: Deserialize<'input>, T11: Deserialize<'input>, T12: Deserialize<'input>, T13: Deserialize<'input>, T14: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Deserialize<'input> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T0: Deserialize<'input>, T1: Deserialize<'input>, T2: Deserialize<'input>, T3: Deserialize<'input>, T4: Deserialize<'input>, T5: Deserialize<'input>, T6: Deserialize<'input>, T7: Deserialize<'input>, T8: Deserialize<'input>, T9: Deserialize<'input>, T10: Deserialize<'input>, T11: Deserialize<'input>, T12: Deserialize<'input>, T13: Deserialize<'input>, T14: Deserialize<'input>, T15: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T> Deserialize<'input> for Option<T>
where T: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T> Deserialize<'input> for Box<T>
where T: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T> Deserialize<'input> for BinaryHeap<T>
where T: Deserialize<'input> + Ord,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T> Deserialize<'input> for BTreeSet<T>
where T: Deserialize<'input> + Ord,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T> Deserialize<'input> for LinkedList<T>
where T: Deserialize<'input> + Ord,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T> Deserialize<'input> for VecDeque<T>
where T: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T> Deserialize<'input> for Vec<T>
where T: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T> Deserialize<'input> for Range<T>
where T: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T, H> Deserialize<'input> for HashSet<T, H>
where T: Deserialize<'input> + Hash + Eq, H: BuildHasher + Default,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, T, const N: usize> Deserialize<'input> for [T; N]
where T: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Source§

impl<'input, TOk, TErr> Deserialize<'input> for Result<TOk, TErr>
where TOk: Deserialize<'input>, TErr: Deserialize<'input>,

Source§

fn from_tape(tape: &mut Tape<'input>) -> Result<Self>
where Self: Sized + 'input,

Implementors§