Provided by: libwayland-dev_1.4.0-1ubuntu1_amd64 bug


       wl_list -

       doubly-linked list


       #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

       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_insert(&foo_list, &;    Pushes item1 at the head
        wl_list_insert(&foo_list, &;    Pushes item2 at the head
        wl_list_insert(&, &; 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) {


       Generated automatically by Doxygen for Wayland from the source code.