GLib
  • Initial page
  • I. Концепция
    • Background
    • Типы данных и программирование
  • Динамическая система типов Glib
    • Введение
    • Функции копирования
    • Соглашения
    • Неинстанциируемые не классифицированные базовые типы
    • Инстанциируемые классифицируемые типы: объекты
    • Неинстанциированные классифицированные типы: Интерфейсы.
  • Основной класс GObject
    • Введение
    • Инстанциация объекта
    • Объектное управление памятью
    • Свойства объекта
  • Система сообщений GObject
    • Замыкания
    • Сигналы
  • II. Описание API
    • GType
    • GTypePlugin
    • GTypeModule
    • GObject часть 1
    • GObject часть 2
    • Enums and Flags
    • GBoxed
    • Generic Values
    • Parameters and Values часть 1
    • Parameters and Values часть 2
    • Parameters and Values часть 3, ага
    • Value arrays
  • III. Описание инструментов
    • glib-mkenums
    • glib-genmarshal
    • gobject-query
  • IV. Руководство
    • Как определить и реализовать новый GObject?
    • Объектные методы
    • Как определять и реализовывать Интерфейсы?
    • Как создавать и использовать сигналы
    • Как пользователи могут злоупотреблять сигналами (и почему некоторые думают что это хорошо)
  • V. Об инструментах
    • Об инструментах
  • GTK 4
    • GtkApplication и GtkApplicationWindow
    • Widgets
Powered by GitBook
On this page
  • Краткое описание
  • Описание
  • Детали
  • Смотрите также

Was this helpful?

  1. II. Описание API

Value arrays

Контейнерная структура для массива основных значений

Краткое описание


#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

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

количество значений содержащихся в массиве

массив значений

g_value_array_get_nth ()

GValue*             g_value_array_get_nth               (GValueArray *value_array,
                                                         guint index_);

Возвращает указатель на значение index_ содержащееся в value_array.

value_array :

index_ :

номер интересуемого значения

Возвращает :

указатель значения index_ в value_array

g_value_array_new ()

GValueArray*        g_value_array_new                   (guint n_prealloced);

n_prealloced :

количество элементов для предварительного распределения

Возвращает :

g_value_array_copy ()

GValueArray*        g_value_array_copy                  (const GValueArray *value_array);

value_array :

Возвращает :

g_value_array_free ()

void                g_value_array_free                  (GValueArray *value_array);

value_array :

g_value_array_append ()

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

Вставляет копию value как последний элемент value_array.

value_array :

value :

Возвращает :

g_value_array_prepend ()

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

Вставляет копию value как первый элемент value_array.

value_array :

value :

Возвращает :

g_value_array_insert ()

GValueArray*        g_value_array_insert                (GValueArray *value_array,
                                                         guint index_,
                                                         const GValue *value);

Вставляет копию value в определённую позицию value_array.

value_array :

index_ :

позиция вставки, должна быть <= value_array->n_values

value :

Возвращает :

g_value_array_remove ()

GValueArray*        g_value_array_remove                (GValueArray *value_array,
                                                         guint index_);

Удаляет значение в позиции index_ из value_array.

value_array :

index_ :

позиция значения для удаления, должна быть < value_array->n_values

Возвращает :

g_value_array_sort ()

GValueArray*        g_value_array_sort                  (GValueArray *value_array,
                                                         GCompareFunc compare_func);

Текущая реализация использует Quick-Sort как алгоритм сортировки.

value_array :

compare_func :

функция для сравнения элементов

Возвращает :

g_value_array_sort_with_data ()

GValueArray*        g_value_array_sort_with_data        (GValueArray *value_array,
                                                         GCompareDataFunc compare_func,
                                                         gpointer user_data);

Текущая реализация использует Quick-Sort алгоритм сортировки.

value_array :

compare_func :

функция для сравнения элементов

user_data :

дополнительные данные в качестве аргумента для compare_func

Возвращает :

Смотрите также

PreviousParameters and Values часть 3, агаNextglib-mkenums

Last updated 4 years ago

Was this helpful?

Главная цель - использование в качестве свойства объекта которое содержит массив значений. является оболочкой массива элементов чтобы использовать как упаковочный тип через .

содержит массив элементов .

n_values;

*values;

для получения значения

Распределяет и инициализирует новую , опционально резервирует пространство для n_prealloced элементов. Новый массив всегда содержит 0 элементов, независимо от значения n_prealloced.

вновь распределённая с 0 значением

Конструирует существующую копию дублируя всё её содержимое.

для копирования

Вновь распределённая копия

Освобождает включая её содержимое.

для освобождения

в которую добавляется элемент

для копирования в

для размещённой value_array

в которую добавляется элемент

для копирования в

для размещённой value_array

для добавления в неё элемента

для копирования в

для размещённой value_array

из которой удаляется элемент

для value_array

Сортирует value_array используя compare_func для сравнения элементов согласно семантике .

для сортировки

для размещенной value_array

Сортирует value_array используя compare_func для сравнения элементов согласно семантике .

для сортировки

для размещенной value_array

, ,

GValueArray
GValueArray
GValue
G_TYPE_VALUE_ARRAY
GValueArray
GValue
GValueArray
GValueArray
GValueArray
GCompareFunc
GCompareDataFunc
GValue
GParamSpecValueArray
g_param_spec_value_array()
guint
GValue
GValueArray
GValueArray
GValueArray
GValueArray
GValueArray
GValueArray
GValue
GValueArray
GValueArray
GValueArray
GValue
GValueArray
GValueArray
GValueArray
GValue
GValueArray
GValueArray
GValueArray
GValueArray
GValueArray
GValueArray
GValueArray
GValueArray