Trait AnchorDeserialize

Source
pub trait AnchorDeserialize: Sized {
    // Required method
    fn deserialize_reader<R>(reader: &mut R) -> Result<Self, Error>
       where R: Read;

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

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

Required Methods§

Source

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

Provided Methods§

Source

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

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

Deserialize this instance from a slice of bytes.

Source

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

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl BorshDeserialize for SocketAddr

Source§

impl BorshDeserialize for bool

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<bool, Error>
where R: Read,

Source§

impl BorshDeserialize for f32

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<f32, Error>
where R: Read,

Source§

impl BorshDeserialize for f64

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<f64, Error>
where R: Read,

Source§

impl BorshDeserialize for i8

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i8, Error>
where R: Read,

Source§

impl BorshDeserialize for i16

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i16, Error>
where R: Read,

Source§

impl BorshDeserialize for i32

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i32, Error>
where R: Read,

Source§

impl BorshDeserialize for i64

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i64, Error>
where R: Read,

Source§

impl BorshDeserialize for i128

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i128, Error>
where R: Read,

Source§

impl BorshDeserialize for isize

Source§

impl BorshDeserialize for u8

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u8, Error>
where R: Read,

Source§

impl BorshDeserialize for u16

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u16, Error>
where R: Read,

Source§

impl BorshDeserialize for u32

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u32, Error>
where R: Read,

Source§

impl BorshDeserialize for u64

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u64, Error>
where R: Read,

Source§

impl BorshDeserialize for u128

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u128, Error>
where R: Read,

Source§

impl BorshDeserialize for ()

Source§

fn deserialize_reader<R>(_reader: &mut R) -> Result<(), Error>
where R: Read,

Source§

impl BorshDeserialize for usize

Source§

impl BorshDeserialize for Ipv4Addr

Source§

impl BorshDeserialize for Ipv6Addr

Source§

impl BorshDeserialize for SocketAddrV4

Source§

impl BorshDeserialize for SocketAddrV6

Source§

impl BorshDeserialize for NonZero<i8>

Source§

impl BorshDeserialize for NonZero<i16>

Source§

impl BorshDeserialize for NonZero<i32>

Source§

impl BorshDeserialize for NonZero<i64>

Source§

impl BorshDeserialize for NonZero<i128>

Source§

impl BorshDeserialize for NonZero<u8>

Source§

impl BorshDeserialize for NonZero<u16>

Source§

impl BorshDeserialize for NonZero<u32>

Source§

impl BorshDeserialize for NonZero<u64>

Source§

impl BorshDeserialize for NonZero<u128>

Source§

impl BorshDeserialize for NonZero<usize>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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§

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§

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§

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§

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§

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§

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§

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§

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§

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§

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§

impl<T> BorshDeserialize for Option<T>

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<Option<T>, Error>
where R: Read,

Source§

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

Source§

impl<T> BorshDeserialize for Range<T>

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<Range<T>, Error>
where R: Read,

Source§

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

Source§

fn deserialize_reader<R>(reader: &mut R) -> Result<Result<T, E>, Error>
where R: Read,

Source§

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

Implementors§

Source§

impl BorshDeserialize for AggregatorResolutionMode

Source§

impl BorshDeserialize for OracleResponseType

Source§

impl BorshDeserialize for SwitchboardPermission

Source§

impl BorshDeserialize for Definition

Source§

impl BorshDeserialize for Fields

Source§

impl BorshDeserialize for StakeState

Source§

impl BorshDeserialize for StakeStateV2

Source§

impl BorshDeserialize for BorshDecimal

Source§

impl BorshDeserialize for SwitchboardDecimal

Source§

impl BorshDeserialize for BufferRelayerAccountData

Source§

impl BorshDeserialize for BufferRelayerRound

Source§

impl BorshDeserialize for JobAccountData

Source§

impl BorshDeserialize for AggregatorSaveResultParams

Source§

impl BorshDeserialize for OracleHeartbeatParams

Source§

impl BorshDeserialize for PermissionSetParams

Source§

impl BorshDeserialize for String

Source§

impl BorshDeserialize for BorshSchemaContainer

Source§

impl BorshDeserialize for StakeFlags

Source§

impl BorshDeserialize for Authorized

Source§

impl BorshDeserialize for Delegation

Source§

impl BorshDeserialize for Lockup

Source§

impl BorshDeserialize for Meta

Source§

impl BorshDeserialize for Stake

Source§

impl BorshDeserialize for Pubkey

Source§

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

Source§

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

Source§

impl<T> BorshDeserialize for Cow<'_, T>
where T: ToOwned + ?Sized, <T as ToOwned>::Owned: BorshDeserialize,

Source§

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

Source§

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

Source§

impl<T> BorshDeserialize for LinkedList<T>

Source§

impl<T> BorshDeserialize for VecDeque<T>

Source§

impl<T> BorshDeserialize for Vec<T>

Source§

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

Source§

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