Struct _GTypeInfo

Source
#[repr(C)]
pub struct _GTypeInfo { pub class_size: guint16, pub base_init: GBaseInitFunc, pub base_finalize: GBaseFinalizeFunc, pub class_init: GClassInitFunc, pub class_finalize: GClassFinalizeFunc, pub class_data: gconstpointer, pub instance_size: guint16, pub n_preallocs: guint16, pub instance_init: GInstanceInitFunc, pub value_table: *const GTypeValueTable, }
Expand description

GTypeInfo: @class_size: Size of the class structure (required for interface, classed and instantiatable types) @base_init: Location of the base initialization function (optional) @base_finalize: Location of the base finalization function (optional) @class_init: Location of the class initialization function for classed and instantiatable types. Location of the default vtable inititalization function for interface types. (optional) This function is used both to fill in virtual functions in the class or default vtable, and to do type-specific setup such as registering signals and object properties. @class_finalize: Location of the class finalization function for classed and instantiatable types. Location of the default vtable finalization function for interface types. (optional) @class_data: User-supplied data passed to the class init/finalize functions @instance_size: Size of the instance (object) structure (required for instantiatable types only) @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10 this field is ignored. @instance_init: Location of the instance initialization function (optional, for instantiatable types only) @value_table: A #GTypeValueTable function table for generic handling of GValues of this type (usually only useful for fundamental types)

This structure is used to provide the type system with the information required to initialize and destruct (finalize) a type’s class and its instances.

The initialized structure is passed to the g_type_register_static() function (or is copied into the provided #GTypeInfo structure in the g_type_plugin_complete_type_info()). The type system will perform a deep copy of this structure, so its memory does not need to be persistent across invocation of g_type_register_static().

Fields§

§class_size: guint16§base_init: GBaseInitFunc§base_finalize: GBaseFinalizeFunc§class_init: GClassInitFunc§class_finalize: GClassFinalizeFunc§class_data: gconstpointer§instance_size: guint16§n_preallocs: guint16§instance_init: GInstanceInitFunc§value_table: *const GTypeValueTable

Trait Implementations§

Source§

impl Clone for _GTypeInfo

Source§

fn clone(&self) -> _GTypeInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for _GTypeInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for _GTypeInfo

Source§

fn eq(&self, other: &_GTypeInfo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for _GTypeInfo

Source§

impl Eq for _GTypeInfo

Source§

impl StructuralPartialEq for _GTypeInfo

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.