Справочное описание GObject | ||||
---|---|---|---|---|
#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);
Главная цель GValueArray - использование в качестве свойства
объекта которое содержит массив значений.
GValueArray является оболочкой массива элементов
GValue чтобы использовать как упаковочный тип через
G_TYPE_VALUE_ARRAY
.
typedef struct {
guint n_values;
GValue *values;
} GValueArray;
GValueArray содержит массив элементов GValue.
GValue* g_value_array_get_nth (GValueArray *value_array,
guint index_);
Возвращает указатель на значение index_
содержащееся в
value_array
.
value_array : |
GValueArray для получения значения |
index_ : |
номер интересуемого значения |
Возвращает : | указатель значения index_ в value_array
|
GValueArray* g_value_array_new (guint n_prealloced);
Распределяет и инициализирует новую GValueArray,
опционально резервирует пространство для n_prealloced
элементов.
Новый массив всегда содержит 0 элементов,
независимо от значения n_prealloced
.
n_prealloced : |
количество элементов для предварительного распределения |
Возвращает : | вновь распределённая GValueArray с 0 значением |
GValueArray* g_value_array_copy (const GValueArray *value_array);
Конструирует существующую копию GValueArray дублируя всё её содержимое.
value_array : |
GValueArray для копирования |
Возвращает : | Вновь распределённая копия GValueArray |
void g_value_array_free (GValueArray *value_array);
Освобождает GValueArray включая её содержимое.
value_array : |
GValueArray для освобождения |
GValueArray* g_value_array_append (GValueArray *value_array,
const GValue *value);
Вставляет копию value
как последний элемент value_array
.
value_array : |
GValueArray в которую добавляется элемент |
value : |
GValue для копирования в GValueArray |
Возвращает : | GValueArray для размещённой
value_array
|
GValueArray* g_value_array_prepend (GValueArray *value_array,
const GValue *value);
Вставляет копию value
как первый элемент value_array
.
value_array : |
GValueArray в которую добавляется элемент |
value : |
GValue для копирования в GValueArray |
Возвращает : | GValueArray для размещённой
value_array
|
GValueArray* g_value_array_insert (GValueArray *value_array,
guint index_,
const GValue *value);
Вставляет копию value
в определённую позицию value_array
.
value_array : |
GValueArray для добавления в неё элемента |
index_ : |
позиция вставки, должна быть <= value_array->n_values |
value : |
GValue для копирования в GValueArray |
Возвращает : | GValueArray для размещённой
value_array
|
GValueArray* g_value_array_remove (GValueArray *value_array,
guint index_);
Удаляет значение в позиции index_
из value_array
.
value_array : |
GValueArray из которой удаляется элемент |
index_ : |
позиция значения для удаления, должна быть < value_array->n_values |
Возвращает : | GValueArray для
value_array
|
GValueArray* g_value_array_sort (GValueArray *value_array,
GCompareFunc compare_func);
Сортирует value_array
используя compare_func
для сравнения элементов согласно семантике GCompareFunc.
Текущая реализация использует Quick-Sort как алгоритм сортировки.
value_array : |
GValueArray для сортировки |
compare_func : |
функция для сравнения элементов |
Возвращает : | GValueArray для размещенной
value_array
|
GValueArray* g_value_array_sort_with_data (GValueArray *value_array,
GCompareDataFunc compare_func,
gpointer user_data);
Сортирует value_array
используя compare_func
для сравнения элементов согласно семантике GCompareDataFunc.
Текущая реализация использует Quick-Sort алгоритм сортировки.
value_array : |
GValueArray для сортировки |
compare_func : |
функция для сравнения элементов |
user_data : |
дополнительные данные в качестве аргумента для compare_func
|
Возвращает : | GValueArray для размещенной
value_array
|