pub trait CanonicalDeserialize: Valid {
    // Required method
    fn deserialize_with_mode<R: Read>(
        reader: R,
        compress: Compress,
        validate: Validate
    ) -> Result<Self, SerializationError>;

    // Provided methods
    fn deserialize_compressed<R: Read>(
        reader: R
    ) -> Result<Self, SerializationError> { ... }
    fn deserialize_compressed_unchecked<R: Read>(
        reader: R
    ) -> Result<Self, SerializationError> { ... }
    fn deserialize_uncompressed<R: Read>(
        reader: R
    ) -> Result<Self, SerializationError> { ... }
    fn deserialize_uncompressed_unchecked<R: Read>(
        reader: R
    ) -> Result<Self, SerializationError> { ... }
}
Expand description

Deserializer in little endian format. This trait can be derived if all fields of a struct implement CanonicalDeserialize and the derive feature is enabled.

Example

// The `derive` feature must be set for the derivation to work.
use ark_serialize::*;

#[derive(CanonicalDeserialize)]
struct TestStruct {
    a: u64,
    b: (u64, (u64, u64)),
}

Required Methods§

source

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

The general deserialize method that takes in customization flags.

Provided Methods§

Implementations on Foreign Types§

source§

impl CanonicalDeserialize for String

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl<T: CanonicalDeserialize> CanonicalDeserialize for Vec<T>

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl CanonicalDeserialize for BigUint

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl CanonicalDeserialize for u64

source§

fn deserialize_with_mode<R: Read>( reader: R, _compress: Compress, _validate: Validate ) -> Result<Self, SerializationError>

source§

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

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl<A, B, C> CanonicalDeserialize for (A, B, C)where A: CanonicalDeserialize, B: CanonicalDeserialize, C: CanonicalDeserialize,

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl<T: Send + Sync> CanonicalDeserialize for PhantomData<T>

source§

fn deserialize_with_mode<R: Read>( _reader: R, _compress: Compress, _validate: Validate ) -> Result<Self, SerializationError>

source§

impl<A, B> CanonicalDeserialize for (A, B)where A: CanonicalDeserialize, B: CanonicalDeserialize,

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl<V> CanonicalDeserialize for BTreeSet<V>where V: Ord + CanonicalDeserialize,

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

Deserializes a BTreeSet from len(map) || value 1 || ... || value n.

source§

impl CanonicalDeserialize for usize

source§

fn deserialize_with_mode<R: Read>( reader: R, _compress: Compress, _validate: Validate ) -> Result<Self, SerializationError>

source§

impl CanonicalDeserialize for u8

source§

fn deserialize_with_mode<R: Read>( reader: R, _compress: Compress, _validate: Validate ) -> Result<Self, SerializationError>

source§

impl<T: CanonicalDeserialize> CanonicalDeserialize for Option<T>

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl CanonicalDeserialize for u16

source§

fn deserialize_with_mode<R: Read>( reader: R, _compress: Compress, _validate: Validate ) -> Result<Self, SerializationError>

source§

impl CanonicalDeserialize for ()

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl CanonicalDeserialize for u32

source§

fn deserialize_with_mode<R: Read>( reader: R, _compress: Compress, _validate: Validate ) -> Result<Self, SerializationError>

source§

impl<A, B, C, D> CanonicalDeserialize for (A, B, C, D)where A: CanonicalDeserialize, B: CanonicalDeserialize, C: CanonicalDeserialize, D: CanonicalDeserialize,

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl CanonicalDeserialize for bool

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl<K, V> CanonicalDeserialize for BTreeMap<K, V>where K: Ord + CanonicalDeserialize, V: CanonicalDeserialize,

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

Deserializes a BTreeMap from len(map) || key 1 || value 1 || ... || key n || value n.

source§

impl<A> CanonicalDeserialize for (A,)where A: CanonicalDeserialize,

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

source§

impl<'a, T> CanonicalDeserialize for Cow<'a, T>where T: ToOwned + Valid + Sync + Send, <T as ToOwned>::Owned: CanonicalDeserialize + Valid + Send,

source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>

Implementors§