pub trait Serializable {
// Required method
fn write_into<W>(&self, target: &mut W)
where W: ByteWriter;
// Provided methods
fn to_bytes(&self) -> Vec<u8> ⓘ { ... }
fn get_size_hint(&self) -> usize { ... }
}
Expand description
Defines how to serialize Self
into bytes.
Required Methods§
Sourcefn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Serializes self
into bytes and writes these bytes into the target
.
Provided Methods§
Sourcefn get_size_hint(&self) -> usize
fn get_size_hint(&self) -> usize
Returns an estimate of how many bytes are needed to represent self.
The default implementation returns zero.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl Serializable for NodeMutation
impl Serializable for NodeMutation
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for SmtLeaf
impl Serializable for SmtLeaf
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for str
impl Serializable for str
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u8
impl Serializable for u8
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u16
impl Serializable for u16
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u32
impl Serializable for u32
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u64
impl Serializable for u64
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u128
impl Serializable for u128
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for ()
impl Serializable for ()
fn write_into<W>(&self, _target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for usize
impl Serializable for usize
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for String
impl Serializable for String
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for InOrderIndex
impl Serializable for InOrderIndex
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for PartialMmr
impl Serializable for PartialMmr
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for RootPath
impl Serializable for RootPath
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for ValuePath
impl Serializable for ValuePath
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for SparseMerklePath
impl Serializable for SparseMerklePath
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for SourceSpan
impl Serializable for SourceSpan
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for BaseElement
impl Serializable for BaseElement
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for BaseElement
impl Serializable for BaseElement
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<B> Serializable for CubeExtension<B>where
B: ExtensibleField<3>,
impl<B> Serializable for CubeExtension<B>where
B: ExtensibleField<3>,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl<H> Serializable for BatchMerkleProof<H>where
H: Hasher,
impl<H> Serializable for BatchMerkleProof<H>where
H: Hasher,
Source§fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Writes all internal proof nodes into the provided target.