Детали
GValueArray
typedef struct {
guint n_values;
GValue *values;
} GValueArray;
GValueArray содержит массив элементов
GValue.
guint
n_values; |
количество значений содержащихся в массиве
|
GValue
*values; |
массив значений
|
g_value_array_get_nth ()
GValue* g_value_array_get_nth (GValueArray *value_array,
guint index_);
Возвращает указатель на значение index_ содержащееся в
value_array.
value_array : |
GValueArray для получения значения
|
index_ : |
номер интересуемого значения
|
| Возвращает : |
указатель значения index_ в value_array
|
g_value_array_new ()
GValueArray* g_value_array_new (guint n_prealloced);
Распределяет и инициализирует новую GValueArray,
опционально резервирует пространство для n_prealloced элементов.
Новый массив всегда содержит 0 элементов,
независимо от значения n_prealloced.
n_prealloced : |
количество элементов для предварительного распределения
|
| Возвращает : |
вновь распределённая GValueArray с 0 значением
|
g_value_array_free ()
void g_value_array_free (GValueArray *value_array);
Освобождает GValueArray включая её содержимое.
g_value_array_append ()
GValueArray* g_value_array_append (GValueArray *value_array,
const GValue *value);
Вставляет копию value как последний элемент value_array.
g_value_array_prepend ()
GValueArray* g_value_array_prepend (GValueArray *value_array,
const GValue *value);
Вставляет копию value как первый элемент value_array.
g_value_array_insert ()
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
|
g_value_array_remove ()
GValueArray* g_value_array_remove (GValueArray *value_array,
guint index_);
Удаляет значение в позиции index_ из value_array.
value_array : |
GValueArray из которой удаляется элемент
|
index_ : |
позиция значения для удаления, должна быть < value_array->n_values
|
| Возвращает : |
GValueArray для
value_array
|
g_value_array_sort ()
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
|
g_value_array_sort_with_data ()
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
|