12#ifndef __WMEM_INTERVAL_TREE_H__
13#define __WMEM_INTERVAL_TREE_H__
WS_DLL_PUBLIC wmem_itree_t * wmem_itree_new(wmem_allocator_t *allocator)
Create a new interval tree using the specified memory allocator.
Definition wmem_interval_tree.c:91
struct _wmem_tree_t wmem_itree_t
Alias for a wmem interval tree.
Definition wmem_interval_tree.h:46
WS_DLL_PUBLIC wmem_list_t * wmem_itree_find_intervals(wmem_itree_t *tree, wmem_allocator_t *allocator, uint64_t low, uint64_t high)
Find all intervals overlapping a given range in an interval tree.
Definition wmem_interval_tree.c:161
WS_DLL_PUBLIC bool wmem_itree_is_empty(wmem_itree_t *tree)
Check whether an interval tree is empty.
Definition wmem_interval_tree.c:99
void wmem_print_itree(wmem_itree_t *tree)
Print all intervals stored in the interval tree.
Definition wmem_interval_tree.c:173
WS_DLL_PUBLIC void wmem_itree_insert(wmem_itree_t *tree, const uint64_t low, const uint64_t high, void *data)
Insert an interval into the interval tree.
Definition wmem_interval_tree.c:120
struct _wmem_list_t wmem_list_t
Opaque type representing a scoped, doubly-linked list in the wmem system.
Definition wmem_list.h:42
struct _wmem_allocator_t wmem_allocator_t
Definition wmem_core.h:44
Represents a numeric range used in wmem's internal range tree.
Definition wmem_interval_tree.h:54
uint64_t low
Definition wmem_interval_tree.h:55
uint64_t high
Definition wmem_interval_tree.h:56
uint64_t max_edge
Definition wmem_interval_tree.h:57
Internal representation of a wmem balanced tree.
Definition wmem_tree-int.h:81