|
libtools
|
Copyright (C) 2015 Oleh Kravchenko oleg@kaa.org.ua More...
#include <stddef.h>
Go to the source code of this file.
Classes | |
| struct | list |
| node of double-linked list More... | |
Macros | |
| #define | list_initializer(list) { .prev = list, .next = list, } |
| should be used to static initialization More... | |
| #define | list_init(list) |
| should be used to runtime initialization More... | |
| #define | containerof(ptr, type, field) ((type*)((size_t)(ptr) - offsetof(type, field))) |
| return pointer to struct of type, which hold field More... | |
| #define | list_foreach(list, node, type, field) |
| iterate over all list nodes More... | |
| #define | list_foreach_safe(l, i, t, type, f) |
| iterate over all list nodes, also allow node deletion More... | |
| #define | list_add_head(list, node) |
| add node to head of list More... | |
| #define | list_add_tail(list, node) |
| add node to tail of list More... | |
| #define | list_del_node(node) |
| remove node from list More... | |
| #define | list_is_empty(list) ((list)->prev == (list) && (list) == (list)->next) |
| expression is true, if list is empty More... | |
Copyright (C) 2015 Oleh Kravchenko oleg@kaa.org.ua
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
1.8.11