[][src]Trait glib::translate::FromGlibPtrFull

pub trait FromGlibPtrFull<P: Ptr>: Sized {
    unsafe fn from_glib_full(ptr: P) -> Self;

Translate from a pointer type which is annotated with transfer full. This transfers the ownership of the value to the Rust side.

Because ownership can only be transferred if something is already referenced, this is unsuitable for floating references.


The implementation of this trait should not alter the reference count or make copies of the underlying value. Values obtained using this trait must be properly released on drop() by the implementing type.

For more information, refer to module level documentation.

Required methods

unsafe fn from_glib_full(ptr: P) -> Self


See trait level notes on safety

Loading content...

Implementations on Foreign Types

impl<P: Ptr, T: FromGlibPtrFull<P>> FromGlibPtrFull<P> for Option<T>[src]

impl FromGlibPtrFull<*const i8> for String[src]

impl FromGlibPtrFull<*mut i8> for String[src]

impl FromGlibPtrFull<*const i8> for PathBuf[src]

impl FromGlibPtrFull<*mut i8> for PathBuf[src]

impl FromGlibPtrFull<*const i8> for OsString[src]

impl FromGlibPtrFull<*mut i8> for OsString[src]

Loading content...


impl FromGlibPtrFull<*mut GValue> for SendValue[src]

impl FromGlibPtrFull<*mut GValue> for Value[src]

impl<T: 'static, MM: BoxedMemoryManager<T>> FromGlibPtrFull<*const T> for Boxed<T, MM>[src]

impl<T: 'static, MM: BoxedMemoryManager<T>> FromGlibPtrFull<*mut T> for Boxed<T, MM>[src]

impl<T: 'static, MM: SharedMemoryManager<T>> FromGlibPtrFull<*mut T> for Shared<T, MM>[src]

Loading content...