Trait zerogc_context::collector::CollectorPtr [−][src]
pub unsafe trait CollectorPtr<C: RawCollectorImpl<Ptr = Self>>: Copy + Eq + Sealed + 'static { type Weak: Clone + 'static; unsafe fn from_raw(ptr: *mut C) -> Self; unsafe fn clone_owned(&self) -> Self; fn as_ptr(&self) -> *mut C; unsafe fn drop(self); fn upgrade_weak_raw(weak: &Self::Weak) -> Option<Self>; unsafe fn assume_weak_valid(weak: &Self::Weak) -> Self; unsafe fn create_weak(&self) -> Self::Weak; fn upgrade_weak(weak: &Self::Weak) -> Option<CollectorRef<C>> { ... } }
Expand description
An unchecked pointer to a collector
Associated Types
Required methods
unsafe fn from_raw(ptr: *mut C) -> Self
[src]
unsafe fn clone_owned(&self) -> Self
[src]
fn as_ptr(&self) -> *mut C
[src]
unsafe fn drop(self)
[src]
fn upgrade_weak_raw(weak: &Self::Weak) -> Option<Self>
[src]
unsafe fn assume_weak_valid(weak: &Self::Weak) -> Self
[src]
unsafe fn create_weak(&self) -> Self::Weak
[src]
Provided methods
fn upgrade_weak(weak: &Self::Weak) -> Option<CollectorRef<C>>
[src]
Implementations on Foreign Types
impl<C: RawCollectorImpl<Ptr = Self>> CollectorPtr<C> for NonNull<C>
[src]
impl<C: RawCollectorImpl<Ptr = Self>> CollectorPtr<C> for NonNull<C>
[src]This is implemented as a raw pointer via Arc::into_raw
type Weak = Weak<C>
unsafe fn from_raw(ptr: *mut C) -> Self
[src]
unsafe fn clone_owned(&self) -> Self
[src]
fn as_ptr(&self) -> *mut C
[src]
unsafe fn drop(self)
[src]
fn upgrade_weak_raw(weak: &Self::Weak) -> Option<Self>
[src]
unsafe fn assume_weak_valid(weak: &Self::Weak) -> Self
[src]
unsafe fn create_weak(&self) -> Self::Weak
[src]
impl<C: SingletonCollector<Ptr = Self>> CollectorPtr<C> for PhantomData<&'static C>
[src]
impl<C: SingletonCollector<Ptr = Self>> CollectorPtr<C> for PhantomData<&'static C>
[src]