Go to the source code of this file.
|
#define | ql_head(a_type) |
|
#define | ql_head_initializer(a_head) {NULL} |
|
#define | ql_elm(a_type) qr(a_type) |
|
#define | ql_new(a_head) |
|
#define | ql_elm_new(a_elm, a_field) qr_new((a_elm), a_field) |
|
#define | ql_first(a_head) ((a_head)->qlh_first) |
|
#define | ql_last(a_head, a_field) |
|
#define | ql_next(a_head, a_elm, a_field) |
|
#define | ql_prev(a_head, a_elm, a_field) |
|
#define | ql_before_insert(a_head, a_qlelm, a_elm, a_field) |
|
#define | ql_after_insert(a_qlelm, a_elm, a_field) qr_after_insert((a_qlelm), (a_elm), a_field) |
|
#define | ql_head_insert(a_head, a_elm, a_field) |
|
#define | ql_tail_insert(a_head, a_elm, a_field) |
|
#define | ql_remove(a_head, a_elm, a_field) |
|
#define | ql_head_remove(a_head, a_type, a_field) |
|
#define | ql_tail_remove(a_head, a_type, a_field) |
|
#define | ql_foreach(a_var, a_head, a_field) qr_foreach((a_var), ql_first(a_head), a_field) |
|
#define | ql_reverse_foreach(a_var, a_head, a_field) qr_reverse_foreach((a_var), ql_first(a_head), a_field) |
|
◆ ql_after_insert
#define ql_after_insert |
( |
|
a_qlelm, |
|
|
|
a_elm, |
|
|
|
a_field |
|
) |
| qr_after_insert((a_qlelm), (a_elm), a_field) |
Definition at line 39 of file ql.h.
◆ ql_before_insert
#define ql_before_insert |
( |
|
a_head, |
|
|
|
a_qlelm, |
|
|
|
a_elm, |
|
|
|
a_field |
|
) |
| |
Value: do { \
qr_before_insert((a_qlelm), (a_elm), a_field); \
ql_first(a_head) = (a_elm); \
} \
} while (0)
Definition at line 32 of file ql.h.
◆ ql_elm
#define ql_elm |
( |
|
a_type | ) |
qr(a_type) |
Definition at line 9 of file ql.h.
◆ ql_elm_new
#define ql_elm_new |
( |
|
a_elm, |
|
|
|
a_field |
|
) |
| qr_new((a_elm), a_field) |
Definition at line 16 of file ql.h.
◆ ql_first
#define ql_first |
( |
|
a_head | ) |
((a_head)->qlh_first) |
Definition at line 18 of file ql.h.
◆ ql_foreach
#define ql_foreach |
( |
|
a_var, |
|
|
|
a_head, |
|
|
|
a_field |
|
) |
| qr_foreach((a_var), ql_first(a_head), a_field) |
Definition at line 77 of file ql.h.
◆ ql_head
#define ql_head |
( |
|
a_type | ) |
|
Value:struct { \
a_type *qlh_first; \
}
Definition at line 2 of file ql.h.
◆ ql_head_initializer
#define ql_head_initializer |
( |
|
a_head | ) |
{NULL} |
Definition at line 7 of file ql.h.
◆ ql_head_insert
#define ql_head_insert |
( |
|
a_head, |
|
|
|
a_elm, |
|
|
|
a_field |
|
) |
| |
Value: do { \
qr_before_insert(
ql_first(a_head), (a_elm), a_field); \
} \
ql_first(a_head) = (a_elm); \
} while (0)
Definition at line 42 of file ql.h.
◆ ql_head_remove
#define ql_head_remove |
( |
|
a_head, |
|
|
|
a_type, |
|
|
|
a_field |
|
) |
| |
Value: do { \
ql_remove((a_head), t, a_field); \
} while (0)
Definition at line 67 of file ql.h.
◆ ql_last
#define ql_last |
( |
|
a_head, |
|
|
|
a_field |
|
) |
| |
Value:
#define qr_prev(a_qr, a_field)
Definition at line 20 of file ql.h.
◆ ql_new
Value: do { \
(a_head)->qlh_first =
NULL; \
} while (0)
Definition at line 12 of file ql.h.
◆ ql_next
#define ql_next |
( |
|
a_head, |
|
|
|
a_elm, |
|
|
|
a_field |
|
) |
| |
Value: ((
ql_last(a_head, a_field) != (a_elm)) \
#define ql_last(a_head, a_field)
#define qr_next(a_qr, a_field)
Definition at line 24 of file ql.h.
◆ ql_prev
#define ql_prev |
( |
|
a_head, |
|
|
|
a_elm, |
|
|
|
a_field |
|
) |
| |
Value:
Definition at line 28 of file ql.h.
◆ ql_remove
#define ql_remove |
( |
|
a_head, |
|
|
|
a_elm, |
|
|
|
a_field |
|
) |
| |
Value: do { \
} \
qr_remove((a_elm), a_field); \
} else { \
ql_first(a_head) =
NULL; \
} \
} while (0)
Definition at line 56 of file ql.h.
◆ ql_reverse_foreach
Definition at line 80 of file ql.h.
◆ ql_tail_insert
#define ql_tail_insert |
( |
|
a_head, |
|
|
|
a_elm, |
|
|
|
a_field |
|
) |
| |
Value: do { \
qr_before_insert(
ql_first(a_head), (a_elm), a_field); \
} \
ql_first(a_head) =
qr_next((a_elm), a_field); \
} while (0)
Definition at line 49 of file ql.h.
◆ ql_tail_remove
#define ql_tail_remove |
( |
|
a_head, |
|
|
|
a_type, |
|
|
|
a_field |
|
) |
| |
Value: do { \
a_type *t =
ql_last(a_head, a_field); \
ql_remove((a_head), t, a_field); \
} while (0)
Definition at line 72 of file ql.h.