StorageKeys

Trait StorageKeys 

Source
pub trait StorageKeys {
    // Required method
    fn encode_next_key_to<Resolver>(
        &mut self,
        type_id: Resolver::TypeId,
        types: &Resolver,
        out: &mut Vec<u8>,
    ) -> Option<Result<(), Error>>
       where Resolver: TypeResolver;

    // Provided method
    fn encode_next_key<Resolver>(
        &mut self,
        type_id: Resolver::TypeId,
        types: &Resolver,
    ) -> Option<Result<Vec<u8>, Error>>
       where Resolver: TypeResolver { ... }
}
Expand description

Since scale_encode::EncodeAsType is not dyn safe, this trait is used to iterate through and encode a set of keys.

Required Methods§

Source

fn encode_next_key_to<Resolver>( &mut self, type_id: Resolver::TypeId, types: &Resolver, out: &mut Vec<u8>, ) -> Option<Result<(), Error>>
where Resolver: TypeResolver,

Encode the next key, if there is one, into the provided output buffer.

Provided Methods§

Source

fn encode_next_key<Resolver>( &mut self, type_id: Resolver::TypeId, types: &Resolver, ) -> Option<Result<Vec<u8>, Error>>
where Resolver: TypeResolver,

Encode the next key, if there is one, and return the encoded bytes

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 StorageKeys for ()

Source§

fn encode_next_key_to<Resolver>( &mut self, _type_id: Resolver::TypeId, _types: &Resolver, _out: &mut Vec<u8>, ) -> Option<Result<(), Error>>
where Resolver: TypeResolver,

Source§

impl<K: EncodeAsType> StorageKeys for IntoIter<K>

Source§

fn encode_next_key_to<Resolver>( &mut self, type_id: Resolver::TypeId, types: &Resolver, out: &mut Vec<u8>, ) -> Option<Result<(), Error>>
where Resolver: TypeResolver,

Source§

impl<K: EncodeAsType, const N: usize> StorageKeys for IntoIter<K, N>

Source§

fn encode_next_key_to<Resolver>( &mut self, type_id: Resolver::TypeId, types: &Resolver, out: &mut Vec<u8>, ) -> Option<Result<(), Error>>
where Resolver: TypeResolver,

Implementors§