Struct fabric_support::traits::StorageMapShim[][src]

pub struct StorageMapShim<S, L, K, T>(_);

A shim for placing around a storage item in order to use it as a StoredValue. Ideally this wouldn’t be needed as StorageValues should blanket implement StoredValues, 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>, L: HandleLifetime<K>, K: FullCodec, T: FullCodec + Default> StoredMap<K, T> for StorageMapShim<S, L, K, T>[src]

Auto Trait Implementations

impl<S, L, K, T> RefUnwindSafe for StorageMapShim<S, L, K, T> where
    K: RefUnwindSafe,
    L: RefUnwindSafe,
    S: RefUnwindSafe,
    T: RefUnwindSafe

impl<S, L, K, T> Send for StorageMapShim<S, L, K, T> where
    K: Send,
    L: Send,
    S: Send,
    T: Send

impl<S, L, K, T> Sync for StorageMapShim<S, L, K, T> where
    K: Sync,
    L: Sync,
    S: Sync,
    T: Sync

impl<S, L, K, T> Unpin for StorageMapShim<S, L, K, T> where
    K: Unpin,
    L: Unpin,
    S: Unpin,
    T: Unpin

impl<S, L, K, T> UnwindSafe for StorageMapShim<S, L, K, T> where
    K: UnwindSafe,
    L: UnwindSafe,
    S: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Any + Send + Sync

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub 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

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,