GObject Reference Manual | ||||
---|---|---|---|---|
Top | Description |
#include <glib-object.h> #include <gobject/gvaluecollector.h> union GTypeCValue; #define G_VALUE_COLLECT_INIT (value, _value_type, var_args, flags, __error) #define G_VALUE_COLLECT (value, var_args, flags, __error) #define G_VALUE_LCOPY (value, var_args, flags, __error) #define G_VALUE_COLLECT_FORMAT_MAX_LENGTH
The macros in this section provide the varargs parsing support needed
in variadic GObject functions such as g_object_new()
or g_object_set()
.
They currently support the collection of integral types, floating point
types and pointers.
union _GTypeCValue { gint v_int; glong v_long; gint64 v_int64; gdouble v_double; gpointer v_pointer; };
A union holding one collected value.
#define G_VALUE_COLLECT_INIT(value, _value_type, var_args, flags, __error)
Collects a variable argument value from a va_list. We have to implement the varargs collection as a macro, because on some systems va_list variables cannot be passed by reference.
|
a GValue return location. value must contain only 0 bytes. |
|
the GType to use for value . |
|
the va_list variable; it may be evaluated multiple times |
|
flags which are passed on to the collect_value() function of
the GTypeValueTable of value . |
|
a gchar** variable that will be modified to hold a g_new()
allocated error messages if something fails |
Since 2.24
#define G_VALUE_COLLECT(value, var_args, flags, __error)
Collects a variable argument value from a va_list. We have to implement the varargs collection as a macro, because on some systems va_list variables cannot be passed by reference.
Note: If you are creating the value
argument just before calling this macro,
you should use the G_VALUE_COLLECT_INIT variant and pass the unitialized
GValue. That variant is faster than G_VALUE_COLLECT.
|
a GValue return location. value is supposed to be initialized
according to the value type to be collected |
|
the va_list variable; it may be evaluated multiple times |
|
flags which are passed on to the collect_value() function of
the GTypeValueTable of value . |
|
a gchar** variable that will be modified to hold a g_new()
allocated error messages if something fails |
#define G_VALUE_LCOPY(value, var_args, flags, __error)
Collects a value's variable argument locations from a va_list. Usage is
analogous to G_VALUE_COLLECT()
.
|
a GValue return location. value is supposed to be initialized
according to the value type to be collected |
|
the va_list variable; it may be evaluated multiple times |
|
flags which are passed on to the lcopy_value() function of
the GTypeValueTable of value . |
|
a gchar** variable that will be modified to hold a g_new()
allocated error messages if something fails |
#define G_VALUE_COLLECT_FORMAT_MAX_LENGTH (8)
The maximal number of GTypeCValues which can be collected for a single GValue.