Trait snarkvm_utilities::serialize::CanonicalSerialize[][src]

pub trait CanonicalSerialize {
    fn serialize<W: Write>(
        &self,
        writer: &mut W
    ) -> Result<(), SerializationError>;
fn serialized_size(&self) -> usize; fn serialize_uncompressed<W: Write>(
        &self,
        writer: &mut 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 snarkvm_utilities::serialize::*;
use snarkvm_utilities::errors::SerializationError;

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

If your code depends on algebra instead, the example works analogously when importing algebra::serialize::*.

Required methods

Serializes self into writer.

Provided methods

Serializes self into writer without compression.

Implementations on Foreign Types

Implementors