结构

GtkBitset

说明 [src]

struct GtkBitset {
  /* No available fields */
}

GtkBitset 表示一组无符号整数。

此数据结构的另一个名称是“位图”。

当前实现基于 咆哮位图

位集允许添加一组整数,并支持集合运算,如并集、交集,以及检查相等性或值是否包含在集合中。GtkBitset 还包含各种函数来查询有关位集的元数据,如最小值、最大值或其大小。

在位集中迭代值的最快方法是 GtkBitsetIter

GtkBitset 的主要用例是为 GtkSelectionModel 实现复杂的选择。

构造函数

gtk_bitset_new_empty

创建一个新的空位集。

gtk_bitset_new_range

使用给定的范围集创建一个位集。

实例方法

gtk_bitset_add

如果 value 之前不是 self 的一部分,则将其添加到 self 中。

gtk_bitset_add_range

self 中添加 start(包括)到 start + n_items(排斥)的所有值。

gtk_bitset_add_range_closed

添加闭区间 [first, last],即 firstlast 和介于两者之间的所有值。first 必须小于 last

gtk_bitset_add_rectangle

将值解释为具有给定 stride 的二维布尔网格,并在该网格内使用给定的 widthheight 添加一个矩形。

gtk_bitset_contains

检查给定的 value 是否已添加到 self 中。

gtk_bitset_copy

创建 self 的副本。

gtk_bitset_difference

设置 selfselfother 的对称差。

gtk_bitset_equals

如果 selfother 包含相同的值,则返回 TRUE

gtk_bitset_get_maximum

返回 self 中的最大值。

gtk_bitset_get_minimum

返回 self 中的最小值。

gtk_bitset_get_nth

返回 self 中 第n 项的值。

gtk_bitset_get_size

获取添加到该集合中的值的数量。

gtk_bitset_get_size_in_range

获取从 firstlast(包括)是该集合中的部分值的数量。

gtk_bitset_intersect

设置 selfselfother 的交集。

gtk_bitset_is_empty

检查 bitset 中是否不包含任何值。

gtk_bitset_ref

获取给定 GtkBitset 的一个引用。

gtk_bitset_remove

如果 value 之前是 self 的一部分,则将其从 self 中移除。

gtk_bitset_remove_all

从 bitset 中移除所有值,使其再次为空。

gtk_bitset_remove_range

self 中移除从 start(包括)到 start + n_items(独占)的所有值。

gtk_bitset_remove_range_closed

移除闭区间 [first, last],即 firstlast 和介于两者之间的一切值。first 必须小于 last

gtk_bitset_remove_rectangle

将值解释为具有给定 stride 的 2 维布尔网格,并在该网格内移除具有给定 widthheight 的矩形。

gtk_bitset_shift_left

self 中的所有值向左移动 amount 位。

gtk_bitset_shift_right

self 中的所有值向右移动 amount 位。

gtk_bitset_splice

这是 GListModel 处理的支持功能,用于镜像 GlistModel::items-changed 信号。

gtk_bitset_subtract

设置 selfotherself 中减去的内容。

gtk_bitset_union

设置 selfselfother 的并集。

gtk_bitset_unref

释放给定 GtkBitset 的引用。