#[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 Freeze for Object
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