Code

utils strings: Add stringv_append_if_missing().
[sysdb.git] / src / include / utils / avltree.h
index 28efbdfb23d6590882f1a8f35cbba88f59ef766e..ba495c665ff6e884c2e6d6efdf308b5fc3c1ec79 100644 (file)
@@ -30,6 +30,8 @@
 
 #include "core/object.h"
 
+#include <stdbool.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -106,11 +108,23 @@ sdb_avltree_get_iter(sdb_avltree_t *tree);
 void
 sdb_avltree_iter_destroy(sdb_avltree_iter_t *iter);
 
-_Bool
+bool
 sdb_avltree_iter_has_next(sdb_avltree_iter_t *iter);
 sdb_object_t *
 sdb_avltree_iter_get_next(sdb_avltree_iter_t *iter);
 
+/*
+ * sdb_avltree_iter_peek_next:
+ * Peek at the next node, if there is one. This is similar to has_next() but
+ * it returns the actual next element without advancing the iterator.
+ *
+ * Returns:
+ *  - the next node, if there is one
+ *  - NULL else
+ */
+sdb_object_t *
+sdb_avltree_iter_peek_next(sdb_avltree_iter_t *iter);
+
 /*
  * sdb_avltree_size:
  * Returns the number of nodes in the tree.
@@ -128,7 +142,7 @@ sdb_avltree_size(sdb_avltree_t *tree);
  *  - true if the tree is valid
  *  - false else
  */
-_Bool
+bool
 sdb_avltree_valid(sdb_avltree_t *tree);
 
 #ifdef __cplusplus