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 &PubKeyPoly
impl Serializable for &PubKeyPoly
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for &SignatureHeader
impl Serializable for &SignatureHeader
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for &SignaturePoly
impl Serializable for &SignaturePoly
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for &Nonce
impl Serializable for &Nonce
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Operation
impl Serializable for Operation
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 Kernel
impl Serializable for Kernel
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Program
impl Serializable for Program
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for ProgramInfo
impl Serializable for ProgramInfo
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for StackInputs
impl Serializable for StackInputs
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for StackOutputs
impl Serializable for StackOutputs
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for SecretKey
impl Serializable for SecretKey
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Signature
impl Serializable for Signature
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for RpoDigest
impl Serializable for RpoDigest
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for RpxDigest
impl Serializable for RpxDigest
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for NodeIndex
impl Serializable for NodeIndex
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
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 PartialMerkleTree
impl Serializable for PartialMerkleTree
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for MerklePath
impl Serializable for MerklePath
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 SmtProof
impl Serializable for SmtProof
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Smt
impl Serializable for Smt
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for StoreNode
impl Serializable for StoreNode
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for RpoRandomCoin
impl Serializable for RpoRandomCoin
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for RpxRandomCoin
impl Serializable for RpxRandomCoin
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 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<B> Serializable for QuadExtension<B>where
B: ExtensibleField<2>,
impl<B> Serializable for QuadExtension<B>where
B: ExtensibleField<2>,
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.