Wireshark 4.5.0
The Wireshark network protocol analyzer
|
Classes | |
struct | _wmem_range_t |
Typedefs | |
typedef struct _wmem_tree_t | wmem_itree_t |
Functions | |
WS_DLL_PUBLIC wmem_itree_t * | wmem_itree_new (wmem_allocator_t *allocator) G_GNUC_MALLOC |
WS_DLL_PUBLIC bool | wmem_itree_is_empty (wmem_itree_t *tree) |
WS_DLL_PUBLIC void | wmem_itree_insert (wmem_itree_t *tree, const uint64_t low, const uint64_t high, void *data) |
WS_DLL_PUBLIC wmem_list_t * | wmem_itree_find_intervals (wmem_itree_t *tree, wmem_allocator_t *allocator, uint64_t low, uint64_t high) |
void | wmem_print_itree (wmem_itree_t *tree) |
http://www.geeksforgeeks.org/interval-tree/ The idea is to augment a self-balancing Binary Search Tree (BST) like Red Black Tree, AVL Tree, etc ... to maintain a set of intervals so that all operations can be done in O(Logn) time.
Following wikipedia's convention this is an augmented tree rather then an interval tree http://www.wikiwand.com/en/Interval_tree
WS_DLL_PUBLIC void wmem_itree_insert | ( | wmem_itree_t * | tree, |
const uint64_t | low, | ||
const uint64_t | high, | ||
void * | data | ||
) |
Inserts a range low-high indexed by "low" in O(log(n)). As in wmem_tree, if a key "low" already exists, it will be overwritten with the new data
WS_DLL_PUBLIC bool wmem_itree_is_empty | ( | wmem_itree_t * | tree | ) |
Returns true if the tree is empty (has no nodes).
void wmem_print_itree | ( | wmem_itree_t * | tree | ) |
Print ranges along the tree