#[repr(C)]pub struct Object {
pub klass: *mut ObjectClass,
pub free: ObjectFree,
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 ObjectClass
§free: ObjectFree
§properties: *mut GHashTable
§ref_: u32
§parent: *mut Object
Trait 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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more