pub unsafe trait ForeignTypeRef: Sized {
    type CType;
    unsafe fn from_ptr<'a>(ptr: *mut Self::CType) -> &'a Self { ... }
unsafe fn from_ptr_mut<'a>(ptr: *mut Self::CType) -> &'a mut Self { ... }
fn as_ptr(&self) -> *mut Self::CType { ... } }
Expand description

A trait implemented by types which reference borrowed foreign types.

Safety

Implementations of ForeignTypeRef must guarantee the following:

  • Self::from_ptr(x).as_ptr() == x
  • Self::from_mut_ptr(x).as_ptr() == x

Associated Types

The raw C type.

Provided methods

Constructs a shared instance of this type from its raw type.

Safety

ptr must be a valid, immutable, instance of the type for the 'a lifetime.

Constructs a mutable reference of this type from its raw type.

Safety

ptr must be a valid, unique, instance of the type for the 'a lifetime.

Returns a raw pointer to the wrapped value.

Implementors