Trait pallet_housing_fund::Encode 
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§
fn 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.
fn 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.
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,
Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size.
Should be used when the encoded data isn’t required.
Note
This works by using a special [Output] that only tracks the size. So, there are no allocations inside the 
output. However, this can not prevent allocations that some types are doing inside their own encoding. 
Implementations on Foreign Types§
impl Encode for Never
§impl Encode for NonZeroI128
 
impl Encode for NonZeroI128
§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,
§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,
§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,
§impl Encode for NonZeroU64
 
impl Encode for NonZeroU64
§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,
§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,
§impl<T> Encode for BinaryHeap<T>where
    T: Encode,
 
impl<T> Encode for BinaryHeap<T>where
    T: Encode,
§impl<T> Encode for RangeInclusive<T>where
    T: Encode,
 
impl<T> Encode for RangeInclusive<T>where
    T: 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,
 
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<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,
§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,
§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,
§impl Encode for NonZeroI32
 
impl Encode for NonZeroI32
§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,
§impl Encode for NonZeroI64
 
impl Encode for NonZeroI64
§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,
§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,
§impl Encode for NonZeroI16
 
impl Encode for NonZeroI16
§impl<T> Encode for LinkedList<T>where
    T: Encode,
 
impl<T> Encode for LinkedList<T>where
    T: 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,
 
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 Encode for NonZeroU16
 
impl Encode for NonZeroU16
§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,
§impl Encode for NonZeroU32
 
impl Encode for NonZeroU32
§impl Encode for NonZeroU128
 
impl Encode for NonZeroU128
§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,
§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,
§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,
§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,
§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,
§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,
§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,
§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,
§impl<T> Encode for UntrackedSymbol<T>where
    PhantomData<fn() -> T>: Encode,
 
impl<T> Encode for UntrackedSymbol<T>where
    PhantomData<fn() -> T>: 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,
 
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 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,
§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,
§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,
impl Encode for Void
§impl<Number, Hash> Encode for Header<Number, Hash>where
    Number: Copy + Into<U256> + TryFrom<U256> + HasCompact,
    Hash: Hash,
    <Hash as Hash>::Output: Encode,
 
impl<Number, Hash> Encode for Header<Number, Hash>where
    Number: Copy + Into<U256> + TryFrom<U256> + HasCompact,
    Hash: Hash,
    <Hash as Hash>::Output: Encode,
§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,
§impl<B> Encode for BlockAndTimeDeadline<B>where
    B: BlockNumberProvider,
    <B as BlockNumberProvider>::BlockNumber: Encode,
 
impl<B> Encode for BlockAndTimeDeadline<B>where
    B: BlockNumberProvider,
    <B as BlockNumberProvider>::BlockNumber: Encode,
§impl<Block> Encode for BlockId<Block>where
    Block: Block,
    <Block as Block>::Hash: Encode,
    <<Block as Block>::Header as Header>::Number: Encode,
 
impl<Block> Encode for BlockId<Block>where
    Block: Block,
    <Block as Block>::Hash: Encode,
    <<Block as Block>::Header as Header>::Number: Encode,
§impl<Info> Encode for DispatchErrorWithPostInfo<Info>where
    Info: Eq + PartialEq<Info> + Clone + Copy + Encode + Decode + Printable,
 
impl<Info> Encode for DispatchErrorWithPostInfo<Info>where
    Info: Eq + PartialEq<Info> + Clone + Copy + Encode + Decode + Printable,
§impl<AccountId, AccountIndex> Encode for MultiAddress<AccountId, AccountIndex>where
    AccountId: Encode,
    AccountIndex: HasCompact,
 
impl<AccountId, AccountIndex> Encode for MultiAddress<AccountId, AccountIndex>where
    AccountId: Encode,
    AccountIndex: HasCompact,
§impl<Header, Extrinsic> Encode for Block<Header, Extrinsic>where
    Extrinsic: MaybeSerialize,
    Header: Encode,
    Vec<Extrinsic, Global>: Encode,
 
impl<Header, Extrinsic> Encode for Block<Header, Extrinsic>where
    Extrinsic: MaybeSerialize,
    Header: Encode,
    Vec<Extrinsic, Global>: Encode,
§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,
§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.