pub trait BorshDeserialize: Sized {
    // Required method
    fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>;

    // Provided methods
    fn deserialize(buf: &mut &[u8]) -> Result<Self> { ... }
    fn try_from_slice(v: &[u8]) -> Result<Self> { ... }
    fn try_from_reader<R: Read>(reader: &mut R) -> Result<Self> { ... }
}
Expand description

A data-structure that can be de-serialized from binary format by NBOR.

Required Methods§

source

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

Provided Methods§

source

fn deserialize(buf: &mut &[u8]) -> Result<Self>

Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes.

source

fn try_from_slice(v: &[u8]) -> Result<Self>

Deserialize this instance from a slice of bytes.

source

fn try_from_reader<R: Read>(reader: &mut R) -> Result<Self>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl BorshDeserialize for SocketAddr

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for bool

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for f32

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for f64

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for i8

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for i16

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for i32

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for i64

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for i128

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for isize

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for u8

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for u16

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for u32

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for u64

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for u128

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for ()

source§

fn deserialize_reader<R: Read>(_reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for usize

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for String

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for Ipv4Addr

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for Ipv6Addr

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for SocketAddrV4

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for SocketAddrV6

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for RangeFull

source§

fn deserialize_reader<R: Read>(_reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroI8

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroI16

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroI32

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroI64

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroI128

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroU8

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroU16

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroU32

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroU64

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroU128

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl BorshDeserialize for NonZeroUsize

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<K, V> BorshDeserialize for BTreeMap<K, V>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<K, V, H> BorshDeserialize for HashMap<K, V, H>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0> BorshDeserialize for (T0,)
where T0: BorshDeserialize,

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1> BorshDeserialize for (T0, T1)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2> BorshDeserialize for (T0, T1, T2)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3> BorshDeserialize for (T0, T1, T2, T3)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4> BorshDeserialize for (T0, T1, T2, T3, T4)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5> BorshDeserialize for (T0, T1, T2, T3, T4, T5)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T> BorshDeserialize for Cow<'_, T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T> BorshDeserialize for Option<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T> BorshDeserialize for BTreeSet<T>
where T: BorshDeserialize + Ord,

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T> BorshDeserialize for LinkedList<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T> BorshDeserialize for VecDeque<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T> BorshDeserialize for Vec<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T> BorshDeserialize for Cell<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T> BorshDeserialize for RefCell<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T, E> BorshDeserialize for Result<T, E>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T, H> BorshDeserialize for HashSet<T, H>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T, U> BorshDeserialize for Box<T>
where U: Into<Box<T>> + Borrow<T>, T: ToOwned<Owned = U> + ?Sized, T::Owned: BorshDeserialize,

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T, const N: usize> BorshDeserialize for [T; N]

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T: BorshDeserialize> BorshDeserialize for Range<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T: BorshDeserialize> BorshDeserialize for RangeFrom<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T: BorshDeserialize> BorshDeserialize for RangeInclusive<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T: BorshDeserialize> BorshDeserialize for RangeTo<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T: BorshDeserialize> BorshDeserialize for RangeToInclusive<T>

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T: ?Sized> BorshDeserialize for Rc<T>

This impl requires the ["rc"] Cargo feature of borsh.

Deserializing a data structure containing Rc will not attempt to deduplicate Rc references to the same data. Every deserialized Rc will end up with a strong count of 1.

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T: ?Sized> BorshDeserialize for Arc<T>

This impl requires the ["rc"] Cargo feature of borsh.

Deserializing a data structure containing Arc will not attempt to deduplicate Arc references to the same data. Every deserialized Arc will end up with a strong count of 1.

source§

fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>

source§

impl<T: ?Sized> BorshDeserialize for PhantomData<T>

Implementors§