Copies the value of src_value
into dest_value
.
An initialized #GValue structure of the same type as src_value
.
Get a copy the contents of a %G_TYPE_STRING #GValue.
Determines if value
will fit inside the size of a pointer value.
This is an internal function introduced mainly for C marshallers.
Get the contents of a %G_TYPE_BOOLEAN #GValue.
Get the contents of a %G_TYPE_BOXED derived #GValue.
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().
Get the contents of a %G_TYPE_CHAR #GValue.
Get the contents of a %G_TYPE_DOUBLE #GValue.
Get the contents of a %G_TYPE_ENUM #GValue.
Get the contents of a %G_TYPE_FLAGS #GValue.
Get the contents of a %G_TYPE_FLOAT #GValue.
Get the contents of a %G_TYPE_GTYPE #GValue.
Get the contents of a %G_TYPE_INT #GValue.
Get the contents of a %G_TYPE_INT64 #GValue.
Get the contents of a %G_TYPE_LONG #GValue.
Get the contents of a %G_TYPE_PARAM #GValue.
Get the contents of a pointer #GValue.
Get the contents of a %G_TYPE_CHAR #GValue.
Get the contents of a %G_TYPE_STRING #GValue.
Get the contents of a %G_TYPE_UCHAR #GValue.
Get the contents of a %G_TYPE_UINT #GValue.
Get the contents of a %G_TYPE_UINT64 #GValue.
Get the contents of a %G_TYPE_ULONG #GValue.
Initializes value
with the default value of type
.
Type the #GValue should hold values of.
Initializes and sets value
from an instantiatable type via the
value_table's collect_value() function.
Note: The value
will be initialised with the exact type of
instance
. If you wish to set the value'
s type to a different GType
(such as a parent class GType), you need to manually call
g_value_init() and g_value_set_instance().
the instance
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.
Clears the current value in value
and resets it to the default value
(as if the value had just been initialized).
Set the contents of a %G_TYPE_BOOLEAN #GValue to v_boolean
.
boolean value to be set
Set the contents of a %G_TYPE_BOXED derived #GValue to v_boxed
.
boxed value to be set
This is an internal function introduced mainly for C marshallers.
duplicated unowned boxed value to be set
Set the contents of a %G_TYPE_CHAR #GValue to v_char
.
character value to be set
Set the contents of a %G_TYPE_DOUBLE #GValue to v_double
.
double value to be set
Set the contents of a %G_TYPE_ENUM #GValue to v_enum
.
enum value to be set
Set the contents of a %G_TYPE_FLAGS #GValue to v_flags
.
flags value to be set
Set the contents of a %G_TYPE_FLOAT #GValue to v_float
.
float value to be set
Set the contents of a %G_TYPE_GTYPE #GValue to v_gtype
.
#GType to be set
Sets value
from an instantiatable type via the
value_table's collect_value() function.
the instance
Set the contents of a %G_TYPE_INT #GValue to v_int
.
integer value to be set
Set the contents of a %G_TYPE_INT64 #GValue to v_int6
4.
64bit integer value to be set
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.
static string to be set
Set the contents of a %G_TYPE_LONG #GValue to v_long
.
long integer value to be set
Set the contents of a %G_TYPE_OBJECT derived #GValue to v_object
.
g_value_set_object() increases the reference count of v_object
(the #GValue holds a reference to v_object)
. If you do not wish
to increase the reference count of the object (i.e. you wish to
pass your current reference to the #GValue because you no longer
need it), use g_value_take_object() instead.
It is important that your #GValue holds a reference to v_object
(either its
own, or one it has taken) to ensure that the object won't be destroyed while
the #GValue still exists).
Set the contents of a %G_TYPE_PARAM #GValue to param
.
the #GParamSpec to be set
Set the contents of a pointer #GValue to v_pointer
.
pointer value to be set
Set the contents of a %G_TYPE_CHAR #GValue to v_char
.
signed 8 bit integer to be set
Set the contents of a %G_TYPE_BOXED derived #GValue to v_boxed
.
The boxed value is assumed to be static, and is thus not duplicated when setting the #GValue.
static boxed value to be set
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.
If the the string is a canonical string, using g_value_set_interned_string() is more appropriate.
static string to be set
Set the contents of a %G_TYPE_STRING #GValue to a copy of v_string
.
caller-owned string to be duplicated for the #GValue
This is an internal function introduced mainly for C marshallers.
duplicated unowned string to be set
Set the contents of a %G_TYPE_UCHAR #GValue to v_uchar
.
unsigned character value to be set
Set the contents of a %G_TYPE_UINT #GValue to v_uint
.
unsigned integer value to be set
Set the contents of a %G_TYPE_UINT64 #GValue to v_uint6
4.
unsigned 64bit integer value to be set
Set the contents of a %G_TYPE_ULONG #GValue to v_ulong
.
unsigned long integer value to be set
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.
duplicated unowned boxed value to be set
Sets the contents of a %G_TYPE_STRING #GValue to v_string
.
string to take ownership of
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).
If variant
was floating then its floating reference is converted to
a hard reference.
If you want the #GValue to hold its own reference to variant,
use
g_value_set_variant() instead.
This is an internal function introduced mainly for C marshallers.
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).
Target value.
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.
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.
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 theg_type
member should only be accessed through the G_VALUE_TYPE() macro.