#[repr(C)]pub struct Object {
pub klass: *mut ObjectClass,
pub free: Option<unsafe extern "C" fn(*mut c_void)>,
pub properties: *mut _GHashTable,
pub ref_: u32,
pub parent: *mut Object,
}Expand description
Object:
The base for all objects. The first member of this object is a pointer to a #ObjectClass. Since C guarantees that the first member of a structure always begins at byte 0 of that structure, as long as any sub-object places its parent as the first member, we can cast directly to a #Object.
As a result, #Object contains a reference to the objects type as its first member. This allows identification of the real type of the object at run time.
Fields
klass: *mut ObjectClassfree: Option<unsafe extern "C" fn(*mut c_void)>properties: *mut _GHashTableref_: u32parent: *mut ObjectTrait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Object
impl !Send for Object
impl !Sync for Object
impl Unpin for Object
impl UnwindSafe for Object
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more