rbtree: Delete _RBTree_Get()

This function has no internal use case.
This commit is contained in:
Sebastian Huber
2015-08-31 09:59:42 +02:00
parent 2d48456ef5
commit b9877ee03d
2 changed files with 32 additions and 41 deletions
+32 -10
View File
@@ -296,31 +296,53 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_extract(
}
/**
* @brief Obtain the min node on a rbtree.
* @brief Gets a node with the minimum key value from the red-black tree.
*
* This function removes the min node from @a the_rbtree and returns
* a pointer to that node. If @a the_rbtree is empty, then NULL is returned.
* This function extracts a node with the minimum key value from
* tree and returns a pointer to that node if it exists. In case multiple
* nodes with a minimum key value exist, then they are extracted in FIFO order.
*
* @param[in] the_rbtree The red-black tree control.
*
* @retval NULL The tree is empty.
* @retval node A node with the minimal key value on the tree.
*/
RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_min(
rtems_rbtree_control *the_rbtree
)
{
return _RBTree_Get( the_rbtree, RBT_LEFT );
rtems_rbtree_node *the_node = rtems_rbtree_min( the_rbtree );
if ( the_node != NULL ) {
rtems_rbtree_extract( the_rbtree, the_node );
}
return the_node;
}
/**
* @brief Obtain the max node on a rbtree.
* @brief Gets a node with the maximal key value from the red-black tree.
*
* This function removes the max node from @a the_rbtree and returns
* a pointer to that node. If @a the_rbtree is empty, then NULL is returned.
* This function extracts a node with the maximum key value from tree and
* returns a pointer to that node if it exists. In case multiple nodes with a
* maximum key value exist, then they are extracted in LIFO order.
*
* @param[in] the_rbtree The red-black tree control.
*
* @retval NULL The tree is empty.
* @retval node A node with the maximal key value on the tree.
*/
RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_max(
rtems_rbtree_control *the_rbtree
)
{
return _RBTree_Get( the_rbtree, RBT_RIGHT );
rtems_rbtree_node *the_node = rtems_rbtree_max( the_rbtree );
if ( the_node != NULL ) {
rtems_rbtree_extract( the_rbtree, the_node );
}
return the_node;
}
/**
-31
View File
@@ -522,37 +522,6 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Successor(
return _RBTree_Next( node, RBT_RIGHT );
}
/**
* @brief Gets a node with an extremal key value from the red-black tree.
*
* This function extracts a node with the minimum or maximum key value from
* tree and returns a pointer to that node if it exists. In case multiple
* nodes with a minimum key value exist, then they are extracted in FIFO order.
* In case multiple nodes with a maximum key value exist, then they are
* extracted in LIFO order.
*
* @param[in] the_rbtree The red-black tree control.
* @param[in] dir Specifies whether to get a node with the minimum (RBT_LEFT)
* or maximum (RBT_RIGHT) key value.
*
* @retval NULL The tree is empty.
* @retval extremal_node A node with a minimal or maximal key value on the
* tree.
*/
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Get(
RBTree_Control *the_rbtree,
RBTree_Direction dir
)
{
RBTree_Node *the_node = the_rbtree->first[ dir ];
if ( the_node != NULL ) {
_RBTree_Extract( the_rbtree, the_node );
}
return the_node;
}
/**@}*/
#ifdef __cplusplus