pub trait TypeAbi: TypeAbiFrom<Self> {
type Unmanaged;
// Provided methods
fn type_names() -> TypeNames { ... }
fn type_name() -> String { ... }
fn type_name_rust() -> String { ... }
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)
where TDC: TypeDescriptionContainer { ... }
}
Expand description
Implemented for all types that can end up in the ABI:
- argument types,
- result types,
- event log arguments
- etc.
Will be automatically implemented for struct ad enum types via the #[type_abi]
annotation.
Required Associated Types§
Provided Methods§
fn type_names() -> TypeNames
fn type_name() -> String
fn type_name_rust() -> String
Sourcefn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
A type can provide more than its own name. For instance, a struct can also provide the descriptions of the type of its fields. TypeAbi doesn’t care for the exact accumulator type, which is abstracted by the TypeDescriptionContainer trait.
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.
Implementations on Foreign Types§
Source§impl<T0, T1, T2> TypeAbi for (T0, T1, T2)
impl<T0, T1, T2> TypeAbi for (T0, T1, T2)
Source§impl<T0, T1, T2, T3> TypeAbi for (T0, T1, T2, T3)
impl<T0, T1, T2, T3> TypeAbi for (T0, T1, T2, T3)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4> TypeAbi for (T0, T1, T2, T3, T4)
impl<T0, T1, T2, T3, T4> TypeAbi for (T0, T1, T2, T3, T4)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5> TypeAbi for (T0, T1, T2, T3, T4, T5)
impl<T0, T1, T2, T3, T4, T5> TypeAbi for (T0, T1, T2, T3, T4, T5)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6> TypeAbi for (T0, T1, T2, T3, T4, T5, T6)
impl<T0, T1, T2, T3, T4, T5, T6> TypeAbi for (T0, T1, T2, T3, T4, T5, T6)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7)
impl<T0, T1, T2, T3, T4, T5, T6, T7> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged, <T8 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged, <T8 as TypeAbi>::Unmanaged, <T9 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged, <T8 as TypeAbi>::Unmanaged, <T9 as TypeAbi>::Unmanaged, <T10 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged, <T8 as TypeAbi>::Unmanaged, <T9 as TypeAbi>::Unmanaged, <T10 as TypeAbi>::Unmanaged, <T11 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged, <T8 as TypeAbi>::Unmanaged, <T9 as TypeAbi>::Unmanaged, <T10 as TypeAbi>::Unmanaged, <T11 as TypeAbi>::Unmanaged, <T12 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged, <T8 as TypeAbi>::Unmanaged, <T9 as TypeAbi>::Unmanaged, <T10 as TypeAbi>::Unmanaged, <T11 as TypeAbi>::Unmanaged, <T12 as TypeAbi>::Unmanaged, <T13 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged, <T8 as TypeAbi>::Unmanaged, <T9 as TypeAbi>::Unmanaged, <T10 as TypeAbi>::Unmanaged, <T11 as TypeAbi>::Unmanaged, <T12 as TypeAbi>::Unmanaged, <T13 as TypeAbi>::Unmanaged, <T14 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
type Unmanaged = (<T0 as TypeAbi>::Unmanaged, <T1 as TypeAbi>::Unmanaged, <T2 as TypeAbi>::Unmanaged, <T3 as TypeAbi>::Unmanaged, <T4 as TypeAbi>::Unmanaged, <T5 as TypeAbi>::Unmanaged, <T6 as TypeAbi>::Unmanaged, <T7 as TypeAbi>::Unmanaged, <T8 as TypeAbi>::Unmanaged, <T9 as TypeAbi>::Unmanaged, <T10 as TypeAbi>::Unmanaged, <T11 as TypeAbi>::Unmanaged, <T12 as TypeAbi>::Unmanaged, <T13 as TypeAbi>::Unmanaged, <T14 as TypeAbi>::Unmanaged, <T15 as TypeAbi>::Unmanaged)
fn type_name() -> String
fn type_name_rust() -> String
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
Implementors§
Source§impl TypeAbi for DcdtLocalRole
impl TypeAbi for DcdtLocalRole
type Unmanaged = DcdtLocalRole
Source§impl TypeAbi for DcdtTokenType
impl TypeAbi for DcdtTokenType
type Unmanaged = DcdtTokenType
Source§impl TypeAbi for MessageHashType
impl TypeAbi for MessageHashType
type Unmanaged = MessageHashType
Source§impl TypeAbi for BoxedBytes
impl TypeAbi for BoxedBytes
type Unmanaged = BoxedBytes
Source§impl TypeAbi for CodeMetadata
impl TypeAbi for CodeMetadata
type Unmanaged = CodeMetadata
Source§impl TypeAbi for IgnoreValue
impl TypeAbi for IgnoreValue
type Unmanaged = IgnoreValue
Source§impl<Api> TypeAbi for FunctionCall<Api>where
Api: ManagedTypeApi,
impl<Api> TypeAbi for FunctionCall<Api>where
Api: ManagedTypeApi,
type Unmanaged = FunctionCall<Api>
Source§impl<E, const CAPACITY: usize> TypeAbi for SparseArray<E, CAPACITY>where
E: ErrorApi,
impl<E, const CAPACITY: usize> TypeAbi for SparseArray<E, CAPACITY>where
E: ErrorApi,
type Unmanaged = SparseArray<E, CAPACITY>
Source§impl<M> TypeAbi for RewaOrMultiDcdtPayment<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for RewaOrMultiDcdtPayment<M>where
M: ManagedTypeApi,
type Unmanaged = RewaOrMultiDcdtPayment<M>
Source§impl<M> TypeAbi for drt_sc_snippets::imports::BigInt<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for drt_sc_snippets::imports::BigInt<M>where
M: ManagedTypeApi,
Source§impl<M> TypeAbi for drt_sc_snippets::imports::BigUint<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for drt_sc_snippets::imports::BigUint<M>where
M: ManagedTypeApi,
Source§impl<M> TypeAbi for DcdtTokenData<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for DcdtTokenData<M>where
M: ManagedTypeApi,
type Unmanaged = DcdtTokenData<M>
Source§impl<M> TypeAbi for DcdtTokenPayment<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for DcdtTokenPayment<M>where
M: ManagedTypeApi,
type Unmanaged = DcdtTokenPayment<M>
Source§impl<M> TypeAbi for DcdtTokenPaymentMultiValue<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for DcdtTokenPaymentMultiValue<M>where
M: ManagedTypeApi,
type Unmanaged = DcdtTokenPaymentMultiValue<M>
Source§impl<M> TypeAbi for EllipticCurve<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for EllipticCurve<M>where
M: ManagedTypeApi,
type Unmanaged = EllipticCurve<M>
Source§impl<M> TypeAbi for ManagedAddress<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for ManagedAddress<M>where
M: ManagedTypeApi,
Source§impl<M> TypeAbi for ManagedArgBuffer<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for ManagedArgBuffer<M>where
M: ManagedTypeApi,
Source§impl<M> TypeAbi for ManagedBuffer<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for ManagedBuffer<M>where
M: ManagedTypeApi,
Source§impl<M> TypeAbi for ManagedBufferReadToEnd<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for ManagedBufferReadToEnd<M>where
M: ManagedTypeApi,
Source§impl<M> TypeAbi for ManagedDecimal<M, usize>where
M: ManagedTypeApi,
impl<M> TypeAbi for ManagedDecimal<M, usize>where
M: ManagedTypeApi,
type Unmanaged = ManagedDecimal<M, usize>
Source§impl<M> TypeAbi for ManagedDecimalSigned<M, usize>where
M: ManagedTypeApi,
impl<M> TypeAbi for ManagedDecimalSigned<M, usize>where
M: ManagedTypeApi,
type Unmanaged = ManagedDecimalSigned<M, usize>
Source§impl<M> TypeAbi for RewaOrDcdtTokenIdentifier<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for RewaOrDcdtTokenIdentifier<M>where
M: ManagedTypeApi,
type Unmanaged = RewaOrDcdtTokenIdentifier<M>
Source§impl<M> TypeAbi for RewaOrDcdtTokenPayment<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for RewaOrDcdtTokenPayment<M>where
M: ManagedTypeApi,
type Unmanaged = RewaOrDcdtTokenPayment<M>
Source§impl<M> TypeAbi for TokenIdentifier<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for TokenIdentifier<M>where
M: ManagedTypeApi,
type Unmanaged = TokenIdentifier<M>
Source§impl<M, T> TypeAbi for ManagedAsyncCallResult<M, T>where
M: ManagedTypeApi,
T: TypeAbi,
impl<M, T> TypeAbi for ManagedAsyncCallResult<M, T>where
M: ManagedTypeApi,
T: TypeAbi,
type Unmanaged = ManagedAsyncCallResult<M, T>
Source§impl<M, T> TypeAbi for ManagedOption<M, T>
impl<M, T> TypeAbi for ManagedOption<M, T>
Source§impl<M, T> TypeAbi for ManagedVec<M, T>
impl<M, T> TypeAbi for ManagedVec<M, T>
Source§impl<M, T> TypeAbi for MultiValueEncoded<M, T>where
M: ManagedTypeApi,
T: TypeAbi,
impl<M, T> TypeAbi for MultiValueEncoded<M, T>where
M: ManagedTypeApi,
T: TypeAbi,
Source§impl<M, T> TypeAbi for MultiValueManagedVec<M, T>
impl<M, T> TypeAbi for MultiValueManagedVec<M, T>
Source§impl<M, T> TypeAbi for MultiValueManagedVecCounted<M, T>
impl<M, T> TypeAbi for MultiValueManagedVecCounted<M, T>
type Unmanaged = MultiValueManagedVecCounted<M, T>
Source§impl<M, const DECIMALS: usize> TypeAbi for ManagedDecimal<M, ConstDecimals<DECIMALS>>where
M: ManagedTypeApi,
impl<M, const DECIMALS: usize> TypeAbi for ManagedDecimal<M, ConstDecimals<DECIMALS>>where
M: ManagedTypeApi,
type Unmanaged = ManagedDecimal<M, ConstDecimals<DECIMALS>>
Source§impl<M, const DECIMALS: usize> TypeAbi for ManagedDecimalSigned<M, ConstDecimals<DECIMALS>>where
M: ManagedTypeApi,
impl<M, const DECIMALS: usize> TypeAbi for ManagedDecimalSigned<M, ConstDecimals<DECIMALS>>where
M: ManagedTypeApi,
type Unmanaged = ManagedDecimalSigned<M, ConstDecimals<DECIMALS>>
Source§impl<M, const N: usize> TypeAbi for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> TypeAbi for ManagedByteArray<M, N>where
M: ManagedTypeApi,
Source§impl<SA> TypeAbi for FungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> TypeAbi for FungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
type Unmanaged = FungibleTokenMapper<SA>
Source§impl<SA> TypeAbi for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> TypeAbi for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
type Unmanaged = NonFungibleTokenMapper<SA>
Source§impl<SA> TypeAbi for UniqueIdMapper<SA>where
SA: StorageMapperApi,
Behaves like a MultiResultVec when an endpoint result.
impl<SA> TypeAbi for UniqueIdMapper<SA>where
SA: StorageMapperApi,
Behaves like a MultiResultVec when an endpoint result.
type Unmanaged = UniqueIdMapper<SA>
Source§impl<SA> TypeAbi for UserMapper<SA>where
SA: StorageMapperApi,
Behaves like a MultiResultVec when an endpoint result.
impl<SA> TypeAbi for UserMapper<SA>where
SA: StorageMapperApi,
Behaves like a MultiResultVec when an endpoint result.
type Unmanaged = UserMapper<SA>
Source§impl<SA, K, V> TypeAbi for BiDiMapper<SA, K, V>where
SA: StorageMapperApi,
K: TopEncode + TopDecode + NestedEncode + NestedDecode + 'static + Default + PartialEq + TypeAbi,
V: TopEncode + TopDecode + NestedEncode + NestedDecode + 'static + Default + PartialEq + TypeAbi,
impl<SA, K, V> TypeAbi for BiDiMapper<SA, K, V>where
SA: StorageMapperApi,
K: TopEncode + TopDecode + NestedEncode + NestedDecode + 'static + Default + PartialEq + TypeAbi,
V: TopEncode + TopDecode + NestedEncode + NestedDecode + 'static + Default + PartialEq + TypeAbi,
type Unmanaged = BiDiMapper<SA, K, V>
Source§impl<SA, K, V> TypeAbi for MapMapper<SA, K, V>where
SA: StorageMapperApi,
K: TopEncode + TopDecode + NestedEncode + NestedDecode + TypeAbi + 'static,
V: TopEncode + TopDecode + TypeAbi + 'static,
Behaves like a MultiResultVec<MultiValue<K, V>> when an endpoint result.
impl<SA, K, V> TypeAbi for MapMapper<SA, K, V>where
SA: StorageMapperApi,
K: TopEncode + TopDecode + NestedEncode + NestedDecode + TypeAbi + 'static,
V: TopEncode + TopDecode + TypeAbi + 'static,
Behaves like a MultiResultVec<MultiValue<K, V>> when an endpoint result.
Source§impl<SA, T> TypeAbi for LinkedListMapper<SA, T>where
SA: StorageMapperApi,
T: TopEncode + TopDecode + NestedEncode + NestedDecode + Clone + TypeAbi,
impl<SA, T> TypeAbi for LinkedListMapper<SA, T>where
SA: StorageMapperApi,
T: TopEncode + TopDecode + NestedEncode + NestedDecode + Clone + TypeAbi,
type Unmanaged = LinkedListMapper<SA, T>
Source§impl<SA, T> TypeAbi for QueueMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
impl<SA, T> TypeAbi for QueueMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
type Unmanaged = QueueMapper<SA, T>
Source§impl<SA, T> TypeAbi for SetMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
impl<SA, T> TypeAbi for SetMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
Source§impl<SA, T> TypeAbi for SingleValueMapper<SA, T>
impl<SA, T> TypeAbi for SingleValueMapper<SA, T>
Source§impl<SA, T> TypeAbi for UnorderedSetMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
impl<SA, T> TypeAbi for UnorderedSetMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
type Unmanaged = UnorderedSetMapper<SA, T>
Source§impl<SA, T> TypeAbi for VecMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
impl<SA, T> TypeAbi for VecMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.