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".
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.