<!-- ##### SECTION Title ##### --> Varargs Value Collection <!-- ##### SECTION Short_Description ##### --> Converting varargs to generic values <!-- ##### SECTION Long_Description ##### --> <para> </para> <!-- ##### SECTION See_Also ##### --> <para> </para> <!-- ##### UNION GTypeCValue ##### --> <para> A union holding one collected value. </para> <!-- ##### MACRO G_VALUE_COLLECT ##### --> <para> 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. </para> @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 <!-- ##### MACRO G_VALUE_LCOPY ##### --> <para> Collects a value's variable argument locations from a va_list. </para> @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 <!-- ##### MACRO G_VALUE_COLLECT_FORMAT_MAX_LENGTH ##### --> <para> The maximal number of #GTypeCValue<!-- -->s which can be collected for a single #GValue. </para>