Name

Value arrays — A container structure to maintain an array of generic values.


Library

gobject.lib


Synopsis

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

Detailed 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

GValueArray

typedef struct {
guint n_values;
GValue *values;
} GValueArray;

A GValueArray contains an array of GValue elements.

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

Allocates and initializes a new GValueArray, optionally preserves 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);

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

Frees a GValueArray including its contents.

value_array : GValueArray to free

g_value_array_append ()

GValueArray* g_value_array_append           (GValueArray *value_array, const GValue *value);

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

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

Inserts 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_);

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

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

Sorts 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()

Feedback

For additional information or queries on this page send feedback


©2005-2007 Nokia

Top