wl_list(3) Wayland wl_list(3)NAMEwl_list-
doubly-linked list
SYNOPSIS
#include <wayland-util.h>
Public Attributes
struct wl_list * prev
struct wl_list * next
Detailed Description
doubly-linked list
The list head is of 'struct wl_list' type, and must be initialized
using wl_list_init(). All entries in the list must be of the same type.
The item type must have a 'struct wl_list' member. This member will be
initialized by wl_list_insert(). There is no need to call
wl_list_init() on the individual item. To query if the list is empty in
O(1), use wl_list_empty().
Let's call the list reference 'struct wl_list foo_list', the item type
as 'item_t', and the item member as 'struct wl_list link'.
The following code will initialize a list:
struct wl_list foo_list;
struct item_t {
int foo;
struct wl_list link;
};
struct item_t item1, item2, item3;
wl_list_init(&foo_list);
wl_list_insert(&foo_list, &item1.link); Pushes item1 at the head
wl_list_insert(&foo_list, &item2.link); Pushes item2 at the head
wl_list_insert(&item2.link, &item3.link); Pushes item3 after item2
The list now looks like [item2, item3, item1]
Will iterate the list in ascending order:
item_t *item;
wl_list_for_each(item, foo_list, link) {
Do_something_with_item(item);
}
Author
Generated automatically by Doxygen for Wayland from the source code.
Version 1.4.0 Sat May 17 2014 wl_list(3)