pub trait KeyIterableByKeyMap {
type Key1;
type Key2;
type DrainIter: Iterator<Item = Self::Key2>;
type Iter: Iterator<Item = Self::Key2>;
// Required methods
fn drain_prefix_keys(key: Self::Key1) -> Self::DrainIter;
fn iter_prefix_keys(key: Self::Key1) -> Self::Iter;
}Expand description
Represents iterable over second keys logic for double key maps (Key1 -> Key2 -> Value).
Returns the iterators over specified (associated) type of the second map keys by given first key.
Required Associated Types§
Required Methods§
Sourcefn drain_prefix_keys(key: Self::Key1) -> Self::DrainIter
fn drain_prefix_keys(key: Self::Key1) -> Self::DrainIter
Creates the removal iterator over double map Items.
Sourcefn iter_prefix_keys(key: Self::Key1) -> Self::Iter
fn iter_prefix_keys(key: Self::Key1) -> Self::Iter
Creates the getting iterator over double map Items.
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.
Implementors§
Source§impl<T, Task, Error, OutputError, Callbacks> KeyIterableByKeyMap for TaskPoolImpl<T, Task, Error, OutputError, Callbacks>where
T: DoubleMapStorage<Key2 = Task, Value = ()> + KeyIterableByKeyMap,
Error: TaskPoolError,
OutputError: From<Error>,
Callbacks: TaskPoolCallbacks,
impl<T, Task, Error, OutputError, Callbacks> KeyIterableByKeyMap for TaskPoolImpl<T, Task, Error, OutputError, Callbacks>where
T: DoubleMapStorage<Key2 = Task, Value = ()> + KeyIterableByKeyMap,
Error: TaskPoolError,
OutputError: From<Error>,
Callbacks: TaskPoolCallbacks,
type Key1 = <T as KeyIterableByKeyMap>::Key1
type Key2 = <T as KeyIterableByKeyMap>::Key2
type DrainIter = <T as KeyIterableByKeyMap>::DrainIter
type Iter = <T as KeyIterableByKeyMap>::Iter
Source§impl<T: AuxiliaryDoubleStorageWrap> KeyIterableByKeyMap for T
Available on crate feature std only.
impl<T: AuxiliaryDoubleStorageWrap> KeyIterableByKeyMap for T
Available on crate feature
std only.