Справочное описание GObject | ||||
---|---|---|---|---|
#include <glib-object.h>
#include <gobject/gvaluecollector.h>
union GTypeCValue;
#define G_VALUE_COLLECT (value, var_args, flags, __error)
#define G_VALUE_LCOPY (value, var_args, flags, __error)
#define G_VALUE_COLLECT_FORMAT_MAX_LENGTH
Макросы в этом разделе обеспечивают анализ varargs необходимый в функциях с переменным количеством аргументов (variadic) GObject
таких как g_object_new()
или
g_object_set()
.
Они в настоящее время поддерживают накопление целочисленных типов, типов с плавающей запятой и указателей.
union GTypeCValue
{
gint v_int;
glong v_long;
gint64 v_int64;
gdouble v_double;
gpointer v_pointer;
};
Объединение содержащее одно из накапливаемых значений.
#define G_VALUE_COLLECT(value, var_args, flags, __error)
Накапливает значения переменных аргументов из va_list. Мы должны реализовать varargs накопление как макрос, потому что в некоторых системах переменные va_list нельзя помещать с помощью ссылки.
value : |
расположение возвращаемой GValue.
value должно быть инициализировано согласно накапливаемым типовым значениям
|
var_args : |
переменная va_list; может вычисляться многократно |
flags : |
флаги которые помещаются в функцию collect_value() таблицы
GTypeValueTable
принадлежащей к value .
|
__error : |
gchar** переменная которая
модифицируется для содержания g_new()
распределяя сообщение об ошибке при неудачном выполнении
|
#define G_VALUE_LCOPY(value, var_args, flags, __error)
Накапливает значения переменных аргументов из va_list.
value : |
расположение возвращаемой GValue.
value должно быть инициализировано согласно накапливаемым значениям типа
|
var_args : |
переменная va_list; может вычисляться многократно |
flags : |
флаги которые помещаются в функцию lcopy_value() таблицы
GTypeValueTable
принадлежащей к value .
|
__error : |
gchar** переменные которые модифицируются
для помещения g_new()
распределяя сообщение об ошибке если выполнение не удалось
|
#define G_VALUE_COLLECT_FORMAT_MAX_LENGTH (8)
Максимальное количество GTypeCValue которые могут быть накоплены для единственной GValue.