结构体

GLibQueue

描述 [src]

struct GQueue {
  GList* head;
  GList* tail;
  guint length;
}

包含[队列][glib-双端队列] 的公共字段。

结构成员
head

队列第一个元素的指针。

tail

队列最后一个元素的指针。

length

队列中元素的数量。

函数

g_queue_new

创建新的 GQueue

实例方法

g_queue_clear

删除 queue 中的所有元素。如果队列元素包含动态分配的内存,则应先释放它们。

自:2.14

g_queue_clear_full

便捷方法,释放 GQueue 使用的所有内存,并对 GQueue 中的每个项目调用提供的 free_func

自:2.60

g_queue_copy

复制 queue。注意,这是一个浅拷贝。如果队列中的元素由指向数据的指针组成,则会复制这些指针,而不会复制实际数据。

自:2.4

g_queue_delete_link

queue 中删除 link_ 并释放它。

自:2.4

g_queue_find

查找包含 dataqueue 中的第一个链接。

自:2.4

g_queue_find_custom

使用提供的函数查找 GQueue 中的一个元素以查找所需的元素。它会对队列进行迭代,调用给定的函数,当找到所需的元素时,该函数应返回 0。该函数采用两个 gconstpointer 参数,其中第一个参数是 GQueue 元素的数据,第二个参数是给定的用户数据。

自:2.4

g_queue_foreach

为队列中的每个元素调用 func,将 user_data 传递给函数。

自:2.4

g_queue_free

释放为 GQueue 分配的内存。仅在使用 g_queue_new() 创建 queue 时才调用此函数。如果队列元素包含动态分配的内存,应先释放这些元素。

g_queue_free_full

方便方法,它会释放 GQueue 使用的所有内存,并对每个元素的数据调用指定的销毁函数。

since: 2.32

g_queue_get_length

返回 queue 中的项目数。

自:2.4

g_queue_index

返回包含 dataqueue 中第一个元素的位置。

自:2.4

g_queue_init

在此函数使用之前,必须使用此函数来初始化静态分配的 GQueue。或者,可以使用 G_QUEUE_INIT 来初始化它。不必初始化使用 g_queue_new() 创建的队列。

自:2.14

g_queue_insert_after

queuesibling 之后插入 data

自:2.4

g_queue_insert_after_link

queuesibling 之后插入 link_

since: 2.62

g_queue_insert_before

queuesibling 之前插入 data

自:2.4

g_queue_insert_before_link

queuesibling 之前插入 link_

since: 2.62

g_queue_insert_sorted

使用 funcdata 插入 queue 以确定新位置。

自:2.4

g_queue_is_empty

如果队列为空,则返回 TRUE

g_queue_link_index

返回 link_queue 中的位置。

自:2.4

g_queue_peek_head

返回队列的第一个元素。

g_queue_peek_head_link

返回 queue 中的第一个链接。

自:2.4

g_queue_peek_nth

返回 queue 的第 n 个元素。

自:2.4

g_queue_peek_nth_link

返回给定位置的链接。

自:2.4

g_queue_peek_tail

返回队列的最后一个元素。

g_queue_peek_tail_link

返回 queue 中的最后一个链接。

自:2.4

g_queue_pop_head

移除队列的第一个元素并返回其数据。

g_queue_pop_head_link

移除并返回队列的第一个元素。

g_queue_pop_nth

移除 queue 的第 n 个元素并返回其数据。

自:2.4

g_queue_pop_nth_link

移除并返回给定位置的链接。

自:2.4

g_queue_pop_tail

移除队列的最后一个元素并返回其数据。

g_queue_pop_tail_link

移除并返回队列的最后一个元素。

g_queue_push_head

在队列头部添加一个新元素。

g_queue_push_head_link

在队列头部添加一个新元素。

g_queue_push_nth

在给定位置插入一个新元素到 queue

自:2.4

g_queue_push_nth_link

在给定位置将 link 插入到 queue

自:2.4

g_queue_push_tail

在队列尾部添加一个新元素。

g_queue_push_tail_link

在队列尾部添加一个新元素。

g_queue_remove

移除 queue 中包含 data 的第一个元素。

自:2.4

g_queue_remove_all

queue 中移除所有数据等于 data 的元素。

自:2.4

g_queue_reverse

逆转 queue 中项的顺序。

自:2.4

g_queue_sort

使用 compare_funcqueue 进行排序。

自:2.4

g_queue_unlink

取消 link_ 链接,以便不再成为 queue 的一部分。不会释放该链接。

自:2.4