pub struct SmartPointerVTableBuilder { /* private fields */ }Expand description
Builder for creating a SmartPointerVTable.
Implementations§
Source§impl SmartPointerVTableBuilder
impl SmartPointerVTableBuilder
Sourcepub const fn new() -> SmartPointerVTableBuilder
pub const fn new() -> SmartPointerVTableBuilder
Creates a new SmartPointerVTableBuilder with all fields set to None.
Sourcepub const fn upgrade_into_fn(
self,
upgrade_into_fn: for<'ptr> unsafe fn(_: PtrMut<'ptr>, _: PtrUninit<'ptr>) -> Option<PtrMut<'ptr>>,
) -> SmartPointerVTableBuilder
pub const fn upgrade_into_fn( self, upgrade_into_fn: for<'ptr> unsafe fn(_: PtrMut<'ptr>, _: PtrUninit<'ptr>) -> Option<PtrMut<'ptr>>, ) -> SmartPointerVTableBuilder
Sets the try_upgrade function.
Sourcepub const fn downgrade_fn(
self,
downgrade_into_fn: for<'ptr> unsafe fn(_: PtrMut<'ptr>, _: PtrUninit<'ptr>) -> PtrMut<'ptr>,
) -> SmartPointerVTableBuilder
pub const fn downgrade_fn( self, downgrade_into_fn: for<'ptr> unsafe fn(_: PtrMut<'ptr>, _: PtrUninit<'ptr>) -> PtrMut<'ptr>, ) -> SmartPointerVTableBuilder
Sets the downgrade function.
Sourcepub const fn borrow_fn(
self,
borrow_fn: for<'ptr> unsafe fn(_: PtrConst<'ptr>) -> PtrConst<'ptr>,
) -> SmartPointerVTableBuilder
pub const fn borrow_fn( self, borrow_fn: for<'ptr> unsafe fn(_: PtrConst<'ptr>) -> PtrConst<'ptr>, ) -> SmartPointerVTableBuilder
Sets the borrow function.
Sourcepub const fn new_into_fn(
self,
new_fn: for<'ptr> unsafe fn(_: PtrUninit<'ptr>, _: PtrConst<'ptr>) -> PtrMut<'ptr>,
) -> SmartPointerVTableBuilder
pub const fn new_into_fn( self, new_fn: for<'ptr> unsafe fn(_: PtrUninit<'ptr>, _: PtrConst<'ptr>) -> PtrMut<'ptr>, ) -> SmartPointerVTableBuilder
Sets the new function.
Sourcepub const fn lock_fn(
self,
lock_fn: for<'ptr> unsafe fn(_: PtrConst<'ptr>) -> Result<LockResult<'ptr>, ()>,
) -> SmartPointerVTableBuilder
pub const fn lock_fn( self, lock_fn: for<'ptr> unsafe fn(_: PtrConst<'ptr>) -> Result<LockResult<'ptr>, ()>, ) -> SmartPointerVTableBuilder
Sets the lock function.
Sourcepub const fn read_fn(
self,
read_fn: for<'ptr> unsafe fn(_: PtrConst<'ptr>) -> Result<LockResult<'ptr>, ()>,
) -> SmartPointerVTableBuilder
pub const fn read_fn( self, read_fn: for<'ptr> unsafe fn(_: PtrConst<'ptr>) -> Result<LockResult<'ptr>, ()>, ) -> SmartPointerVTableBuilder
Sets the read function.
Sourcepub const fn write_fn(
self,
write_fn: for<'ptr> unsafe fn(_: PtrConst<'ptr>) -> Result<LockResult<'ptr>, ()>,
) -> SmartPointerVTableBuilder
pub const fn write_fn( self, write_fn: for<'ptr> unsafe fn(_: PtrConst<'ptr>) -> Result<LockResult<'ptr>, ()>, ) -> SmartPointerVTableBuilder
Sets the write function.
Sourcepub const fn build(self) -> SmartPointerVTable
pub const fn build(self) -> SmartPointerVTable
Builds a SmartPointerVTable from the provided configuration.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SmartPointerVTableBuilder
impl RefUnwindSafe for SmartPointerVTableBuilder
impl Send for SmartPointerVTableBuilder
impl Sync for SmartPointerVTableBuilder
impl Unpin for SmartPointerVTableBuilder
impl UnwindSafe for SmartPointerVTableBuilder
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