| <!-- ##### 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> |
| |
| <!-- ##### SECTION Stability_Level ##### --> |
| |
| |
| <!-- ##### 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 <= value_array->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 < 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 |
| |
| |