pub trait CountedByKey {
type Key;
type Length: Default + PartialEq;
// Required method
fn len(key: &Self::Key) -> Self::Length;
// Provided method
fn is_empty(key: &Self::Key) -> bool { ... }
}Expand description
Represents default counting logic, by providing ability to return length of the object as specified (associated) type or answer the question is the object empty, by provided key of specified (associated) type.
Should be implemented on double map based types.
Required Associated Types§
Required Methods§
Provided Methods§
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> CountedByKey for TaskPoolImpl<T, Task, Error, OutputError, Callbacks>where
T: DoubleMapStorage<Key2 = Task, Value = ()> + CountedByKey<Key = T::Key1>,
Error: TaskPoolError,
OutputError: From<Error>,
Callbacks: TaskPoolCallbacks,
impl<T, Task, Error, OutputError, Callbacks> CountedByKey for TaskPoolImpl<T, Task, Error, OutputError, Callbacks>where
T: DoubleMapStorage<Key2 = Task, Value = ()> + CountedByKey<Key = T::Key1>,
Error: TaskPoolError,
OutputError: From<Error>,
Callbacks: TaskPoolCallbacks,
type Key = <T as DoubleMapStorage>::Key1
type Length = <T as CountedByKey>::Length
Source§impl<T, Value, BlockNumber, Error, OutputError, Callbacks, KeyGen> CountedByKey for MailboxImpl<T, Value, BlockNumber, Error, OutputError, Callbacks, KeyGen>where
T: DoubleMapStorage<Value = (Value, Interval<BlockNumber>)> + CountedByKey<Key = T::Key1>,
Error: MailboxError,
OutputError: From<Error>,
Callbacks: MailboxCallbacks<OutputError, Value = Value, BlockNumber = BlockNumber>,
KeyGen: KeyFor<Key = (T::Key1, T::Key2), Value = Value>,
impl<T, Value, BlockNumber, Error, OutputError, Callbacks, KeyGen> CountedByKey for MailboxImpl<T, Value, BlockNumber, Error, OutputError, Callbacks, KeyGen>where
T: DoubleMapStorage<Value = (Value, Interval<BlockNumber>)> + CountedByKey<Key = T::Key1>,
Error: MailboxError,
OutputError: From<Error>,
Callbacks: MailboxCallbacks<OutputError, Value = Value, BlockNumber = BlockNumber>,
KeyGen: KeyFor<Key = (T::Key1, T::Key2), Value = Value>,
type Key = <T as DoubleMapStorage>::Key1
type Length = <T as CountedByKey>::Length
Source§impl<T, Value, BlockNumber, Error, OutputError, Callbacks, KeyGen> CountedByKey for WaitlistImpl<T, Value, BlockNumber, Error, OutputError, Callbacks, KeyGen>where
T: DoubleMapStorage<Value = (Value, Interval<BlockNumber>)> + CountedByKey<Key = T::Key1>,
Error: WaitlistError,
OutputError: From<Error>,
Callbacks: WaitlistCallbacks<Value = Value, BlockNumber = BlockNumber>,
KeyGen: KeyFor<Key = (T::Key1, T::Key2), Value = Value>,
impl<T, Value, BlockNumber, Error, OutputError, Callbacks, KeyGen> CountedByKey for WaitlistImpl<T, Value, BlockNumber, Error, OutputError, Callbacks, KeyGen>where
T: DoubleMapStorage<Value = (Value, Interval<BlockNumber>)> + CountedByKey<Key = T::Key1>,
Error: WaitlistError,
OutputError: From<Error>,
Callbacks: WaitlistCallbacks<Value = Value, BlockNumber = BlockNumber>,
KeyGen: KeyFor<Key = (T::Key1, T::Key2), Value = Value>,
type Key = <T as DoubleMapStorage>::Key1
type Length = <T as CountedByKey>::Length
Source§impl<T: AuxiliaryDoubleStorageWrap> CountedByKey for T
Available on crate feature std only.
impl<T: AuxiliaryDoubleStorageWrap> CountedByKey for T
Available on crate feature
std only.