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 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 Goldilocks
impl Serializable for Goldilocks
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<K, V> Serializable for BTreeMap<K, V>where
K: Serializable,
V: Serializable,
impl<K, V> Serializable for BTreeMap<K, V>where
K: Serializable,
V: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1> Serializable for (T1,)where
T1: Serializable,
impl<T1> Serializable for (T1,)where
T1: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2> Serializable for (T1, T2)where
T1: Serializable,
T2: Serializable,
impl<T1, T2> Serializable for (T1, T2)where
T1: Serializable,
T2: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2, T3> Serializable for (T1, T2, T3)
impl<T1, T2, T3> Serializable for (T1, T2, T3)
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2, T3, T4> Serializable for (T1, T2, T3, T4)
impl<T1, T2, T3, T4> Serializable for (T1, T2, T3, T4)
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2, T3, T4, T5> Serializable for (T1, T2, T3, T4, T5)
impl<T1, T2, T3, T4, T5> Serializable for (T1, T2, T3, T4, T5)
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2, T3, T4, T5, T6> Serializable for (T1, T2, T3, T4, T5, T6)where
T1: Serializable,
T2: Serializable,
T3: Serializable,
T4: Serializable,
T5: Serializable,
T6: Serializable,
impl<T1, T2, T3, T4, T5, T6> Serializable for (T1, T2, T3, T4, T5, T6)where
T1: Serializable,
T2: Serializable,
T3: Serializable,
T4: Serializable,
T5: Serializable,
T6: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for Option<T>where
T: Serializable,
impl<T> Serializable for Option<T>where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for &Twhere
T: Serializable,
impl<T> Serializable for &Twhere
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for [T]where
T: Serializable,
impl<T> Serializable for [T]where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for BTreeSet<T>where
T: Serializable,
impl<T> Serializable for BTreeSet<T>where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for Vec<T>where
T: Serializable,
impl<T> Serializable for Vec<T>where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T, const C: usize> Serializable for [T; C]where
T: Serializable,
impl<T, const C: usize> Serializable for [T; C]where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Implementors§
impl Serializable for &miden_crypto::dsa::falcon512_poseidon2::Nonce
impl Serializable for &miden_crypto::dsa::falcon512_poseidon2::PublicKey
impl Serializable for &SignatureHeader
impl Serializable for &SignaturePoly
impl Serializable for SealingKey
impl Serializable for UnsealingKey
impl Serializable for NodeMutation
impl Serializable for SmtLeaf
impl Serializable for miden_crypto::aead::aead_poseidon2::EncryptedData
impl Serializable for miden_crypto::aead::aead_poseidon2::Nonce
impl Serializable for miden_crypto::aead::aead_poseidon2::SecretKey
impl Serializable for miden_crypto::aead::xchacha::EncryptedData
impl Serializable for miden_crypto::aead::xchacha::Nonce
impl Serializable for miden_crypto::aead::xchacha::SecretKey
impl Serializable for miden_crypto::dsa::ecdsa_k256_keccak::PublicKey
impl Serializable for miden_crypto::dsa::ecdsa_k256_keccak::SecretKey
impl Serializable for miden_crypto::dsa::ecdsa_k256_keccak::Signature
impl Serializable for miden_crypto::dsa::eddsa_25519_sha512::PublicKey
impl Serializable for miden_crypto::dsa::eddsa_25519_sha512::SecretKey
impl Serializable for miden_crypto::dsa::eddsa_25519_sha512::Signature
impl Serializable for miden_crypto::dsa::falcon512_poseidon2::SecretKey
impl Serializable for miden_crypto::dsa::falcon512_poseidon2::Signature
impl Serializable for miden_crypto::ecdh::k256::EphemeralPublicKey
impl Serializable for miden_crypto::ecdh::x25519::EphemeralPublicKey
impl Serializable for SealedMessage
impl Serializable for Forest
impl Serializable for InOrderIndex
impl Serializable for Mmr
impl Serializable for PartialMmr
impl Serializable for PartialSmt
impl Serializable for Smt
impl Serializable for SmtProof
impl Serializable for MerkleStore
impl Serializable for StoreNode
impl Serializable for MerklePath
impl Serializable for MerkleProof
impl Serializable for NodeIndex
impl Serializable for PartialMerkleTree
impl Serializable for RootPath
impl Serializable for SparseMerklePath
impl Serializable for RpoRandomCoin
impl Serializable for RpxRandomCoin
impl Serializable for Felt
impl Serializable for Word
Available on not (
target_family=wasm and miden).impl<T> Serializable for LexicographicWord<T>
Available on not (
target_family=wasm and miden).