summaryrefslogtreecommitdiffstats
path: root/include/zix/tree.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-07-01 00:05:22 -0400
committerDavid Robillard <d@drobilla.net>2021-07-17 19:58:17 -0400
commit4b266e2f39a8d3a49b58c861c7fd852911cf7fb0 (patch)
treedc12d618dc52b640b82e522917b238e38af033b3 /include/zix/tree.h
parent46f9327b06e866e3180c1924a0afa0afd8b0b5c5 (diff)
downloadzix-4b266e2f39a8d3a49b58c861c7fd852911cf7fb0.tar.gz
zix-4b266e2f39a8d3a49b58c861c7fd852911cf7fb0.tar.bz2
zix-4b266e2f39a8d3a49b58c861c7fd852911cf7fb0.zip
Use line comments where appropriate
Diffstat (limited to 'include/zix/tree.h')
-rw-r--r--include/zix/tree.h65
1 files changed, 17 insertions, 48 deletions
diff --git a/include/zix/tree.h b/include/zix/tree.h
index a2d5fe7..d7d2cce 100644
--- a/include/zix/tree.h
+++ b/include/zix/tree.h
@@ -33,19 +33,13 @@ extern "C" {
@{
*/
-/**
- A balanced binary search tree.
-*/
+/// A balanced binary search tree
typedef struct ZixTreeImpl ZixTree;
-/**
- An iterator over a @ref ZixTree.
-*/
+/// An iterator over a @ref ZixTree
typedef struct ZixTreeNodeImpl ZixTreeIter;
-/**
- Create a new (empty) tree.
-*/
+/// Create a new (empty) tree
ZIX_API
ZixTree*
zix_tree_new(bool allow_duplicates,
@@ -53,101 +47,76 @@ zix_tree_new(bool allow_duplicates,
void* cmp_data,
ZixDestroyFunc destroy);
-/**
- Free `t`.
-*/
+/// Free `t`
ZIX_API
void
zix_tree_free(ZixTree* t);
-/**
- Return the number of elements in `t`.
-*/
+/// Return the number of elements in `t`
ZIX_PURE_API
size_t
zix_tree_size(const ZixTree* t);
-/**
- Insert the element `e` into `t` and point `ti` at the new element.
-*/
+/// Insert the element `e` into `t` and point `ti` at the new element
ZIX_API
ZixStatus
zix_tree_insert(ZixTree* t, void* e, ZixTreeIter** ti);
-/**
- Remove the item pointed at by `ti` from `t`.
-*/
+/// Remove the item pointed at by `ti` from `t`
ZIX_API
ZixStatus
zix_tree_remove(ZixTree* t, ZixTreeIter* ti);
/**
Set `ti` to an element equal to `e` in `t`.
+
If no such item exists, `ti` is set to NULL.
*/
ZIX_API
ZixStatus
zix_tree_find(const ZixTree* t, const void* e, ZixTreeIter** ti);
-/**
- Return the data associated with the given tree item.
-*/
+/// Return the data associated with the given tree item
ZIX_PURE_API
void*
zix_tree_get(const ZixTreeIter* ti);
-/**
- Return an iterator to the first (smallest) element in `t`.
-*/
+/// Return an iterator to the first (smallest) element in `t`
ZIX_PURE_API
ZixTreeIter*
zix_tree_begin(ZixTree* t);
-/**
- Return an iterator the the element one past the last element in `t`.
-*/
+/// Return an iterator the the element one past the last element in `t`
ZIX_CONST_API
ZixTreeIter*
zix_tree_end(ZixTree* t);
-/**
- Return true iff `i` is an iterator to the end of its tree.
-*/
+/// Return true iff `i` is an iterator to the end of its tree
ZIX_CONST_API
bool
zix_tree_iter_is_end(const ZixTreeIter* i);
-/**
- Return an iterator to the last (largest) element in `t`.
-*/
+/// Return an iterator to the last (largest) element in `t`
ZIX_PURE_API
ZixTreeIter*
zix_tree_rbegin(ZixTree* t);
-/**
- Return an iterator the the element one before the first element in `t`.
-*/
+/// Return an iterator the the element one before the first element in `t`
ZIX_CONST_API
ZixTreeIter*
zix_tree_rend(ZixTree* t);
-/**
- Return true iff `i` is an iterator to the reverse end of its tree.
-*/
+/// Return true iff `i` is an iterator to the reverse end of its tree
ZIX_CONST_API
bool
zix_tree_iter_is_rend(const ZixTreeIter* i);
-/**
- Return an iterator that points to the element one past `i`.
-*/
+/// Return an iterator that points to the element one past `i`
ZIX_PURE_API
ZixTreeIter*
zix_tree_iter_next(ZixTreeIter* i);
-/**
- Return an iterator that points to the element one before `i`.
-*/
+/// Return an iterator that points to the element one before `i`
ZIX_PURE_API
ZixTreeIter*
zix_tree_iter_prev(ZixTreeIter* i);