Trait frame_support::dispatch::Encode
source · pub trait Encode {
fn size_hint(&self) -> usize { ... }
fn encode_to<T>(&self, dest: &mut T)
where
T: Output + ?Sized,
{ ... }
fn encode(&self) -> Vec<u8, Global> ⓘ { ... }
fn using_encoded<R, F>(&self, f: F) -> R
where
F: FnOnce(&[u8]) -> R,
{ ... }
fn encoded_size(&self) -> usize { ... }
}
Expand description
Trait that allows zero-copy write of value-references to slices in LE format.
Implementations should override using_encoded
for value types and encode_to
and size_hint
for allocating types.
Wrapper types should override all methods.
Provided Methods§
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding.
This method is used inside default implementation of encode
to avoid re-allocations.
sourcefn encode_to<T>(&self, dest: &mut T)where
T: Output + ?Sized,
fn encode_to<T>(&self, dest: &mut T)where
T: Output + ?Sized,
Convert self to a slice and append it to the destination.
sourcefn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Implementations on Foreign Types§
source§impl Encode for WasmFieldName
impl Encode for WasmFieldName
source§impl Encode for WasmEntryAttributes
impl Encode for WasmEntryAttributes
source§impl Encode for WasmMetadata
impl Encode for WasmMetadata
source§impl Encode for WasmValuesSet
impl Encode for WasmValuesSet
source§impl Encode for WasmFields
impl Encode for WasmFields
source§impl Encode for NonZeroU64
impl Encode for NonZeroU64
source§impl<B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
B0: Encode,
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
B0: Encode,
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl Encode for NonZeroI16
impl Encode for NonZeroI16
source§impl Encode for NonZeroI32
impl Encode for NonZeroI32
source§impl<N0, O0, P0, Q0, R0> Encode for (N0, O0, P0, Q0, R0)where
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<N0, O0, P0, Q0, R0> Encode for (N0, O0, P0, Q0, R0)where
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl Encode for NonZeroI64
impl Encode for NonZeroI64
source§impl<D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<T> Encode for LinkedList<T>where
T: Encode,
impl<T> Encode for LinkedList<T>where
T: Encode,
source§impl<K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (K0, L0, M0, N0, O0, P0, Q0, R0)where
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (K0, L0, M0, N0, O0, P0, Q0, R0)where
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
A0: Encode,
B0: Encode,
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
A0: Encode,
B0: Encode,
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl Encode for NonZeroU16
impl Encode for NonZeroU16
source§impl<J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<O0, P0, Q0, R0> Encode for (O0, P0, Q0, R0)where
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<O0, P0, Q0, R0> Encode for (O0, P0, Q0, R0)where
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl<M0, N0, O0, P0, Q0, R0> Encode for (M0, N0, O0, P0, Q0, R0)where
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<M0, N0, O0, P0, Q0, R0> Encode for (M0, N0, O0, P0, Q0, R0)where
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl Encode for NonZeroI128
impl Encode for NonZeroI128
source§impl Encode for NonZeroU128
impl Encode for NonZeroU128
source§impl<T> Encode for RangeInclusive<T>where
T: Encode,
impl<T> Encode for RangeInclusive<T>where
T: Encode,
source§impl<T> Encode for BinaryHeap<T>where
T: Encode,
impl<T> Encode for BinaryHeap<T>where
T: Encode,
source§impl<L0, M0, N0, O0, P0, Q0, R0> Encode for (L0, M0, N0, O0, P0, Q0, R0)where
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<L0, M0, N0, O0, P0, Q0, R0> Encode for (L0, M0, N0, O0, P0, Q0, R0)where
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
source§impl Encode for NonZeroU32
impl Encode for NonZeroU32
source§impl Encode for StorageEntryModifier
impl Encode for StorageEntryModifier
source§impl Encode for RuntimeMetadataV14
impl Encode for RuntimeMetadataV14
source§impl<T> Encode for PalletMetadata<T>where
T: Form,
<T as Form>::String: Encode,
Option<PalletStorageMetadata<T>>: Encode,
Option<PalletCallMetadata<T>>: Encode,
Option<PalletEventMetadata<T>>: Encode,
Vec<PalletConstantMetadata<T>, Global>: Encode,
Option<PalletErrorMetadata<T>>: Encode,
impl<T> Encode for PalletMetadata<T>where
T: Form,
<T as Form>::String: Encode,
Option<PalletStorageMetadata<T>>: Encode,
Option<PalletCallMetadata<T>>: Encode,
Option<PalletEventMetadata<T>>: Encode,
Vec<PalletConstantMetadata<T>, Global>: Encode,
Option<PalletErrorMetadata<T>>: Encode,
source§impl Encode for RuntimeMetadata
impl Encode for RuntimeMetadata
source§impl Encode for OpaqueMetadata
impl Encode for OpaqueMetadata
source§impl Encode for StorageHasher
impl Encode for StorageHasher
source§impl<T> Encode for PalletConstantMetadata<T>where
T: Form,
<T as Form>::String: Encode,
<T as Form>::Type: Encode,
Vec<<T as Form>::String, Global>: Encode,
impl<T> Encode for PalletConstantMetadata<T>where
T: Form,
<T as Form>::String: Encode,
<T as Form>::Type: Encode,
Vec<<T as Form>::String, Global>: Encode,
source§impl<T> Encode for ExtrinsicMetadata<T>where
T: Form,
<T as Form>::Type: Encode,
Vec<SignedExtensionMetadata<T>, Global>: Encode,
impl<T> Encode for ExtrinsicMetadata<T>where
T: Form,
<T as Form>::Type: Encode,
Vec<SignedExtensionMetadata<T>, Global>: Encode,
source§impl<T> Encode for PalletStorageMetadata<T>where
T: Form,
<T as Form>::String: Encode,
Vec<StorageEntryMetadata<T>, Global>: Encode,
impl<T> Encode for PalletStorageMetadata<T>where
T: Form,
<T as Form>::String: Encode,
Vec<StorageEntryMetadata<T>, Global>: Encode,
source§impl<T> Encode for SignedExtensionMetadata<T>where
T: Form,
<T as Form>::String: Encode,
<T as Form>::Type: Encode,
impl<T> Encode for SignedExtensionMetadata<T>where
T: Form,
<T as Form>::String: Encode,
<T as Form>::Type: Encode,
source§impl Encode for RuntimeMetadataPrefixed
impl Encode for RuntimeMetadataPrefixed
source§impl Encode for RuntimeMetadataDeprecated
impl Encode for RuntimeMetadataDeprecated
source§impl<T> Encode for StorageEntryMetadata<T>where
T: Form,
<T as Form>::String: Encode,
StorageEntryType<T>: Encode,
Vec<<T as Form>::String, Global>: Encode,
impl<T> Encode for StorageEntryMetadata<T>where
T: Form,
<T as Form>::String: Encode,
StorageEntryType<T>: Encode,
Vec<<T as Form>::String, Global>: Encode,
source§impl<T> Encode for Type<T>where
T: Form,
Path<T>: Encode,
Vec<TypeParameter<T>, Global>: Encode,
TypeDef<T>: Encode,
Vec<<T as Form>::String, Global>: Encode,
impl<T> Encode for Type<T>where
T: Form,
Path<T>: Encode,
Vec<TypeParameter<T>, Global>: Encode,
TypeDef<T>: Encode,
Vec<<T as Form>::String, Global>: Encode,
source§impl<T> Encode for TypeParameter<T>where
T: Form,
<T as Form>::String: Encode,
Option<<T as Form>::Type>: Encode,
impl<T> Encode for TypeParameter<T>where
T: Form,
<T as Form>::String: Encode,
Option<<T as Form>::Type>: Encode,
source§impl<T> Encode for Variant<T>where
T: Form,
<T as Form>::String: Encode,
Vec<Field<T>, Global>: Encode,
Vec<<T as Form>::String, Global>: Encode,
impl<T> Encode for Variant<T>where
T: Form,
<T as Form>::String: Encode,
Vec<Field<T>, Global>: Encode,
Vec<<T as Form>::String, Global>: Encode,
source§impl Encode for TypeDefPrimitive
impl Encode for TypeDefPrimitive
source§impl<T> Encode for Field<T>where
T: Form,
Option<<T as Form>::String>: Encode,
<T as Form>::Type: Encode,
Vec<<T as Form>::String, Global>: Encode,
impl<T> Encode for Field<T>where
T: Form,
Option<<T as Form>::String>: Encode,
<T as Form>::Type: Encode,
Vec<<T as Form>::String, Global>: Encode,
source§impl Encode for PortableRegistry
impl Encode for PortableRegistry
source§impl<T> Encode for UntrackedSymbol<T>where
PhantomData<fn() -> T>: Encode,
impl<T> Encode for UntrackedSymbol<T>where
PhantomData<fn() -> T>: Encode,
source§impl<T> Encode for TypeDef<T>where
T: Form,
TypeDefComposite<T>: Encode,
TypeDefVariant<T>: Encode,
TypeDefSequence<T>: Encode,
TypeDefArray<T>: Encode,
TypeDefTuple<T>: Encode,
TypeDefCompact<T>: Encode,
TypeDefBitSequence<T>: Encode,
impl<T> Encode for TypeDef<T>where
T: Form,
TypeDefComposite<T>: Encode,
TypeDefVariant<T>: Encode,
TypeDefSequence<T>: Encode,
TypeDefArray<T>: Encode,
TypeDefTuple<T>: Encode,
TypeDefCompact<T>: Encode,
TypeDefBitSequence<T>: Encode,
source§impl Encode for LocalizedSignature
impl Encode for LocalizedSignature
source§impl Encode for OpaqueMetadata
impl Encode for OpaqueMetadata
source§impl Encode for DeriveJunction
impl Encode for DeriveJunction
source§impl Encode for OpaquePeerId
impl Encode for OpaquePeerId
source§impl Encode for HttpRequestId
impl Encode for HttpRequestId
source§impl Encode for OpaqueMultiaddr
impl Encode for OpaqueMultiaddr
source§impl Encode for CryptoTypePublicPair
impl Encode for CryptoTypePublicPair
source§impl Encode for CryptoTypeId
impl Encode for CryptoTypeId
source§impl Encode for OpaqueNetworkState
impl Encode for OpaqueNetworkState
source§impl Encode for StorageKind
impl Encode for StorageKind
source§impl Encode for HttpRequestStatus
impl Encode for HttpRequestStatus
source§impl Encode for AccountId32
impl Encode for AccountId32
source§impl Encode for LogLevelFilter
impl Encode for LogLevelFilter
§impl Encode for Value
impl Encode for Value
fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where
__CodecOutputEdqy: Output + ?Sized,
§impl Encode for ReturnValue
impl Encode for ReturnValue
fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where
__CodecOutputEdqy: Output + ?Sized,
source§impl Encode for EcdsaVerifyError
impl Encode for EcdsaVerifyError
§impl Encode for VRFTranscriptData
impl Encode for VRFTranscriptData
fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where
__CodecOutputEdqy: Output + ?Sized,
§impl Encode for VRFTranscriptValue
impl Encode for VRFTranscriptValue
fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where
__CodecOutputEdqy: Output + ?Sized,
source§impl<Address, Call, Signature, Extra> Encode for UncheckedExtrinsic<Address, Call, Signature, Extra>where
Address: Encode,
Signature: Encode,
Call: Encode,
Extra: SignedExtension,
impl<Address, Call, Signature, Extra> Encode for UncheckedExtrinsic<Address, Call, Signature, Extra>where
Address: Encode,
Signature: Encode,
Call: Encode,
Extra: SignedExtension,
source§impl<Call, Extra> Encode for SignedPayload<Call, Extra>where
Call: Encode,
Extra: SignedExtension,
impl<Call, Extra> Encode for SignedPayload<Call, Extra>where
Call: Encode,
Extra: SignedExtension,
source§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
Get an encoded version of this payload.
Payloads longer than 256 bytes are going to be blake2_256
-hashed.