#[repr(transparent)]pub struct Boxed<T: 'static, MM: BoxedMemoryManager<Target = T>> {
inner: NonNull<T>,
_dummy: PhantomData<*mut MM>,
}
Expand description
Encapsulates memory management logic for boxed types.
Fields§
§inner: NonNull<T>
§_dummy: PhantomData<*mut MM>
Trait Implementations§
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> Clone for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> Clone for Boxed<T, MM>
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> Debug for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> Debug for Boxed<T, MM>
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> Deref for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> Deref for Boxed<T, MM>
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> DerefMut for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> DerefMut for Boxed<T, MM>
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> Drop for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> Drop for Boxed<T, MM>
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrBorrow<*mut T> for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrBorrow<*mut T> for Boxed<T, MM>
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrFull<*const T> for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrFull<*const T> for Boxed<T, MM>
source§unsafe fn from_glib_full(ptr: *const T) -> Self
unsafe fn from_glib_full(ptr: *const T) -> Self
Safety Read more
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrFull<*mut T> for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrFull<*mut T> for Boxed<T, MM>
source§unsafe fn from_glib_full(ptr: *mut T) -> Self
unsafe fn from_glib_full(ptr: *mut T) -> Self
Safety Read more
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrNone<*const T> for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrNone<*const T> for Boxed<T, MM>
source§unsafe fn from_glib_none(ptr: *const T) -> Self
unsafe fn from_glib_none(ptr: *const T) -> Self
Safety Read more
source§impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrNone<*mut T> for Boxed<T, MM>
impl<T: 'static, MM: BoxedMemoryManager<Target = T>> FromGlibPtrNone<*mut T> for Boxed<T, MM>
source§unsafe fn from_glib_none(ptr: *mut T) -> Self
unsafe fn from_glib_none(ptr: *mut T) -> Self
Safety Read more
source§impl<T, MM: BoxedMemoryManager<Target = T>> Hash for Boxed<T, MM>
impl<T, MM: BoxedMemoryManager<Target = T>> Hash for Boxed<T, MM>
source§impl<T, MM: BoxedMemoryManager<Target = T>> Ord for Boxed<T, MM>
impl<T, MM: BoxedMemoryManager<Target = T>> Ord for Boxed<T, MM>
source§impl<T, MM: BoxedMemoryManager<Target = T>> PartialEq for Boxed<T, MM>
impl<T, MM: BoxedMemoryManager<Target = T>> PartialEq for Boxed<T, MM>
source§impl<T, MM: BoxedMemoryManager<Target = T>> PartialOrd for Boxed<T, MM>
impl<T, MM: BoxedMemoryManager<Target = T>> PartialOrd for Boxed<T, MM>
source§impl<'a, T: 'static, MM: BoxedMemoryManager<Target = T>> ToGlibPtr<'a, *const T> for Boxed<T, MM>
impl<'a, T: 'static, MM: BoxedMemoryManager<Target = T>> ToGlibPtr<'a, *const T> for Boxed<T, MM>
source§impl<'a, T: 'static, MM: BoxedMemoryManager<Target = T>> ToGlibPtrMut<'a, *mut T> for Boxed<T, MM>
impl<'a, T: 'static, MM: BoxedMemoryManager<Target = T>> ToGlibPtrMut<'a, *mut T> for Boxed<T, MM>
impl<T, MM: BoxedMemoryManager<Target = T>> Eq for Boxed<T, MM>
Auto Trait Implementations§
impl<T, MM> Freeze for Boxed<T, MM>
impl<T, MM> RefUnwindSafe for Boxed<T, MM>where
T: RefUnwindSafe,
MM: RefUnwindSafe,
impl<T, MM> !Send for Boxed<T, MM>
impl<T, MM> !Sync for Boxed<T, MM>
impl<T, MM> Unpin for Boxed<T, MM>
impl<T, MM> UnwindSafe for Boxed<T, MM>where
T: RefUnwindSafe,
MM: RefUnwindSafe,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)