Trait ark_serialize::CanonicalSerialize
source · pub trait CanonicalSerialize {
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>;
fn serialized_size(&self, compress: Compress) -> usize;
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
sourcefn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
The general serialize method that takes in customization flags.
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
Implementations on Foreign Types
sourceimpl CanonicalSerialize for bool
impl CanonicalSerialize for bool
fn serialize_with_mode<W: Write>(
&self,
writer: W,
_compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, _compress: Compress) -> usize
sourceimpl CanonicalSerialize for u8
impl CanonicalSerialize for u8
fn serialize_with_mode<W: Write>(
&self,
writer: W,
_compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, _compress: Compress) -> usize
sourceimpl CanonicalSerialize for u16
impl CanonicalSerialize for u16
fn serialize_with_mode<W: Write>(
&self,
writer: W,
_compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, _compress: Compress) -> usize
sourceimpl CanonicalSerialize for u32
impl CanonicalSerialize for u32
fn serialize_with_mode<W: Write>(
&self,
writer: W,
_compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, _compress: Compress) -> usize
sourceimpl CanonicalSerialize for u64
impl CanonicalSerialize for u64
fn serialize_with_mode<W: Write>(
&self,
writer: W,
_compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, _compress: Compress) -> usize
sourceimpl CanonicalSerialize for usize
impl CanonicalSerialize for usize
fn serialize_with_mode<W: Write>(
&self,
writer: W,
_compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, _compress: Compress) -> usize
sourceimpl<T: CanonicalSerialize> CanonicalSerialize for Option<T>
impl<T: CanonicalSerialize> CanonicalSerialize for Option<T>
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<T> CanonicalSerialize for PhantomData<T>
impl<T> CanonicalSerialize for PhantomData<T>
fn serialize_with_mode<W: Write>(
&self,
_writer: W,
_compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, _compress: Compress) -> usize
sourceimpl<T: CanonicalSerialize + ToOwned> CanonicalSerialize for Rc<T>
impl<T: CanonicalSerialize + ToOwned> CanonicalSerialize for Rc<T>
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<'a, T: CanonicalSerialize + ToOwned> CanonicalSerialize for Cow<'a, T>
impl<'a, T: CanonicalSerialize + ToOwned> CanonicalSerialize for Cow<'a, T>
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<T: CanonicalSerialize, const N: usize> CanonicalSerialize for [T; N]
impl<T: CanonicalSerialize, const N: usize> CanonicalSerialize for [T; N]
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<T: CanonicalSerialize> CanonicalSerialize for Vec<T>
impl<T: CanonicalSerialize> CanonicalSerialize for Vec<T>
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<T: CanonicalSerialize> CanonicalSerialize for [T]
impl<T: CanonicalSerialize> CanonicalSerialize for [T]
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<'a, T: CanonicalSerialize> CanonicalSerialize for &'a [T]
impl<'a, T: CanonicalSerialize> CanonicalSerialize for &'a [T]
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl CanonicalSerialize for String
impl CanonicalSerialize for String
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl CanonicalSerialize for ()
impl CanonicalSerialize for ()
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<A> CanonicalSerialize for (A,)where
A: CanonicalSerialize,
impl<A> CanonicalSerialize for (A,)where
A: CanonicalSerialize,
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<A, B> CanonicalSerialize for (A, B)where
A: CanonicalSerialize,
B: CanonicalSerialize,
impl<A, B> CanonicalSerialize for (A, B)where
A: CanonicalSerialize,
B: CanonicalSerialize,
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<A, B, C> CanonicalSerialize for (A, B, C)where
A: CanonicalSerialize,
B: CanonicalSerialize,
C: CanonicalSerialize,
impl<A, B, C> CanonicalSerialize for (A, B, C)where
A: CanonicalSerialize,
B: CanonicalSerialize,
C: CanonicalSerialize,
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<A, B, C, D> CanonicalSerialize for (A, B, C, D)where
A: CanonicalSerialize,
B: CanonicalSerialize,
C: CanonicalSerialize,
D: CanonicalSerialize,
impl<A, B, C, D> CanonicalSerialize for (A, B, C, D)where
A: CanonicalSerialize,
B: CanonicalSerialize,
C: CanonicalSerialize,
D: CanonicalSerialize,
fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<K, V> CanonicalSerialize for BTreeMap<K, V>where
K: CanonicalSerialize,
V: CanonicalSerialize,
impl<K, V> CanonicalSerialize for BTreeMap<K, V>where
K: CanonicalSerialize,
V: CanonicalSerialize,
sourcefn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
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
.
fn serialized_size(&self, compress: Compress) -> usize
sourceimpl<V: CanonicalSerialize> CanonicalSerialize for BTreeSet<V>
impl<V: CanonicalSerialize> CanonicalSerialize for BTreeSet<V>
sourcefn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
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
.