结构
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将值的内容存储到收集自可变参数的位置的函数。