pub struct ResolvedAssociativeSubalgebra<'r, R, H>where
R: AssociativeSubalgebraResolver<H>,
H: HostTypes,{ /* private fields */ }Expand description
Phase 8 (orphan-closure) — content-addressed wrapper for AssociativeSubalgebra<H>.
Caches the resolver’s lookup at construction. Accessors return
the cached record’s fields when present, falling back to the
Null{Class}<H> absent sentinels when the resolver returned
None. Object accessors always return absent sentinels — use
the resolve_{m} chain methods to descend into sub-records.
Implementations§
Source§impl<'r, R, H> ResolvedAssociativeSubalgebra<'r, R, H>where
R: AssociativeSubalgebraResolver<H>,
H: HostTypes,
impl<'r, R, H> ResolvedAssociativeSubalgebra<'r, R, H>where
R: AssociativeSubalgebraResolver<H>,
H: HostTypes,
Sourcepub fn new(
handle: AssociativeSubalgebraHandle<H>,
resolver: &'r R,
) -> ResolvedAssociativeSubalgebra<'r, R, H>
pub fn new( handle: AssociativeSubalgebraHandle<H>, resolver: &'r R, ) -> ResolvedAssociativeSubalgebra<'r, R, H>
Construct the wrapper, eagerly resolving the handle.
Sourcepub const fn handle(&self) -> AssociativeSubalgebraHandle<H>
pub const fn handle(&self) -> AssociativeSubalgebraHandle<H>
The handle this wrapper resolves.
Sourcepub const fn record(&self) -> Option<&AssociativeSubalgebraRecord<H>>
pub const fn record(&self) -> Option<&AssociativeSubalgebraRecord<H>>
The cached record, or None when the resolver returned None.
Source§impl<'r, R, H> ResolvedAssociativeSubalgebra<'r, R, H>where
R: AssociativeSubalgebraResolver<H>,
H: HostTypes,
impl<'r, R, H> ResolvedAssociativeSubalgebra<'r, R, H>where
R: AssociativeSubalgebraResolver<H>,
H: HostTypes,
Sourcepub fn resolve_subalgebra_ref<'r2, R2>(
&self,
r: &'r2 R2,
) -> Option<ResolvedAssociativeSubalgebra<'r2, R2, H>>where
R2: AssociativeSubalgebraResolver<H>,
pub fn resolve_subalgebra_ref<'r2, R2>(
&self,
r: &'r2 R2,
) -> Option<ResolvedAssociativeSubalgebra<'r2, R2, H>>where
R2: AssociativeSubalgebraResolver<H>,
Promote the subalgebra_ref handle on the cached record into a
resolved wrapper, given a resolver for the range class.
Returns None if no record was resolved at construction.
Sourcepub fn resolve_associator_ref<'r2, R2>(
&self,
r: &'r2 R2,
) -> Option<ResolvedAssociatorTriple<'r2, R2, H>>where
R2: AssociatorTripleResolver<H>,
pub fn resolve_associator_ref<'r2, R2>(
&self,
r: &'r2 R2,
) -> Option<ResolvedAssociatorTriple<'r2, R2, H>>where
R2: AssociatorTripleResolver<H>,
Promote the associator_ref handle on the cached record into a
resolved wrapper, given a resolver for the range class.
Returns None if no record was resolved at construction.
Trait Implementations§
Source§impl<'r, R, H> AssociativeSubalgebra<H> for ResolvedAssociativeSubalgebra<'r, R, H>where
R: AssociativeSubalgebraResolver<H>,
H: HostTypes,
impl<'r, R, H> AssociativeSubalgebra<H> for ResolvedAssociativeSubalgebra<'r, R, H>where
R: AssociativeSubalgebraResolver<H>,
H: HostTypes,
Source§type AssociativeSubalgebraTarget = NullAssociativeSubalgebra<H>
type AssociativeSubalgebraTarget = NullAssociativeSubalgebra<H>
AssociativeSubalgebra.Source§type AssociatorTriple = NullAssociatorTriple<H>
type AssociatorTriple = NullAssociatorTriple<H>
AssociatorTriple.