Trait glib::translate::ToGlibPtr
[−]
[src]
pub trait ToGlibPtr<'a, P: Copy> {
type Storage;
fn to_glib_none(&'a self) -> Stash<'a, P, Self>;
fn to_glib_container(&'a self) -> Stash<'a, P, Self> { ... }
fn to_glib_full(&self) -> P { ... }
}Translate to a pointer.
Associated Types
type Storage
Required Methods
fn to_glib_none(&'a self) -> Stash<'a, P, Self>
Transfer: none.
The pointer in the Stash is only valid for the lifetime of the Stash.
Provided Methods
fn to_glib_container(&'a self) -> Stash<'a, P, Self>
Transfer: container.
We transfer the container ownership to the foreign library retaining the elements ownership.
fn to_glib_full(&self) -> P
Transfer: full.
We transfer the ownership to the foreign library.
Implementations on Foreign Types
impl<'a, P: Ptr, T: ToGlibPtr<'a, P>> ToGlibPtr<'a, P> for Option<T>[src]
type Storage = Option<<T as ToGlibPtr<'a, P>>::Storage>
fn to_glib_none(&'a self) -> Stash<'a, P, Option<T>>[src]
fn to_glib_full(&self) -> P[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
impl<'a, P: Ptr, T: ?Sized + ToGlibPtr<'a, P>> ToGlibPtr<'a, P> for &'a T[src]
type Storage = <T as ToGlibPtr<'a, P>>::Storage
fn to_glib_none(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_full(&self) -> P[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
impl<'a> ToGlibPtr<'a, *const c_char> for str[src]
type Storage = CString
fn to_glib_none(&'a self) -> Stash<'a, *const c_char, Self>[src]
fn to_glib_full(&self) -> *const c_char[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
impl<'a> ToGlibPtr<'a, *mut c_char> for str[src]
type Storage = CString
fn to_glib_none(&'a self) -> Stash<'a, *mut c_char, Self>[src]
fn to_glib_full(&self) -> *mut c_char[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
impl<'a> ToGlibPtr<'a, *const c_char> for String[src]
type Storage = CString
fn to_glib_none(&self) -> Stash<'a, *const c_char, String>[src]
fn to_glib_full(&self) -> *const c_char[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
impl<'a> ToGlibPtr<'a, *mut c_char> for String[src]
type Storage = CString
fn to_glib_none(&self) -> Stash<'a, *mut c_char, String>[src]
fn to_glib_full(&self) -> *mut c_char[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
impl<'a> ToGlibPtr<'a, *const c_char> for Path[src]
type Storage = CString
fn to_glib_none(&'a self) -> Stash<'a, *const c_char, Self>[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_full(&self) -> P[src]
impl<'a> ToGlibPtr<'a, *mut c_char> for Path[src]
type Storage = CString
fn to_glib_none(&'a self) -> Stash<'a, *mut c_char, Self>[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_full(&self) -> P[src]
impl<'a> ToGlibPtr<'a, *const c_char> for PathBuf[src]
type Storage = CString
fn to_glib_none(&'a self) -> Stash<'a, *const c_char, Self>[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_full(&self) -> P[src]
impl<'a> ToGlibPtr<'a, *mut c_char> for PathBuf[src]
type Storage = CString
fn to_glib_none(&'a self) -> Stash<'a, *mut c_char, Self>[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_full(&self) -> P[src]
impl<'a, P: Ptr, T: ToGlibContainerFromSlice<'a, P>> ToGlibPtr<'a, P> for [T][src]
type Storage = T::Storage
fn to_glib_none(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_full(&self) -> P[src]
impl<'a> ToGlibPtr<'a, *mut GHashTable> for HashMap<String, String>[src]
type Storage = HashTable
fn to_glib_none(&self) -> Stash<'a, *mut GHashTable, Self>[src]
fn to_glib_full(&self) -> *mut GHashTable[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
impl<'a> ToGlibPtr<'a, *mut GValue> for &'a [&'a ToValue][src]
type Storage = ValueArray
fn to_glib_none(&'a self) -> Stash<'a, *mut GValue, Self>[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_full(&self) -> P[src]
Implementors
impl<'a, T: 'static, MM: BoxedMemoryManager<T>> ToGlibPtr<'a, *const T> for Boxed<T, MM> type Storage = &'a Self;impl<'a, T: 'static, MM> ToGlibPtr<'a, *mut T> for Shared<T, MM> where
MM: SharedMemoryManager<T> + 'static, type Storage = &'a Self;impl<'a> ToGlibPtr<'a, *const GValue> for Value type Storage = &'a Value;