Trait scale_encode::EncodeAsFields
source · pub trait EncodeAsFields {
// Required method
fn encode_as_fields_to(
&self,
fields: &mut dyn FieldIter<'_>,
types: &PortableRegistry,
out: &mut Vec<u8>
) -> Result<(), Error>;
// Provided method
fn encode_as_fields(
&self,
fields: &mut dyn FieldIter<'_>,
types: &PortableRegistry
) -> Result<Vec<u8>, Error> { ... }
}
Expand description
This is similar to EncodeAsType
, except that it can be implemented on types that can be encoded
to bytes given a list of fields instead of a single type ID. This is generally implemented just for
tuple and struct types, and is automatically implemented via the EncodeAsType
macro.
Required Methods§
sourcefn encode_as_fields_to(
&self,
fields: &mut dyn FieldIter<'_>,
types: &PortableRegistry,
out: &mut Vec<u8>
) -> Result<(), Error>
fn encode_as_fields_to( &self, fields: &mut dyn FieldIter<'_>, types: &PortableRegistry, out: &mut Vec<u8> ) -> Result<(), Error>
Given some fields describing the shape of a type, attempt to encode to that shape.
Provided Methods§
sourcefn encode_as_fields(
&self,
fields: &mut dyn FieldIter<'_>,
types: &PortableRegistry
) -> Result<Vec<u8>, Error>
fn encode_as_fields( &self, fields: &mut dyn FieldIter<'_>, types: &PortableRegistry ) -> Result<Vec<u8>, Error>
This is a helper function which internally calls EncodeAsFields::encode_as_fields_to
. Prefer to
implement that instead.