| GObject Reference Manual | ||||
|---|---|---|---|---|
#include <glib-object.h>
            GValueArray;
GValue*     g_value_array_get_nth           (GValueArray *value_array,
                                             guint index_);
GValueArray* g_value_array_new              (guint n_prealloced);
GValueArray* g_value_array_copy             (const GValueArray *value_array);
void        g_value_array_free              (GValueArray *value_array);
GValueArray* g_value_array_append           (GValueArray *value_array,
                                             const GValue *value);
GValueArray* g_value_array_prepend          (GValueArray *value_array,
                                             const GValue *value);
GValueArray* g_value_array_insert           (GValueArray *value_array,
                                             guint index_,
                                             const GValue *value);
GValueArray* g_value_array_remove           (GValueArray *value_array,
                                             guint index_);
GValueArray* g_value_array_sort             (GValueArray *value_array,
                                             GCompareFunc compare_func);
GValueArray* g_value_array_sort_with_data   (GValueArray *value_array,
                                             GCompareDataFunc compare_func,
                                             gpointer user_data);
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.
typedef struct {
  guint   n_values;
  GValue *values;
} GValueArray;
A GValueArray contains an array of GValue elements.
GValue* g_value_array_get_nth (GValueArray *value_array, guint index_);
Return a pointer to the value at index_ containd in value_array.
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
 | 
GValueArray* g_value_array_new (guint n_prealloced);
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.
n_prealloced : | 
number of values to preallocate space for | 
| Returns : | a newly allocated GValueArray with 0 values | 
GValueArray* g_value_array_copy (const GValueArray *value_array);
Construct an exact copy of a GValueArray by duplicating all its contents.
value_array : | 
GValueArray to copy | 
| Returns : | Newly allocated copy of GValueArray | 
void g_value_array_free (GValueArray *value_array);
Free a GValueArray including its contents.
value_array : | 
GValueArray to free | 
GValueArray* g_value_array_append (GValueArray *value_array, const GValue *value);
Insert a copy of value as last element of value_array.
value_array : | 
GValueArray to add an element to | 
value : | 
GValue to copy into GValueArray | 
| Returns : |     the GValueArray passed in as value_array
 | 
GValueArray* g_value_array_prepend (GValueArray *value_array, const GValue *value);
Insert a copy of value as first element of value_array.
value_array : | 
GValueArray to add an element to | 
value : | 
GValue to copy into GValueArray | 
| Returns : |     the GValueArray passed in as value_array
 | 
GValueArray* g_value_array_insert (GValueArray *value_array, guint index_, const GValue *value);
Insert a copy of value at specified position into value_array.
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
 | 
GValueArray* g_value_array_remove (GValueArray *value_array, guint index_);
Remove the value at position index_ from value_array.
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
 | 
GValueArray* g_value_array_sort (GValueArray *value_array, GCompareFunc compare_func);
Sort value_array using compare_func to compare the elements accoring to
the semantics of GCompareFunc.
The current implementation uses Quick-Sort as sorting algorithm.
value_array : | 
GValueArray to sort | 
compare_func : | 
function to compare elements | 
| Returns : |      the GValueArray passed in as value_array
 | 
GValueArray* g_value_array_sort_with_data (GValueArray *value_array, GCompareDataFunc compare_func, gpointer user_data);
Sort value_array using compare_func to compare the elements accoring
to the semantics of GCompareDataFunc.
The current implementation uses Quick-Sort as sorting algorithm.
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
 |