Struct

GObjectValueArray

已弃用:2.32 

描述 [源代码]

struct GValueArray {
  guint n_values;
  GValue* values;
}

GValueArray 是一个容器结构,用于保存泛值数组。

GValueArray 的主要目的是用作对象属性,用于保存值数组。GValueArray 封装 GValue 元素数组,以便通过 G_TYPE_VALUE_ARRAY 将其用作 boxed 类型。

从 GLib 2.32 开始,GValueArray 已弃用,转而支持 GArray。可以通过使用 GValue 的大小作为元素大小,并使用 g_array_set_clear_func()g_value_unset() 设置为清除函数,来创建表现得像 GValueArrayGArray,例如,以下代码

  GValueArray *array = g_value_array_new (10);

可以用代码替换

  GArray *array = g_array_sized_new (FALSE, TRUE, sizeof (GValue), 10);
  g_array_set_clear_func (array, (GDestroyNotify) g_value_unset);
结构成员
n_values

数组中包含的值的数量。

values

值数组。

自 2.32 起弃用。

如果可能,针对给定的用例,请按照上述说明使用 GArray

构造函数

g_value_array_new

分配并初始化一个新的 GValueArray,选择性地预留空间以容纳 n_prealloced 个元素。无论 n_prealloced 的值如何,新数组总是包含 0 个元素。

已弃用:2.32 

实例方法

g_value_array_append

value_array 的末尾插入 value 的副本作为最后一个元素。如果 valueNULL,则追加一个未初始化的值。

已弃用:2.32 

g_value_array_copy

通过复制 GValueArray 的所有内容,来构建一个完全的副本。

已弃用:2.32 

g_value_array_free

释放 GValueArray 及其内容。

已弃用:2.32 

g_value_array_get_nth

返回 value_array 中包含在 index_ 处的值的指针。

已弃用:2.32 

g_value_array_insert

value_array 中的指定位置插入 value 的一个副本。如果 valueNULL,则插入一个未初始化的值。

已弃用:2.32 

g_value_array_prepend

value_array 的第一个位置插入 value 的副本作为第一个元素。如果 valueNULL,则追加一个未初始化的值。

已弃用:2.32 

g_value_array_remove

value_array 中删除位置 index_ 处的值。

已弃用:2.32 

g_value_array_sort

使用 compare_funcvalue_array 进行排序,对其元素按照 GCompareFunc 的语义进行比较。

已弃用:2.32 

g_value_array_sort_with_data

使用 compare_funcvalue_array 进行排序,按照 GCompareDataFunc 的语义对其元素进行比较。

已弃用:2.32