pub trait FromGlibPtrNone<P: Ptr>: Sized {
    // Required method
    unsafe fn from_glib_none(ptr: P) -> Self;
}
Expand description

Translate from a pointer type which is annotated with transfer none. The resulting value is referenced at least once, by the bindings.

This is suitable for floating references, which become strong references. It is also suitable for acquiring non-gobject values, like gchar*.

Safety

The implementation of this trait should acquire a reference to the value in a way appropriate to the type, e.g. by increasing the reference count or copying. 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§

source

unsafe fn from_glib_none(ptr: P) -> Self

Safety

See trait level notes on safety

Implementations on Foreign Types§

source§

impl FromGlibPtrNone<*const i8> for String

source§

unsafe fn from_glib_none(ptr: *const c_char) -> Self

source§

impl FromGlibPtrNone<*mut i8> for String

source§

unsafe fn from_glib_none(ptr: *mut c_char) -> Self

source§

impl<P: Ptr, T: FromGlibPtrNone<P>> FromGlibPtrNone<P> for Option<T>

source§

unsafe fn from_glib_none(ptr: P) -> Option<T>

source§

impl FromGlibPtrNone<*mut i8> for PathBuf

source§

unsafe fn from_glib_none(ptr: *mut c_char) -> Self

source§

impl FromGlibPtrNone<*const i8> for PathBuf

source§

unsafe fn from_glib_none(ptr: *const c_char) -> Self

source§

impl FromGlibPtrNone<*mut i8> for OsString

source§

unsafe fn from_glib_none(ptr: *mut c_char) -> Self

source§

impl FromGlibPtrNone<*const i8> for OsString

source§

unsafe fn from_glib_none(ptr: *const c_char) -> Self

Implementors§

source§

impl<T: 'static, MM: BoxedMemoryManager<T>> FromGlibPtrNone<*const T> for Boxed<T, MM>

source§

impl<T: 'static, MM: BoxedMemoryManager<T>> FromGlibPtrNone<*mut T> for Boxed<T, MM>

source§

impl<T: 'static, MM: SharedMemoryManager<T>> FromGlibPtrNone<*const T> for Shared<T, MM>

source§

impl<T: 'static, MM: SharedMemoryManager<T>> FromGlibPtrNone<*mut T> for Shared<T, MM>

impl FromGlibPtrNone<*mut cairo_surface_t> for QuartzSurface

impl FromGlibPtrNone<*mut cairo_surface_t> for RecordingSurface

impl FromGlibPtrNone<*mut cairo_surface_t> for ImageSurface

impl FromGlibPtrNone<*mut cairo_device_t> for Device

impl FromGlibPtrNone<*mut cairo_surface_t> for Win32Surface

impl FromGlibPtrNone<*mut xcb_screen_t> for XCBScreen

impl FromGlibPtrNone<*mut xcb_visualtype_t> for XCBVisualType

impl FromGlibPtrNone<*mut cairo_surface_t> for PdfSurface

impl FromGlibPtrNone<*mut cairo_surface_t> for PsSurface

impl FromGlibPtrNone<*mut cairo_t> for Context

impl FromGlibPtrNone<*mut cairo_surface_t> for SvgSurface

impl FromGlibPtrNone<*mut xcb_render_pictforminfo_t> for XCBRenderPictFormInfo

impl FromGlibPtrNone<*mut cairo_surface_t> for XCBSurface

impl FromGlibPtrNone<*mut cairo_surface_t> for Surface

impl FromGlibPtrNone<*mut xcb_connection_t> for XCBConnection

impl FromGlibPtrNone<*mut *mut _GIOExtensionPoint> for IOExtensionPoint

impl FromGlibPtrNone<*mut *mut _GIOExtension> for IOExtension