Trait ink_storage::traits::StorageLayout[][src]

pub trait StorageLayout {
    fn layout(key_ptr: &mut KeyPtr) -> Layout;
}

Implemented by types that have a storage layout.

Required methods

fn layout(key_ptr: &mut KeyPtr) -> Layout[src]

Returns the static storage layout of Self.

The given key pointer is guiding the allocation of static fields onto the contract storage regions.

Loading content...

Implementations on Foreign Types

impl StorageLayout for Key[src]

impl StorageLayout for Hash[src]

impl StorageLayout for AccountId[src]

impl StorageLayout for String[src]

impl StorageLayout for bool[src]

impl StorageLayout for char[src]

impl StorageLayout for ()[src]

impl StorageLayout for u8[src]

impl StorageLayout for u16[src]

impl StorageLayout for u32[src]

impl StorageLayout for u64[src]

impl StorageLayout for u128[src]

impl StorageLayout for i8[src]

impl StorageLayout for i16[src]

impl StorageLayout for i32[src]

impl StorageLayout for i64[src]

impl StorageLayout for i128[src]

impl<T> StorageLayout for [T; 1] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 2] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 3] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 4] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 5] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 6] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 7] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 8] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 9] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 10] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 11] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 12] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 13] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 14] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 15] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 16] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 17] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 18] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 19] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 20] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 21] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 22] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 23] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 24] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 25] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 26] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 27] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 28] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 29] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 30] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 31] where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for [T; 32] where
    T: StorageLayout + SpreadLayout
[src]

impl<A> StorageLayout for (A,) where
    A: StorageLayout
[src]

impl<A, B> StorageLayout for (A, B) where
    A: StorageLayout,
    B: StorageLayout
[src]

impl<A, B, C> StorageLayout for (A, B, C) where
    A: StorageLayout,
    B: StorageLayout,
    C: StorageLayout
[src]

impl<A, B, C, D> StorageLayout for (A, B, C, D) where
    A: StorageLayout,
    B: StorageLayout,
    C: StorageLayout,
    D: StorageLayout
[src]

impl<A, B, C, D, E> StorageLayout for (A, B, C, D, E) where
    A: StorageLayout,
    B: StorageLayout,
    C: StorageLayout,
    D: StorageLayout,
    E: StorageLayout
[src]

impl<A, B, C, D, E, F> StorageLayout for (A, B, C, D, E, F) where
    A: StorageLayout,
    B: StorageLayout,
    C: StorageLayout,
    D: StorageLayout,
    E: StorageLayout,
    F: StorageLayout
[src]

impl<A, B, C, D, E, F, G> StorageLayout for (A, B, C, D, E, F, G) where
    A: StorageLayout,
    B: StorageLayout,
    C: StorageLayout,
    D: StorageLayout,
    E: StorageLayout,
    F: StorageLayout,
    G: StorageLayout
[src]

impl<A, B, C, D, E, F, G, H> StorageLayout for (A, B, C, D, E, F, G, H) where
    A: StorageLayout,
    B: StorageLayout,
    C: StorageLayout,
    D: StorageLayout,
    E: StorageLayout,
    F: StorageLayout,
    G: StorageLayout,
    H: StorageLayout
[src]

impl<A, B, C, D, E, F, G, H, I> StorageLayout for (A, B, C, D, E, F, G, H, I) where
    A: StorageLayout,
    B: StorageLayout,
    C: StorageLayout,
    D: StorageLayout,
    E: StorageLayout,
    F: StorageLayout,
    G: StorageLayout,
    H: StorageLayout,
    I: StorageLayout
[src]

impl<A, B, C, D, E, F, G, H, I, J> StorageLayout for (A, B, C, D, E, F, G, H, I, J) where
    A: StorageLayout,
    B: StorageLayout,
    C: StorageLayout,
    D: StorageLayout,
    E: StorageLayout,
    F: StorageLayout,
    G: StorageLayout,
    H: StorageLayout,
    I: StorageLayout,
    J: StorageLayout
[src]

impl<T> StorageLayout for Box<T> where
    T: StorageLayout
[src]

impl<T> StorageLayout for Option<T> where
    T: StorageLayout
[src]

impl<T, E> StorageLayout for Result<T, E> where
    T: StorageLayout,
    E: StorageLayout
[src]

impl<T> StorageLayout for Vec<T> where
    T: TypeInfo + 'static, 
[src]

impl<K, V> StorageLayout for BTreeMap<K, V> where
    K: TypeInfo + 'static,
    V: TypeInfo + 'static, 
[src]

Loading content...

Implementors

impl StorageLayout for BitStash[src]

impl StorageLayout for StorageBitvec[src]

impl<K, V, H> StorageLayout for StorageHashMap<K, V, H> where
    K: TypeInfo + Ord + Clone + PackedLayout + 'static,
    V: TypeInfo + PackedLayout + 'static,
    H: LayoutCryptoHasher + CryptoHash,
    Key: From<<H as HashOutput>::Type>, 
[src]

impl<K, V, H> StorageLayout for LazyHashMap<K, V, H> where
    K: Ord + Encode,
    V: TypeInfo + 'static,
    H: CryptoHash + LayoutCryptoHasher,
    Key: From<<H as HashOutput>::Type>, 
[src]

impl<T> StorageLayout for StorageBox<T> where
    T: SpreadLayout
[src]

impl<T> StorageLayout for BinaryHeap<T> where
    T: PackedLayout + Ord + TypeInfo + 'static, 
[src]

impl<T> StorageLayout for StorageStash<T> where
    T: PackedLayout + TypeInfo + 'static, 
[src]

impl<T> StorageLayout for LazyCell<T> where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for LazyIndexMap<T> where
    T: TypeInfo + 'static, 
[src]

impl<T> StorageLayout for Lazy<T> where
    T: StorageLayout + SpreadLayout
[src]

impl<T> StorageLayout for Memory<T>[src]

impl<T> StorageLayout for Pack<T> where
    T: PackedLayout + TypeInfo + 'static, 
[src]

impl<T> StorageLayout for StorageVec<T> where
    T: PackedLayout + TypeInfo + 'static, 
[src]

Loading content...