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
fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
Expand description
Serializes self
into writer
.
fn serialized_size(&self) -> usize
[src]
Provided methods
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
Expand description
Serializes self
into writer
without compression.
fn uncompressed_size(&self) -> usize
[src]
Implementations on Foreign Types
impl CanonicalSerialize for bool
[src]
impl CanonicalSerialize for bool
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
impl CanonicalSerialize for String
[src]
impl CanonicalSerialize for String
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
impl CanonicalSerialize for u8
[src]
impl CanonicalSerialize for u8
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
impl CanonicalSerialize for u16
[src]
impl CanonicalSerialize for u16
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
impl CanonicalSerialize for u32
[src]
impl CanonicalSerialize for u32
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
impl CanonicalSerialize for u64
[src]
impl CanonicalSerialize for u64
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
impl CanonicalSerialize for usize
[src]
impl CanonicalSerialize for usize
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
impl<T: CanonicalSerialize> CanonicalSerialize for Option<T>
[src]
impl<T: CanonicalSerialize> CanonicalSerialize for Option<T>
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
impl<T> CanonicalSerialize for PhantomData<T>
[src]
impl<T> CanonicalSerialize for PhantomData<T>
[src]fn serialize<W: Write>(&self, _writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
_writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
_writer: &mut W
) -> Result<(), SerializationError>
impl<T: CanonicalSerialize + ToOwned> CanonicalSerialize for Rc<T>
[src]
impl<T: CanonicalSerialize + ToOwned> CanonicalSerialize for Rc<T>
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
impl<T: CanonicalSerialize + ToOwned> CanonicalSerialize for Arc<T>
[src]
impl<T: CanonicalSerialize + ToOwned> CanonicalSerialize for Arc<T>
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
impl<'a, T: CanonicalSerialize + ToOwned> CanonicalSerialize for Cow<'a, T>
[src]
impl<'a, T: CanonicalSerialize + ToOwned> CanonicalSerialize for Cow<'a, T>
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
impl<T: CanonicalSerialize> CanonicalSerialize for [T]
[src]
impl<T: CanonicalSerialize> CanonicalSerialize for [T]
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
fn uncompressed_size(&self) -> usize
[src]
impl<'a, T: CanonicalSerialize> CanonicalSerialize for &'a [T]
[src]
impl<'a, T: CanonicalSerialize> CanonicalSerialize for &'a [T]
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
fn uncompressed_size(&self) -> usize
[src]
impl<A, B> CanonicalSerialize for (A, B) where
A: CanonicalSerialize,
B: CanonicalSerialize,
[src]
impl<A, B> CanonicalSerialize for (A, B) where
A: CanonicalSerialize,
B: CanonicalSerialize,
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
fn uncompressed_size(&self) -> usize
[src]
impl<A, B, C> CanonicalSerialize for (A, B, C) where
A: CanonicalSerialize,
B: CanonicalSerialize,
C: CanonicalSerialize,
[src]
impl<A, B, C> CanonicalSerialize for (A, B, C) where
A: CanonicalSerialize,
B: CanonicalSerialize,
C: CanonicalSerialize,
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
fn uncompressed_size(&self) -> usize
[src]
impl<A, B, C, D> CanonicalSerialize for (A, B, C, D) where
A: CanonicalSerialize,
B: CanonicalSerialize,
C: CanonicalSerialize,
D: CanonicalSerialize,
[src]
impl<A, B, C, D> CanonicalSerialize for (A, B, C, D) where
A: CanonicalSerialize,
B: CanonicalSerialize,
C: CanonicalSerialize,
D: CanonicalSerialize,
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>
fn uncompressed_size(&self) -> usize
[src]
impl<K, V> CanonicalSerialize for BTreeMap<K, V> where
K: CanonicalSerialize,
V: CanonicalSerialize,
[src]
impl<K, V> CanonicalSerialize for BTreeMap<K, V> where
K: CanonicalSerialize,
V: CanonicalSerialize,
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
Implementors
impl<T: CanonicalSerialize> CanonicalSerialize for Vec<T>
[src]
impl<T: CanonicalSerialize> CanonicalSerialize for Vec<T>
[src]fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
[src]
fn serialized_size(&self) -> usize
[src]
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
[src]
&self,
writer: &mut W
) -> Result<(), SerializationError>