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
data
No 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.