summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/rbtree.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Simplify red-black tree debug supportSebastian Huber2017-09-271-8/+0
| | | | | | | | Make the RBTree_Node layout independent of RTEMS_DEBUG (and all other build configuration options). This allows the use of this structure in Newlib. Update #3112.
* score: Fix unused parameter warningSebastian Huber2017-01-301-0/+2
| | | | Close #2890.
* score: Improve red-black tree debug supportSebastian Huber2016-09-061-0/+10
| | | | Ensure that we extract a node only from the right tree.
* score: Add _RBTree_Initialize_one()Sebastian Huber2016-09-061-0/+20
|
* score: Improve _RBTree_Insert_inline()Sebastian Huber2016-08-121-1/+9
| | | | Return if the inserted node is the new minimum node or not.
* score: Add debug support to red-black treesSebastian Huber2016-08-081-32/+49
| | | | This helps to detect double insert and extract errors.
* score: Move _RBTree_Find()Sebastian Huber2016-06-221-48/+0
| | | | | | The _RBTree_Find() is no longer used in the score. Move it to sapi and make it rtems_rbtree_find(). Move corresponding types and support functions to sapi.
* score: Move _RBTree_Insert()Sebastian Huber2016-06-221-23/+0
| | | | | The _RBTree_Insert() is no longer used in the score. Move it to sapi and make it rtems_rbtree_insert().
* score: Add const to _RBTree_Find_inline()Sebastian Huber2016-05-201-8/+18
|
* score: Add node map to _RBTree_Find_inline()Sebastian Huber2016-04-061-6/+12
|
* score: Add and use _RBTree_Insert_inline()Sebastian Huber2016-04-011-0/+40
|
* score: Add and use _RBTree_Find_inline()Sebastian Huber2016-04-011-0/+41
|
* rbtree: Add _RBTree_Replace_node()Sebastian Huber2015-09-031-0/+13
|
* rbtree: Replace implementationSebastian Huber2015-09-031-134/+143
| | | | | Use the BSD <sys/tree.h> implementation since it is faster, more flexible and uses less storage. See https://github.com/sebhub/rb-bench.
* rbtree: Delete rtems_rbtree_find_control()Sebastian Huber2015-09-011-25/+0
| | | | | This function is hard to support in alternative implementations. It has no internal use case.
* rbtree: Delete unused RBTREE_NODE_*() macrosSebastian Huber2015-08-311-12/+0
|
* rbtree: Delete _RBTree_Initialize()Sebastian Huber2015-08-311-24/+0
| | | | This function has no internal use case.
* rbtree: Delete _RBTree_Get()Sebastian Huber2015-08-311-31/+0
| | | | This function has no internal use case.
* rbtree: Delete _RBTree_Is_first()Sebastian Huber2015-08-311-20/+0
|
* rbtree: Add _RBTree_Minimum(), _RBTree_Maximum()Sebastian Huber2015-08-311-0/+30
|
* rbtree: Simplify insert and extractSebastian Huber2014-08-071-13/+31
| | | | | | | Simplify _RBTree_Insert() and _RBTree_Extract(). Remove more superfluous NULL pointer checks. Change _RBTree_Is_root() to use only the node. Add parent parameter to _RBTree_Sibling(). Delete _RBTree_Grandparent() and _RBTree_Parent_sibling().
* rbtree: Add and use RBTree_Compare_resultSebastian Huber2014-08-051-1/+10
|
* Add and use RTEMS_CONTAINER_OF()Sebastian Huber2014-08-051-14/+0
|
* rbtree: Rename find header in find controlSebastian Huber2014-07-291-10/+19
| | | | Simplify _RBTree_Find_control(). Avoid superfluous NULL pointer checks.
* rbtree: Simplify off-tree handlingSebastian Huber2014-07-291-17/+20
| | | | | | | Only use the parent pointer, since this pointer is never NULL for nodes which are part of a tree. Rename functions from *_off_rbtree() to *_off_tree().
* rbtree: Update maximum node in LIFO orderSebastian Huber2014-07-261-7/+9
| | | | | | The test sptests/sp35 showed a NULL pointer access due to an invalid maximum node field (e.g. a tree with one element and NULL as the maximum node).
* rbtree: Do not set node off-tree in extractSebastian Huber2014-07-221-2/+9
|
* rbtree: Remove superfluous NULL pointer checksSebastian Huber2014-07-221-17/+23
|
* rbtree: Reduce RBTree_Control sizeSebastian Huber2014-07-151-60/+51
| | | | | | | | | | | | Remove compare function and is unique indicator from the control structure. Rename RBTree_Compare_function to RBTree_Compare. Rename rtems_rbtree_compare_function to rtems_rbtree_compare. Provide C++ compatible initializers. Add compare function and is unique indicator to _RBTree_Find(), _RBTree_Insert(), rtems_rbtree_find() and rtems_rbtree_insert(). Remove _RBTree_Is_unique() and rtems_rbtree_is_unique(). Remove compare function and is unique indicator from _RBTree_Initialize_empty() and rtems_rbtree_initialize_empty().
* rbtree: Delete unused functionsSebastian Huber2014-07-151-50/+0
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* score/rbtree: Remove "unprotected" from APISebastian Huber2013-11-211-14/+14
|
* score/rbtree: Delete protected operationsSebastian Huber2013-11-211-134/+7
| | | | | The user of the red-black tree container must now ensure that at most one thread at once can access an instance.
* score: Create rbtree implementation headerSebastian Huber2013-07-231-35/+325
| | | | | | Move implementation specific parts of rbtree.h and rbtree.inl into new header file rbtreeimpl.h. The rbtree.h contains now only the application visible API.
* cpukit: Fix many Doxygen warningsJoel Sherrill2013-01-101-4/+3
|
* score: Add const qualifierSebastian Huber2013-01-021-4/+4
|
* score: Do not inline _RBTree_Find_unprotected()Sebastian Huber2013-01-021-1/+15
| | | | | This function is to big to inline. It leads also to test case explosion.
* score: Doxygen Clean Up Task #2Mathew Kallada2012-12-281-16/+18
|
* score misc: Score misc: Clean up Doxygen #7 (GCI 2012)Alex Ivanov2012-11-291-0/+5
| | | | | | | This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. https://google-melange.appspot.com/gci/task/view/google/gci2012/7986214
* score misc: Clean up Doxygen #2 (GCI 2012)Christopher Kerl2012-11-281-3/+10
| | | | | | | This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. http://www.google-melange.com/gci/task/view/google/gci2012/7986213
* score misc: Clean up Doxygen (GCI 2012)Alex Ivanov2012-11-281-0/+9
| | | | | | This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. https://google-melange.appspot.com/gci/task/view/google/gci2012/7978208
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-2/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* rbtree: API changes. Remove rbtree control node from RBTree_Next.Gedare Bloom2012-05-081-3/+0
| | | | | | | | | | | | The implementation of RBTree_Next was using an awkward construction to detect and avoid accessing the false root of the red-black tree. To deal with the false root, RBTree_Next was comparing node parents with the control node. Instead the false root can be detected by checking if the grandparent of a node exists; the grandparent of the tree's true root is NULL by definition so the root of the tree is found while walking up the tree by checking for the non-existence of a grandparent. This change propagates into the predecessor/successor and iterate functions.
* score/rbtree: eliminate unused function _RBTree_Peek.Gedare Bloom2012-05-081-17/+0
|
* rbtree: New function _RBTree_Iterate_unprotected()Sebastian Huber2012-04-111-0/+33
|
* rbtree: PR1995: API changeSebastian Huber2012-04-111-0/+27
| | | | | | | | | | | | | | | | New functions o _RBTree_Next_unprotected(), o _RBTree_Next(), o _RBTree_Successor_unprotected(), o _RBTree_Predecessor_unprotected(), o rtems_rbtree_successor_unprotected(), and o rtems_rbtree_predecessor_unprotected(). Change prototype of o _RBTree_Successor(), o _RBTree_Predecessor(), o rtems_rbtree_successor(), and o rtems_rbtree_predecessor().
* score/rbtree: Add const qualifierSebastian Huber2012-03-301-1/+1
|
* PR1994: RBTree Compare Result ChangeGedare Bloom2012-03-291-2/+2
| | | | | Change the meaning of the compare result to simplify comparison of integer keys.
* 2011-11-26 Gedare Bloom <gedare@rtems.org>Gedare Bloom2011-11-261-2/+5
| | | | | | PR 1963 * score/include/rtems/score/rbtree.h: Fix _RBTree_Container_of macro to use correct arithmetic.
* 2011-10-20 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-10-201-2/+3
| | | | | * score/include/rtems/score/rbtree.h (_RBTree_Container_of): Use offsetof. Don't cast to size_t. Include <stddef.h>.