pub struct ConcreteApplierHost<A: Applier + 'static> { /* private fields */ }Expand description
An ApplierHost that stores one applier of the concrete type A.
Implementations§
Source§impl<A: Applier + 'static> ConcreteApplierHost<A>
impl<A: Applier + 'static> ConcreteApplierHost<A>
Sourcepub fn borrow_typed(&self) -> ApplierGuard<'_, A>
pub fn borrow_typed(&self) -> ApplierGuard<'_, A>
Borrows the applier mutably with its concrete type. Panics if it is already borrowed.
Sourcepub fn try_borrow_typed(&self) -> Result<ApplierGuard<'_, A>, BorrowMutError>
pub fn try_borrow_typed(&self) -> Result<ApplierGuard<'_, A>, BorrowMutError>
Borrows the applier mutably with its concrete type. Returns an error if it is already borrowed.
Sourcepub fn try_into_inner(self) -> Result<A, (Self, NodeError)>
pub fn try_into_inner(self) -> Result<A, (Self, NodeError)>
Returns the applier after all queued nodes have been disposed.
On failure, returns this host with its pending resources and the error, allowing the caller to repair the cause and retry extraction.
use cranpose_core::{ConcreteApplierHost, MemoryApplier};
let host = ConcreteApplierHost::new(MemoryApplier::new());
assert!(host.try_into_inner().is_ok());Trait Implementations§
Source§impl<A: Applier + 'static> ApplierHost for ConcreteApplierHost<A>
impl<A: Applier + 'static> ApplierHost for ConcreteApplierHost<A>
Source§fn borrow_dyn(&self) -> ApplierGuard<'_, dyn Applier>
fn borrow_dyn(&self) -> ApplierGuard<'_, dyn Applier>
Borrows the applier mutably as a trait object. Dropping the guard finishes any node disposal
queued while it was held.
Source§fn dispose_nodes(&self, disposal: NodeDisposal) -> Result<(), NodeError>
fn dispose_nodes(&self, disposal: NodeDisposal) -> Result<(), NodeError>
Disposes detached roots, deferring recursive cleanup to the current borrow’s guard. Read more
Auto Trait Implementations§
impl<A> !Freeze for ConcreteApplierHost<A>
impl<A> !RefUnwindSafe for ConcreteApplierHost<A>
impl<A> !Send for ConcreteApplierHost<A>
impl<A> !Sync for ConcreteApplierHost<A>
impl<A> !UnwindSafe for ConcreteApplierHost<A>
impl<A> Unpin for ConcreteApplierHost<A>
impl<A> UnsafeUnpin for ConcreteApplierHost<A>where
RefCell<A>: UnsafeUnpin,
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