summaryrefslogtreecommitdiff
path: root/docs/reference/gobject/tmpl/value_arrays.sgml
blob: 8b3e08c554915896996305792bce980432985b15 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!-- ##### SECTION Title ##### -->
Value arrays

<!-- ##### SECTION Short_Description ##### -->
A container structure to maintain an array of generic values

<!-- ##### SECTION Long_Description ##### -->
<para>
The prime purpose of a #GValueArray is for it to be used as an object property
that holds an array of values. A #GValueArray wraps an array of #GValue elements
in order for it to be used as a boxed type through %G_TYPE_VALUE_ARRAY.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
#GValue, #GParamSpecValueArray, g_param_spec_value_array()
</para>

<!-- ##### STRUCT GValueArray ##### -->
<para>
A #GValueArray contains an array of #GValue elements.
</para>

@n_values:     number of values contained in the array
@values:       array of values

<!-- ##### FUNCTION g_value_array_get_nth ##### -->
<para>
Return a pointer to the value at @index_ containd in @value_array.
</para>

@value_array: #GValueArray to get a value from
@index_:      index of the value of interest
@Returns:     pointer to a value at @index_ in @value_array


<!-- ##### FUNCTION g_value_array_new ##### -->
<para>
Allocate and initialize a new #GValueArray, optionally preserve space
for @n_prealloced elements. New arrays always contain 0 elements,
regardless of the value of @n_prealloced.
</para>

@n_prealloced: number of values to preallocate space for
@Returns:      a newly allocated #GValueArray with 0 values


<!-- ##### FUNCTION g_value_array_copy ##### -->
<para>
Construct an exact copy of a #GValueArray by duplicating all its
contents.
</para>

@value_array: #GValueArray to copy
@Returns:     Newly allocated copy of #GValueArray


<!-- ##### FUNCTION g_value_array_free ##### -->
<para>
Free a #GValueArray including its contents.
</para>

@value_array: 


<!-- ##### FUNCTION g_value_array_append ##### -->
<para>
Insert a copy of @value as last element of @value_array.
</para>

@value_array: #GValueArray to add an element to
@value:       #GValue to copy into #GValueArray
@Returns:     the #GValueArray passed in as @value_array


<!-- ##### FUNCTION g_value_array_prepend ##### -->
<para>
Insert a copy of @value as first element of @value_array.
</para>

@value_array: #GValueArray to add an element to
@value:       #GValue to copy into #GValueArray
@Returns:     the #GValueArray passed in as @value_array


<!-- ##### FUNCTION g_value_array_insert ##### -->
<para>
Insert a copy of @value at specified position into @value_array.
</para>

@value_array: #GValueArray to add an element to
@index_:      insertion position, must be &lt;= value_array-&gt;n_values
@value:       #GValue to copy into #GValueArray
@Returns:     the #GValueArray passed in as @value_array


<!-- ##### FUNCTION g_value_array_remove ##### -->
<para>
Remove the value at position @index_ from @value_array.
</para>

@value_array: #GValueArray to remove an element from
@index_:      position of value to remove, must be &lt; value_array->n_values
@Returns:     the #GValueArray passed in as @value_array


<!-- ##### FUNCTION g_value_array_sort ##### -->
<para>
Sort @value_array using @compare_func to compare the elements accoring to
the semantics of #GCompareFunc.
</para>

<para>
The current implementation uses Quick-Sort as sorting algorithm.
</para>

@value_array:  #GValueArray to sort
@compare_func: function to compare elements
@Returns:      the #GValueArray passed in as @value_array


<!-- ##### FUNCTION g_value_array_sort_with_data ##### -->
<para>
Sort @value_array using @compare_func to compare the elements accoring
to the semantics of #GCompareDataFunc.
</para>

<para>
The current implementation uses Quick-Sort as sorting algorithm.
</para>

@value_array:   #GValueArray to sort
@compare_func:  function to compare elements
@user_data:     extra data argument provided for @compare_func
@Returns:       the #GValueArray passed in as @value_array