aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-18 06:15:35 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-18 06:15:35 +0000
commite2b8fc1f9a4b2a78f994d051695431f2540066bd (patch)
tree139c88a7d9093ea6c07bc9149232d1c089f1bcb8 /include
parent8773f203977c34fee7389f5e2b193df9c501685e (diff)
Merged revisions 176904 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r176904 | russell | 2009-02-18 00:14:47 -0600 (Wed, 18 Feb 2009) | 2 lines Add example code for a heap traversal. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@176906 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/heap.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/asterisk/heap.h b/include/asterisk/heap.h
index 6f6e52b2d..8148fa5ba 100644
--- a/include/asterisk/heap.h
+++ b/include/asterisk/heap.h
@@ -155,6 +155,28 @@ void *ast_heap_remove(struct ast_heap *h, void *elm);
* \note If this function is being used in combination with ast_heap_size() for
* purposes of traversing the heap, the heap must be locked for the entire
* duration of the traversal.
+ *
+ * Example code for a traversal:
+ * \code
+ *
+ * struct ast_heap *h;
+ *
+ * ...
+ *
+ * size_t size, i;
+ * void *cur_obj;
+ *
+ * ast_heap_rdlock(h);
+ *
+ * size = ast_heap_size(h);
+ *
+ * for (i = 1; i <= size && (cur_obj = ast_heap_peek(h, i)); i++) {
+ * ... Do stuff with cur_obj ...
+ * }
+ *
+ * ast_heap_unlock(h);
+ *
+ * \endcode
*/
void *ast_heap_peek(struct ast_heap *h, unsigned int index);