[][src]Trait zerogc_context::collector::CollectorPtr

pub unsafe trait CollectorPtr<C: RawCollectorImpl<Ptr = Self>>: Copy + Eq + Sealed + 'static {
    type Weak: Clone + 'static;
    pub unsafe fn from_raw(ptr: *mut C) -> Self;
pub unsafe fn clone_owned(&self) -> Self;
pub fn as_ptr(&self) -> *mut C;
pub unsafe fn drop(self);
pub fn upgrade_weak_raw(weak: &Self::Weak) -> Option<Self>;
pub unsafe fn assume_weak_valid(weak: &Self::Weak) -> Self;
pub unsafe fn create_weak(&self) -> Self::Weak; pub fn upgrade_weak(weak: &Self::Weak) -> Option<CollectorRef<C>> { ... } }

An unchecked pointer to a collector

Associated Types

type Weak: Clone + 'static[src]

A weak reference to the pointer

Loading content...

Required methods

pub unsafe fn from_raw(ptr: *mut C) -> Self[src]

pub unsafe fn clone_owned(&self) -> Self[src]

pub fn as_ptr(&self) -> *mut C[src]

pub unsafe fn drop(self)[src]

pub fn upgrade_weak_raw(weak: &Self::Weak) -> Option<Self>[src]

pub unsafe fn assume_weak_valid(weak: &Self::Weak) -> Self[src]

pub unsafe fn create_weak(&self) -> Self::Weak[src]

Loading content...

Provided methods

pub fn upgrade_weak(weak: &Self::Weak) -> Option<CollectorRef<C>>[src]

Loading content...

Implementations on Foreign Types

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>

impl<C: SingletonCollector<Ptr = Self>> CollectorPtr<C> for PhantomData<&'static C>[src]

type Weak = PhantomData<&'static C>

Loading content...

Implementors

Loading content...