summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/rbtree.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-09-19Do not use RTEMS_INLINE_ROUTINESebastian Huber1-19/+19
Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
2022-02-28cpukit/include/rtems/score/[a-r]*.h: Change license to BSD-2Joel Sherrill1-3/+22
Updates #3053.
2020-12-02score: Canonicalize Doxygen @file commentsSebastian Huber1-4/+3
Use common phrases for the file brief descriptions. Update #3706.
2020-12-02score: Canonicalize Doxygen groupsSebastian Huber1-1/+1
Adjust group identifier and names to be in line with a common pattern. Use common phrases for the group brief descriptions. Update #3706.
2019-05-14doxygen: score: Fix block comment end marker.Chris Johns1-1/+0
2019-05-13doxygen: score: adjust doc in rbtree.h to doxygen guidelinesAndreas Dachsberger1-64/+90
Update #3706.
2019-04-04doxygen: Rename Score* groups in RTEMSScore*Sebastian Huber1-2/+2
Update #3706
2019-04-04doxygen: Rework some Doxygen commentsSebastian Huber1-2/+2
They are intended as examples in the RTEMS Software Engineering manual. Update #3704.
2019-02-28Remove explicit file names from @fileSebastian Huber1-1/+1
This makes the @file documentation independent of the actual file name. Update #3707.
2018-07-16score: Add postorder tree iteration supportSebastian Huber1-0/+66
Update #3465.
2018-01-25Remove make preinstallChris Johns1-0/+0
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-09-27score: Simplify red-black tree debug supportSebastian Huber1-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.
2017-01-30score: Fix unused parameter warningSebastian Huber1-0/+2
Close #2890.
2016-09-06score: Improve red-black tree debug supportSebastian Huber1-0/+10
Ensure that we extract a node only from the right tree.
2016-09-06score: Add _RBTree_Initialize_one()Sebastian Huber1-0/+20
2016-08-12score: Improve _RBTree_Insert_inline()Sebastian Huber1-1/+9
Return if the inserted node is the new minimum node or not.
2016-08-08score: Add debug support to red-black treesSebastian Huber1-32/+49
This helps to detect double insert and extract errors.
2016-06-22score: Move _RBTree_Find()Sebastian Huber1-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.
2016-06-22score: Move _RBTree_Insert()Sebastian Huber1-23/+0
The _RBTree_Insert() is no longer used in the score. Move it to sapi and make it rtems_rbtree_insert().
2016-05-20score: Add const to _RBTree_Find_inline()Sebastian Huber1-8/+18
2016-04-06score: Add node map to _RBTree_Find_inline()Sebastian Huber1-6/+12
2016-04-01score: Add and use _RBTree_Insert_inline()Sebastian Huber1-0/+40
2016-04-01score: Add and use _RBTree_Find_inline()Sebastian Huber1-0/+41
2015-09-03rbtree: Add _RBTree_Replace_node()Sebastian Huber1-0/+13
2015-09-03rbtree: Replace implementationSebastian Huber1-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.
2015-09-01rbtree: Delete rtems_rbtree_find_control()Sebastian Huber1-25/+0
This function is hard to support in alternative implementations. It has no internal use case.
2015-08-31rbtree: Delete unused RBTREE_NODE_*() macrosSebastian Huber1-12/+0
2015-08-31rbtree: Delete _RBTree_Initialize()Sebastian Huber1-24/+0
This function has no internal use case.
2015-08-31rbtree: Delete _RBTree_Get()Sebastian Huber1-31/+0
This function has no internal use case.
2015-08-31rbtree: Delete _RBTree_Is_first()Sebastian Huber1-20/+0
2015-08-31rbtree: Add _RBTree_Minimum(), _RBTree_Maximum()Sebastian Huber1-0/+30
2014-08-07rbtree: Simplify insert and extractSebastian Huber1-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().
2014-08-05rbtree: Add and use RBTree_Compare_resultSebastian Huber1-1/+10
2014-08-05Add and use RTEMS_CONTAINER_OF()Sebastian Huber1-14/+0
2014-07-29rbtree: Rename find header in find controlSebastian Huber1-10/+19
Simplify _RBTree_Find_control(). Avoid superfluous NULL pointer checks.
2014-07-29rbtree: Simplify off-tree handlingSebastian Huber1-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().
2014-07-26rbtree: Update maximum node in LIFO orderSebastian Huber1-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).
2014-07-22rbtree: Do not set node off-tree in extractSebastian Huber1-2/+9
2014-07-22rbtree: Remove superfluous NULL pointer checksSebastian Huber1-17/+23
2014-07-15rbtree: Reduce RBTree_Control sizeSebastian Huber1-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().
2014-07-15rbtree: Delete unused functionsSebastian Huber1-50/+0
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2013-11-21score/rbtree: Remove "unprotected" from APISebastian Huber1-14/+14
2013-11-21score/rbtree: Delete protected operationsSebastian Huber1-134/+7
The user of the red-black tree container must now ensure that at most one thread at once can access an instance.
2013-07-23score: Create rbtree implementation headerSebastian Huber1-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.
2013-01-10cpukit: Fix many Doxygen warningsJoel Sherrill1-4/+3
2013-01-02score: Add const qualifierSebastian Huber1-4/+4
2013-01-02score: Do not inline _RBTree_Find_unprotected()Sebastian Huber1-1/+15
This function is to big to inline. It leads also to test case explosion.
2012-12-28score: Doxygen Clean Up Task #2Mathew Kallada1-16/+18
2012-11-29score misc: Score misc: Clean up Doxygen #7 (GCI 2012)Alex Ivanov1-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