Trait ark_serialize::CanonicalSerialize

source ·
pub trait CanonicalSerialize {
    // Required methods
    fn serialize_with_mode<W: Write>(
        &self,
        writer: W,
        compress: Compress
    ) -> Result<(), SerializationError>;
    fn serialized_size(&self, compress: Compress) -> usize;

    // Provided methods
    fn serialize_compressed<W: Write>(
        &self,
        writer: W
    ) -> Result<(), SerializationError> { ... }
    fn compressed_size(&self) -> usize { ... }
    fn serialize_uncompressed<W: Write>(
        &self,
        writer: W
    ) -> Result<(), SerializationError> { ... }
    fn uncompressed_size(&self) -> usize { ... }
}
Expand description

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

§Example

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

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

Required Methods§

source

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

The general serialize method that takes in customization flags.

source

fn serialized_size(&self, compress: Compress) -> usize

Provided Methods§

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl CanonicalSerialize for bool

source§

fn serialize_with_mode<W: Write>( &self, writer: W, _compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, _compress: Compress) -> usize

source§

impl CanonicalSerialize for u8

source§

fn serialize_with_mode<W: Write>( &self, writer: W, _compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, _compress: Compress) -> usize

source§

impl CanonicalSerialize for u16

source§

fn serialize_with_mode<W: Write>( &self, writer: W, _compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, _compress: Compress) -> usize

source§

impl CanonicalSerialize for u32

source§

fn serialize_with_mode<W: Write>( &self, writer: W, _compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, _compress: Compress) -> usize

source§

impl CanonicalSerialize for u64

source§

fn serialize_with_mode<W: Write>( &self, writer: W, _compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, _compress: Compress) -> usize

source§

impl CanonicalSerialize for ()

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl CanonicalSerialize for usize

source§

fn serialize_with_mode<W: Write>( &self, writer: W, _compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, _compress: Compress) -> usize

source§

impl CanonicalSerialize for String

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl CanonicalSerialize for BigUint

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<'a, T: CanonicalSerialize + ToOwned> CanonicalSerialize for Cow<'a, T>

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<'a, T: CanonicalSerialize> CanonicalSerialize for &'a [T]

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<A> CanonicalSerialize for (A,)

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<A, B> CanonicalSerialize for (A, B)

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<A, B, C> CanonicalSerialize for (A, B, C)

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<A, B, C, D> CanonicalSerialize for (A, B, C, D)

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

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

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

Serializes a BTreeMap as len(map) || key 1 || value 1 || ... || key n || value n.

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<T> CanonicalSerialize for PhantomData<T>

source§

fn serialize_with_mode<W: Write>( &self, _writer: W, _compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, _compress: Compress) -> usize

source§

impl<T: CanonicalSerialize + ToOwned> CanonicalSerialize for Rc<T>

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<T: CanonicalSerialize + ToOwned> CanonicalSerialize for Arc<T>

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<T: CanonicalSerialize> CanonicalSerialize for Option<T>

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<T: CanonicalSerialize> CanonicalSerialize for [T]

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<T: CanonicalSerialize> CanonicalSerialize for Vec<T>

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

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

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

source§

fn serialized_size(&self, compress: Compress) -> usize

source§

impl<V: CanonicalSerialize> CanonicalSerialize for BTreeSet<V>

source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>

Serializes a BTreeSet as len(set) || value 1 || value 2 || ... || value n.

source§

fn serialized_size(&self, compress: Compress) -> usize

Implementors§