|
#define | __MOTR_LIB_TLIST_H__ |
|
#define | M0_TL_DESCR(name, ambient_type, link_field, link_magic_field, link_magic, head_magic) |
|
#define | m0_tlist_for(descr, head, obj) |
|
#define | m0_tlist_endfor ;(void)__tl; } while (0) |
|
#define | m0_tlist_forall(descr, var, head, ...) |
|
#define | M0_TL_DESCR_DECLARE(name, scope) scope const struct m0_tl_descr name ## _tl |
|
#define | M0_TL_DECLARE(name, scope, amb_type) |
|
#define | __AUN __attribute__((unused)) |
|
#define | M0_TL_DESCR_DEFINE(name, hname, scope, amb_type, amb_link_field, amb_magic_field, amb_magic, head_magic) |
|
#define | M0_TL_DEFINE(name, scope, amb_type) |
|
#define | m0_tl_for(name, head, obj) m0_tlist_for(& name ## _tl, head, obj) |
|
#define | m0_tl_endfor m0_tlist_endfor |
|
#define | m0_tl_teardown(name, head, obj) while (((obj) = name ## _tlist_pop(head)) != NULL) |
|
#define | m0_tl_forall(name, var, head, ...) |
|
#define | m0_tl_find(name, var, head, ...) |
|
#define | m0_tl_exists(name, var, head, ...) (!m0_tl_forall(name, var, head, !({ __VA_ARGS__ ; }))) |
|
|
struct m0_tl_descr | M0_XCA_DOMAIN (be) |
|
M0_INTERNAL void | m0_tlist_init (const struct m0_tl_descr *d, struct m0_tl *list) |
|
M0_INTERNAL void | m0_tlist_fini (const struct m0_tl_descr *d, struct m0_tl *list) |
|
M0_INTERNAL void | m0_tlink_init (const struct m0_tl_descr *d, void *obj) |
|
M0_INTERNAL void | m0_tlink_fini (const struct m0_tl_descr *d, void *obj) |
|
M0_INTERNAL void | m0_tlink_init_at (const struct m0_tl_descr *d, void *obj, struct m0_tl *list) |
|
M0_INTERNAL void | m0_tlink_init_at_tail (const struct m0_tl_descr *d, void *obj, struct m0_tl *list) |
|
M0_INTERNAL void | m0_tlink_del_fini (const struct m0_tl_descr *d, void *obj) |
|
M0_INTERNAL bool | m0_tlist_invariant (const struct m0_tl_descr *d, const struct m0_tl *list) |
|
M0_INTERNAL bool | m0_tlist_invariant_ext (const struct m0_tl_descr *d, const struct m0_tl *list, bool(*check)(const void *, void *), void *datum) |
|
M0_INTERNAL bool | m0_tlink_invariant (const struct m0_tl_descr *d, const void *obj) |
|
M0_INTERNAL bool | m0_tlist_is_empty (const struct m0_tl_descr *d, const struct m0_tl *list) |
|
M0_INTERNAL bool | m0_tlink_is_in (const struct m0_tl_descr *d, const void *obj) |
|
M0_INTERNAL bool | m0_tlist_contains (const struct m0_tl_descr *d, const struct m0_tl *list, const void *obj) |
|
M0_INTERNAL size_t | m0_tlist_length (const struct m0_tl_descr *d, const struct m0_tl *list) |
|
M0_INTERNAL void | m0_tlist_add (const struct m0_tl_descr *d, struct m0_tl *list, void *obj) |
|
M0_INTERNAL void | m0_tlist_add_tail (const struct m0_tl_descr *d, struct m0_tl *list, void *obj) |
|
M0_INTERNAL void | m0_tlist_add_after (const struct m0_tl_descr *d, void *obj, void *new) |
|
M0_INTERNAL void | m0_tlist_add_before (const struct m0_tl_descr *d, void *obj, void *new) |
|
M0_INTERNAL void | m0_tlist_del (const struct m0_tl_descr *d, void *obj) |
|
M0_INTERNAL void | m0_tlist_remove (const struct m0_tl_descr *d, void *obj) |
|
M0_INTERNAL void | m0_tlist_move (const struct m0_tl_descr *d, struct m0_tl *list, void *obj) |
|
M0_INTERNAL void | m0_tlist_move_tail (const struct m0_tl_descr *d, struct m0_tl *list, void *obj) |
|
void * | m0_tlist_head (const struct m0_tl_descr *d, const struct m0_tl *list) |
|
M0_INTERNAL void * | m0_tlist_pop (const struct m0_tl_descr *d, const struct m0_tl *list) |
|
M0_INTERNAL void * | m0_tlist_tail (const struct m0_tl_descr *d, const struct m0_tl *list) |
|
void * | m0_tlist_next (const struct m0_tl_descr *d, const struct m0_tl *list, const void *obj) |
|
M0_INTERNAL void * | m0_tlist_prev (const struct m0_tl_descr *d, const struct m0_tl *list, const void *obj) |
|