pub unsafe trait InstanceStruct: Sized + 'static {
    type Type: ObjectSubclass;

    fn imp(&self) -> &Self::Type { ... }
    fn class(&self) -> &<Self::Type as ObjectSubclass>::Class { ... }
    fn instance_init(&mut self) { ... }
}
Expand description

Trait implemented by structs that implement a GObject C instance struct.

The struct must be #[repr(C)] and have the parent type’s instance struct as the first field.

See basic::InstanceStruct for a basic implementation of this that can be used most of the time and should only not be used if additional fields are required in the instance struct.

Required Associated Types

Corresponding object subclass type for this instance struct.

Provided Methods

Returns the implementation for from this instance struct, that is the implementor of ObjectImpl or subtraits.

Returns the class struct for this specific instance.

Instance specific initialization.

This is automatically called during instance initialization and must call instance_init() of the parent class.

Implementors