Value arrays

Name

Value arrays -- A GValueArray is a container structure to maintain an array of GValue elements.

Synopsis


#include <gobject.h>


struct      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);

Description

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.

Details

struct GValueArray

struct GValueArray
{
  guint   n_values;
  GValue *values;

  /*< private >*/
  guint   n_prealloced;
};

guint n_values

number of values contained in the array

GValue *values

array of values


g_value_array_get_nth ()

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


g_value_array_new ()

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


g_value_array_copy ()

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


g_value_array_free ()

void        g_value_array_free              (GValueArray *value_array);

Free a GValueArray including its contents.

value_array :


g_value_array_append ()

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


g_value_array_prepend ()

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


g_value_array_insert ()

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


g_value_array_remove ()

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


g_value_array_sort ()

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


g_value_array_sort_with_data ()

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

See Also

GValue, GParamSpecValueArray, g_param_spec_value_array()