summaryrefslogtreecommitdiff
path: root/docs/reference/gobject/tmpl/value_collection.sgml
blob: 18cbf503fd9ca4c3e47825c858c73781b996d29c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!-- ##### SECTION Title ##### -->
Varargs Value Collection

<!-- ##### SECTION Short_Description ##### -->
Converting varargs to generic values

<!-- ##### SECTION Long_Description ##### -->
<para>
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.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
#GValueTable
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### 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>