结构
GObjectTypeValueTable
描述 [src]
struct GTypeValueTable {
GTypeValueInitFunc value_init;
GTypeValueFreeFunc value_free;
GTypeValueCopyFunc value_copy;
GTypeValuePeekPointerFunc value_peek_pointer;
const gchar* collect_format;
GTypeValueCollectFunc collect_value;
const gchar* lcopy_format;
GTypeValueLCopyFunc lcopy_value;
}
GTypeValueTable
为 GValue
实现提供所需的功能,作为类型的容器来保存值。
结构成员
value_init
初始化
GValue
的函数。value_free
释放
GValue
的函数。value_copy
复制
GValue
的函数。value_peek_pointer
如果 GValue 的内容适合指针,则窥视内容的函数。
collect_format
一个字符串格式,描述如何逐步收集此值的内容。格式中的每个字符表示要收集的参数,且字符本身表明参数的类型。目前支持的参数有:-
'i'
:整数,以collect_values[].v_int
传递 -'l'
:长整数,以collect_values[].v_long
传递 -'d'
:双精度数,以collect_values[].v_double
传递 -'p'
:指针,以collect_values[].v_pointer
传递 请注意,对于可变参数列表的构造,ANSI C 会将所有小于整数的类型提升为 int,并将浮点数提升为双精度数。因此,如果要收集 short int 或 char,需要使用'i'
,如果要收集浮点数,需要使用'd'
。collect_value
基于收集自可变参数的值来初始化一个 GValue 的函数。
lcopy_format
用于收集
lcopy_value
参数的格式描述,类似于collect_format
。通常,lcopy_format
字符串仅由'p'
组成,以便向lcopy_value()
提供指向存储位置的指针。lcopy_value
将值的内容存储到收集自可变参数的位置的函数。