值集合

值集合

GLib 为像 g_object_new()g_object_set() 这样的可变参数戈 organisms 函数提供了一组宏来支持 varargs 分析。

它们目前支持整数类型、浮点类型和指针的集合。

G_VALUE_COLLECT_INIT(value, _value_type, var_args, flags, __error)

va_list 收集可变参数值。

我们必须将 varargs 收集实现为宏,因为在某些系统中,无法通过引用传递 va_list 变量。

自:2.24

G_VALUE_COLLECT_INIT2(value, g_vci_vtab, _value_type, var_args, flags, __error)

G_VALUE_COLLECT_INIT 的一个变体,它提供了 GTypeValueTable 给调用者。

自:2.74

G_VALUE_COLLECT(value, var_args, flags, __error)

va_list 收集可变参数值。

我们必须将 varargs 收集实现为宏,因为在某些系统中,无法通过引用传递 va_list 变量。

注意:如果您在调用此宏之前刚刚创建 value 参数,请使用 G_VALUE_COLLECT_INIT 变体并传递未初始化的 GValue。这个变体比 G_VALUE_COLLECT 快速。

G_VALUE_COLLECT_SKIP(_value_type, var_args)

跳过 var_args 中的 _value_type 类型的参数。

G_VALUE_LCOPY(value, var_args, flags, __error)

将值的价值存储在 va_list 中的一个或多个参数位置。

这是 G_VALUE_COLLECT() 的逆操作。

G_VALUE.COLLECT_FORMAT_MAX_LENGTH

可以收集单个 GValueGTypeCValue 的最大数量。