Struct
GObjectValue
Description [src]
struct GValue {
None data;
}
An opaque structure used to hold different types of values.
The data within the structure has protected scope: it is accessible only
to functions within a GTypeValueTable structure, or implementations of
the g_value_*() API. That is, code portions which implement new fundamental types.
GValue users cannot make any assumptions about how data is stored
within the 2 element data union, and the g_type member should
only be accessed through the G_VALUE_TYPE() macro.
Structure members
dataNo description available.
Functions
g_value_register_transform_func
Registers a value transformation function for use in g_value_transform().
A previously registered transformation function for src_type and dest_type
will be replaced.
g_value_type_compatible
Returns whether a GValue of type src_type can be copied into
a GValue of type dest_type.
g_value_type_transformable
Check whether g_value_transform() is able to transform values
of type src_type into values of type dest_type. Note that for
the types to be transformable, they must be compatible or a
transformation function must be registered.
Instance methods
g_value_dup_boxed
Get the contents of a G_TYPE_BOXED derived GValue. Upon getting,
the boxed value is duplicated and needs to be later freed with
g_boxed_free(), e.g. like: g_boxed_free (G_VALUE_TYPE (value), return_value);.
g_value_dup_object
Get the contents of a G_TYPE_OBJECT derived GValue, increasing
its reference count. If the contents of the GValue are NULL, then
NULL will be returned.
g_value_dup_variant
Get the contents of a variant GValue, increasing its refcount. The returned
GVariant is never floating.
since: 2.26
g_value_fits_pointer
Determines if value will fit inside the size of a pointer value.
This is an internal function introduced mainly for C marshallers.
g_value_get_char
Do not use this function; it is broken on platforms where the %char type is unsigned, such as ARM and PowerPC. See g_value_get_schar().
deprecated: 2.32
g_value_init_from_instance
Initializes and sets value from an instantiatable type via the
value_table’s collect_value() function.
since: 2.42
g_value_peek_pointer
Returns the value contents as pointer. This function asserts that
g_value_fits_pointer() returned TRUE for the passed in value.
This is an internal function introduced mainly for C marshallers.
g_value_reset
Clears the current value in value and resets it to the default value
(as if the value had just been initialized).
g_value_set_boxed_take_ownership
This is an internal function introduced mainly for C marshallers.
deprecated: 2.4
g_value_set_instance
Sets value from an instantiatable type via the
value_table’s collect_value() function.
g_value_set_interned_string
Set the contents of a G_TYPE_STRING GValue to v_string. The string is
assumed to be static and interned (canonical, for example from
g_intern_string()), and is thus not duplicated when setting the GValue.
since: 2.66
g_value_set_object_take_ownership
This is an internal function introduced mainly for C marshallers.
deprecated: 2.4
g_value_set_param_take_ownership
This is an internal function introduced mainly for C marshallers.
deprecated: 2.4
g_value_set_static_string
Set the contents of a G_TYPE_STRING GValue to v_string.
The string is assumed to be static, and is thus not duplicated
when setting the GValue.
g_value_set_string_take_ownership
This is an internal function introduced mainly for C marshallers.
deprecated: 2.4
g_value_set_variant
Set the contents of a variant GValue to variant.
If the variant is floating, it is consumed.
since: 2.26
g_value_steal_string
Steal ownership on contents of a G_TYPE_STRING GValue.
As a result of this operation the value’s contents will be reset to NULL.
since: 2.80
g_value_take_boxed
Sets the contents of a G_TYPE_BOXED derived GValue to v_boxed
and takes over the ownership of the caller’s reference to v_boxed;
the caller doesn’t have to unref it any more.
since: 2.4
g_value_take_object
Sets the contents of a G_TYPE_OBJECT derived GValue to v_object
and takes over the ownership of the caller’s reference to v_object;
the caller doesn’t have to unref it any more (i.e. the reference
count of the object is not increased).
since: 2.4
g_value_take_param
Sets the contents of a G_TYPE_PARAM GValue to param and takes
over the ownership of the caller’s reference to param; the caller
doesn’t have to unref it any more.
since: 2.4
g_value_take_variant
Set the contents of a variant GValue to variant, and takes over
the ownership of the caller’s reference to variant;
the caller doesn’t have to unref it any more (i.e. the reference
count of the variant is not increased).
since: 2.26
g_value_transform
Tries to cast the contents of src_value into a type appropriate
to store in dest_value, e.g. to transform a G_TYPE_INT value
into a G_TYPE_FLOAT value. Performing transformations between
value types might incur precision lossage. Especially
transformations into strings might reveal seemingly arbitrary
results and shouldn’t be relied upon for production code (such
as rcfile value or object property serialization).
g_value_unset
Clears the current value in value (if any) and “unsets” the type,
this releases all resources associated with this GValue. An unset
value is the same as an uninitialized (zero-filled) GValue
structure.