#include "ctl/tree.h"

Go to the source code of this file.
Defines | |
| #define | ctl_imultiset(type, mlabel, compare) ctl_tree(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple) |
| Get the class name of the 'multiset'; a tree that can contain multiple instances of data. | |
| #define | ctl_imultiset_decllink(type, mlabel) ctlt_node_type(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple) mlabel |
| Declare a tree link member. | |
| #define | ctl_imultiset_initlink(type, mlabel, curr) ctl_tree_node_init(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, &curr->mlabel) |
| Initialize a link. | |
| #define | ctl_imultiset_auto(type, mlabel, compare, ilabel) ctl_tree_auto(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, compare, ilabel ) |
| Make a tree from auto variables for stack or global use Uses non-standard ANSI extension: non-const initializers. | |
| #define | ctl_imultiset_init(type, mlabel, compare, ilabel) ctl_tree_init(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, compare, ilabel ) |
| Make a tree initially empty. | |
| #define | ctl_imultiset_size(type, mlabel, ilabel) ctl_tree_size(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, ilabel ) |
| Get size of tree. | |
| #define | ctl_imultiset_insert(type, mlabel, ilabel, data) (type*)ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, insert)( (ilabel), (data) ) |
| Insert a new member (MUST NOT BE IN ANY OTHER TREE). | |
| #define | ctl_imultiset_find(type, mlabel, ilabel, value) (type*)ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, find)( (ilabel), (value) ) |
| Find a member, given a template member as a value. | |
| #define | ctl_imultiset_remove(type, mlabel, ilabel, value) (type*)ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, remove)( (ilabel), (value) ) |
| Remove a member. | |
| #define | ctl_imultiset_unlink(type, mlabel, ilabel, data) (type*)ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, unlink)( (ilabel), (data) ) |
| Remove a member. | |
| #define | ctl_imultiset_reset(type, mlabel, ilabel) ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, reset)( ilabel ) |
| Remove a all tree members member. | |
| #define | ctl_imultiset_front(type, mlabel, ilabel) ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, front)( ilabel ) |
| Get first member of set. | |
| #define | ctl_imultiset_back(type, mlabel, ilabel) ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, back)( ilabel ) |
| Get last member of set. | |
| #define | ctl_imultiset_pop_front(type, mlabel, ilabel) ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, pop_front)( ilabel ) |
| Get and remove the first member of the set. | |
| #define | ctl_imultiset_pop_back(type, mlabel, ilabel) ctl_tree_(ctlt_relative(offsetof(type,mlabel)),ctlt_multiple, pop_back)( ilabel ) |
| Get and remove the last member of the set. | |
| #define | ctl_imultiset_foreach(type, mlabel, ilabel, label) |
| set iterator Iterator is available after loop, so these loops should be wrapped in their own { } braces, if you don't want it interfering with other code | |
| #define | ctl_imultiset_foreach_const(type, mlabel, ilabel, label) |
| Constant fixed C set iterator Iterator is available after loop, so these loops should be wrapped in their own { } braces, if you don't want it interfering with other code. | |
| #define | ctl_imultiset_foreach_reverse(type, mlabel, ilabel, label) |
| Backward C set iterator Iterator is available after loop, so these loops should be wrapped in their own { } braces, if you don't want it interfering with other code. | |
| #define | ctl_imultiset_foreach_reverse_const(type, mlabel, ilabel, label) |
| Backward, constant C set iterator Iterator is available after loop, so these loops should be wrapped in their own { } braces, if you don't want it interfering with other code. | |
| #define | ctl_imultiset_from(type, mlabel, ilabel, from, label) |
| Iterators for avl data; from some point in tree to the end in a given direction. | |
| #define | ctl_imultiset_from_const(type, mlabel, ilabel, from, label) |
| Const data variant. | |
| #define | ctl_imultiset_from_reverse(type, mlabel, ilabel, from, label) |
| Iterate backwards variant. | |
| #define | ctl_imultiset_from_reverse_const(type, mlabel, ilabel, from, label) |
| Const data variant of reverse variant. | |
| #define | ctl_imultiset_from_to(type, mlabel, ilabel, from, to, label) |
| From->to iterators for avl data. | |
| #define | ctl_imultiset_from_to_const(type, mlabel, ilabel, from, to, label) |
| Const data variant. | |
| #define | ctl_imultiset_from_to_reverse(type, mlabel, ilabel, from, to, label) |
| Iterate backwards variant. | |
| #define | ctl_imultiset_from_to_reverse_const(type, mlabel, ilabel, from, to, label) |
| Const data variant of reverse variant. | |
Definition in file imultiset.h.
1.5.6