diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-04-10 10:54:22 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-04-11 11:24:18 +0200 |
commit | 112396dee10f7381e14cfa93922eb9dced2062c8 (patch) | |
tree | b1ee0b2b2cfdbc0951feda6fa0d1f133cee257bd /cpukit/score/include/rtems/score/rbtree.h | |
parent | rbtree: PR1995: API change (diff) | |
download | rtems-112396dee10f7381e14cfa93922eb9dced2062c8.tar.bz2 |
rbtree: New function _RBTree_Iterate_unprotected()
Diffstat (limited to 'cpukit/score/include/rtems/score/rbtree.h')
-rw-r--r-- | cpukit/score/include/rtems/score/rbtree.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/cpukit/score/include/rtems/score/rbtree.h b/cpukit/score/include/rtems/score/rbtree.h index b2e5776b61..2e9bb83ad7 100644 --- a/cpukit/score/include/rtems/score/rbtree.h +++ b/cpukit/score/include/rtems/score/rbtree.h @@ -348,6 +348,39 @@ RBTree_Node *_RBTree_Next( RBTree_Direction dir ); +/** + * @brief Red-black tree visitor. + * + * @param[in] node The node. + * @param[in] dir The direction. + * @param[in] visitor_arg The visitor argument. + * + * @retval true Stop the iteration. + * @retval false Continue the iteration. + * + * @see _RBTree_Iterate_unprotected(). + */ +typedef bool (*RBTree_Visitor)( + const RBTree_Node *node, + RBTree_Direction dir, + void *visitor_arg +); + +/** + * @brief Red-black tree iteration. + * + * @param[in] rbtree The red-black tree. + * @param[in] dir The direction. + * @param[in] visitor The visitor. + * @param[in] visitor_arg The visitor argument. + */ +void _RBTree_Iterate_unprotected( + const RBTree_Control *rbtree, + RBTree_Direction dir, + RBTree_Visitor visitor, + void *visitor_arg +); + #ifndef __RTEMS_APPLICATION__ #include <rtems/score/rbtree.inl> #endif |