[−][src]Struct frame_support::traits::StorageMapShim
A shim for placing around a storage item in order to use it as a StoredValue
. Ideally this
wouldn't be needed as StorageValue
s should blanket implement StoredValue
s, however this
would break the ability to have custom impls of StoredValue
. The other workaround is to
implement it directly in the macro.
This form has the advantage that two additional types are provides, Created
and Removed
,
which are both generic events that can be tied to handlers to do something in the case of being
about to create an account where one didn't previously exist (at all; not just where it used to
be the default value), or where the account is being removed or reset back to the default value
where previously it did exist (though may have been in a default state). This works well with
system module's CallOnCreatedAccount
and CallKillAccount
.
Trait Implementations
impl<S: StorageMap<K, T, Query = T>, Created: Happened<K>, Removed: Happened<K>, K: FullCodec, T: FullCodec> StoredMap<K, T> for StorageMapShim<S, Created, Removed, K, T>
[src]
fn get(k: &K) -> T
[src]
fn is_explicit(k: &K) -> bool
[src]
fn insert(k: &K, t: T)
[src]
fn remove(k: &K)
[src]
fn mutate<R>(k: &K, f: impl FnOnce(&mut T) -> R) -> R
[src]
fn mutate_exists<R>(k: &K, f: impl FnOnce(&mut Option<T>) -> R) -> R
[src]
fn try_mutate_exists<R, E>(
k: &K,
f: impl FnOnce(&mut Option<T>) -> Result<R, E>
) -> Result<R, E>
[src]
k: &K,
f: impl FnOnce(&mut Option<T>) -> Result<R, E>
) -> Result<R, E>
Auto Trait Implementations
impl<S, Created, Removed, K, T> RefUnwindSafe for StorageMapShim<S, Created, Removed, K, T> where
Created: RefUnwindSafe,
K: RefUnwindSafe,
Removed: RefUnwindSafe,
S: RefUnwindSafe,
T: RefUnwindSafe,
Created: RefUnwindSafe,
K: RefUnwindSafe,
Removed: RefUnwindSafe,
S: RefUnwindSafe,
T: RefUnwindSafe,
impl<S, Created, Removed, K, T> Send for StorageMapShim<S, Created, Removed, K, T> where
Created: Send,
K: Send,
Removed: Send,
S: Send,
T: Send,
Created: Send,
K: Send,
Removed: Send,
S: Send,
T: Send,
impl<S, Created, Removed, K, T> Sync for StorageMapShim<S, Created, Removed, K, T> where
Created: Sync,
K: Sync,
Removed: Sync,
S: Sync,
T: Sync,
Created: Sync,
K: Sync,
Removed: Sync,
S: Sync,
T: Sync,
impl<S, Created, Removed, K, T> Unpin for StorageMapShim<S, Created, Removed, K, T> where
Created: Unpin,
K: Unpin,
Removed: Unpin,
S: Unpin,
T: Unpin,
Created: Unpin,
K: Unpin,
Removed: Unpin,
S: Unpin,
T: Unpin,
impl<S, Created, Removed, K, T> UnwindSafe for StorageMapShim<S, Created, Removed, K, T> where
Created: UnwindSafe,
K: UnwindSafe,
Removed: UnwindSafe,
S: UnwindSafe,
T: UnwindSafe,
Created: UnwindSafe,
K: UnwindSafe,
Removed: UnwindSafe,
S: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
fn from_ref(&T) -> &T
[src]
fn into_ref(&Self) -> &T
[src]
fn from_mut(&mut T) -> &mut T
[src]
fn into_mut(&mut Self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
[src]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
[src]
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,