| GObject Reference Manual | ||||
|---|---|---|---|---|
#include <glib-object.h> #include <gobject/gvaluecollector.h> union GTypeCValue; #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(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.
value : | 
a GValue return location. value is supposed to be initialized 
  according to the value type to be collected
 | 
var_args : | 
the va_list variable; it may be evaluated multiple times | 
flags : | 
flags which are passed on to the collect_value() function of
  the GTypeValueTable of value.
 | 
__error : | 
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.
value : | 
a GValue return location. value is supposed to be initialized 
  according to the value type to be collected
 | 
var_args : | 
the va_list variable; it may be evaluated multiple times | 
flags : | 
flags which are passed on to the lcopy_value() function of
  the GTypeValueTable of value.
 | 
__error : | 
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.