The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Varargs Value Collection

Varargs Value Collection — Конвертация varargs в общие значения

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


#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

union GTypeCValue
{
  gint     v_int;
  glong    v_long;
  gint64   v_int64;
  gdouble  v_double;
  gpointer v_pointer;
};

Объединение содержащее одно из накапливаемых значений.


G_VALUE_COLLECT()

#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() распределяя сообщение об ошибке при неудачном выполнении

G_VALUE_LCOPY()

#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() распределяя сообщение об ошибке если выполнение не удалось

G_VALUE_COLLECT_FORMAT_MAX_LENGTH

#define	G_VALUE_COLLECT_FORMAT_MAX_LENGTH	(8)

Максимальное количество GTypeCValue которые могут быть накоплены для единственной GValue.

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

GValueTable




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру