pub struct MapId<IdA, IdB, M, Op>(/* private fields */);
Expand description
The MapId
is an adapter that implements all the asset ops implemented by the Op
.
The adapter allows IdA
to be used instead of IdB
for every Op
operation that uses IdB
as
instance ID. The IdA
value will be converted to IdB
by the mapper M
and supplied to the
Op
’s corresponding operation implementation.
Trait Implementations§
Source§impl<Id, M: Convert<Id, Result<Op::Id, DispatchError>>, Op: AssetDefinition> AssetDefinition for MapId<Id, Op::Id, M, Op>
impl<Id, M: Convert<Id, Result<Op::Id, DispatchError>>, Op: AssetDefinition> AssetDefinition for MapId<Id, Op::Id, M, Op>
Source§impl<IdA, IdB, ReportedId, M, CreateOp> Create<DeriveAndReportId<IdA, ReportedId>> for MapId<IdA, IdB, M, CreateOp>where
M: Convert<IdA, Result<IdB, DispatchError>>,
CreateOp: Create<DeriveAndReportId<IdB, ReportedId>>,
impl<IdA, IdB, ReportedId, M, CreateOp> Create<DeriveAndReportId<IdA, ReportedId>> for MapId<IdA, IdB, M, CreateOp>where
M: Convert<IdA, Result<IdB, DispatchError>>,
CreateOp: Create<DeriveAndReportId<IdB, ReportedId>>,
Source§fn create(
id_assignment: DeriveAndReportId<IdA, ReportedId>,
) -> Result<ReportedId, DispatchError>
fn create( id_assignment: DeriveAndReportId<IdA, ReportedId>, ) -> Result<ReportedId, DispatchError>
Create a new asset using the provided
strategy
.Source§impl<Config, IdA, IdB, ReportedId, M, CreateOp> Create<WithConfig<Config, DeriveAndReportId<IdA, ReportedId>>> for MapId<IdA, IdB, M, CreateOp>where
Config: ConfigValueMarker,
M: Convert<IdA, Result<IdB, DispatchError>>,
CreateOp: Create<WithConfig<Config, DeriveAndReportId<IdB, ReportedId>>>,
impl<Config, IdA, IdB, ReportedId, M, CreateOp> Create<WithConfig<Config, DeriveAndReportId<IdA, ReportedId>>> for MapId<IdA, IdB, M, CreateOp>where
Config: ConfigValueMarker,
M: Convert<IdA, Result<IdB, DispatchError>>,
CreateOp: Create<WithConfig<Config, DeriveAndReportId<IdB, ReportedId>>>,
Source§fn create(
strategy: WithConfig<Config, DeriveAndReportId<IdA, ReportedId>>,
) -> Result<ReportedId, DispatchError>
fn create( strategy: WithConfig<Config, DeriveAndReportId<IdA, ReportedId>>, ) -> Result<ReportedId, DispatchError>
Create a new asset using the provided
strategy
.Source§impl<Id, M, S, Op> Destroy<S> for MapId<Id, Op::Id, M, Op>where
M: Convert<Id, Result<Op::Id, DispatchError>>,
S: DestroyStrategy,
Op: Destroy<S>,
Self::Id: Clone,
impl<Id, M, S, Op> Destroy<S> for MapId<Id, Op::Id, M, Op>where
M: Convert<Id, Result<Op::Id, DispatchError>>,
S: DestroyStrategy,
Op: Destroy<S>,
Self::Id: Clone,
Source§impl<Id, M, S, Op> Restore<S> for MapId<Id, Op::Id, M, Op>where
M: Convert<Id, Result<Op::Id, DispatchError>>,
S: RestoreStrategy,
Op: Restore<S>,
Self::Id: Clone,
impl<Id, M, S, Op> Restore<S> for MapId<Id, Op::Id, M, Op>where
M: Convert<Id, Result<Op::Id, DispatchError>>,
S: RestoreStrategy,
Op: Restore<S>,
Self::Id: Clone,
Source§impl<Id, M, S, Op> Stash<S> for MapId<Id, Op::Id, M, Op>where
M: Convert<Id, Result<Op::Id, DispatchError>>,
S: StashStrategy,
Op: Stash<S>,
Self::Id: Clone,
impl<Id, M, S, Op> Stash<S> for MapId<Id, Op::Id, M, Op>where
M: Convert<Id, Result<Op::Id, DispatchError>>,
S: StashStrategy,
Op: Stash<S>,
Self::Id: Clone,
Source§impl<Id, M, S, Op> Update<S> for MapId<Id, Op::Id, M, Op>where
M: Convert<Id, Result<Op::Id, DispatchError>>,
S: UpdateStrategy,
Op: Update<S>,
Self::Id: Clone,
impl<Id, M, S, Op> Update<S> for MapId<Id, Op::Id, M, Op>where
M: Convert<Id, Result<Op::Id, DispatchError>>,
S: UpdateStrategy,
Op: Update<S>,
Self::Id: Clone,
Source§fn update(
id: &Self::Id,
strategy: S,
update_value: S::UpdateValue<'_>,
) -> Result<S::Success, DispatchError>
fn update( id: &Self::Id, strategy: S, update_value: S::UpdateValue<'_>, ) -> Result<S::Success, DispatchError>
Update the state information of the asset
using the given
id
, the update strategy
, and the strategy’s update_value
. Read moreAuto Trait Implementations§
impl<IdA, IdB, M, Op> Freeze for MapId<IdA, IdB, M, Op>
impl<IdA, IdB, M, Op> RefUnwindSafe for MapId<IdA, IdB, M, Op>
impl<IdA, IdB, M, Op> Send for MapId<IdA, IdB, M, Op>
impl<IdA, IdB, M, Op> Sync for MapId<IdA, IdB, M, Op>
impl<IdA, IdB, M, Op> Unpin for MapId<IdA, IdB, M, Op>
impl<IdA, IdB, M, Op> UnwindSafe for MapId<IdA, IdB, M, Op>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Defensively truncate a value and convert it into its bounded form.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.