| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Ensure that we extract a node only from the right tree.
|
|
|
|
|
| |
The _RBTree_Insert() is no longer used in the score. Move it to sapi
and make it rtems_rbtree_insert().
|
| |
|
|
|
|
|
| |
Use the BSD <sys/tree.h> implementation since it is faster, more
flexible and uses less storage. See https://github.com/sebhub/rb-bench.
|
|
|
|
|
|
|
| |
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().
|
| |
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
| |
|
| |
|
|
|
|
|
| |
The user of the red-black tree container must now ensure that at most
one thread at once can access an instance.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Save the return value from the unprotected version and return it after
enabling interrupts to their previous level.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
When inserting to a red-black tree with duplicates the min and max pointers are
not updated properly. We need to check the key of the min/max node against the
insert node since the insert point could be the child of a node with an
identical key to the min/max node.
|
|
|
|
|
| |
Change the meaning of the compare result to simplify comparison of
integer keys.
|
|
|
|
|
|
|
| |
* score/src/rbtreeextract.c:
Make _RBTree_Extract_validate_unprotected static.
* score/src/rbtreeinsert.c:
Make _RBTree_Validate_insert_unprotected static.
|
|
|
|
|
|
|
|
|
|
| |
PR 1886/cpukit
* sapi/include/rtems/rbtree.h, sapi/inline/rtems/rbtree.inl,
score/include/rtems/score/rbtree.h,
score/inline/rtems/score/rbtree.inl, score/src/rbtree.c,
score/src/rbtreeinsert.c: This patch enables inserting duplicate keys
into rbtree. It is possible to turn on this feature when initializing
the tree.
|
|
|
|
|
|
|
|
|
| |
PR 1877/cpukit
* libfs/src/imfs/imfs_mknod.c, libfs/src/imfs/memfile.c,
sapi/inline/rtems/rbtree.inl, score/include/rtems/score/rbtree.h,
score/inline/rtems/score/rbtree.inl, score/src/rbtree.c,
score/src/rbtreefind.c, score/src/rbtreeinsert.c: Add comparison
function for RBTrees.
|
| |
|
|
PR 1641/cpukit
* sapi/Makefile.am, sapi/preinstall.am, score/Makefile.am,
score/preinstall.am: Add Red Black Tree data structure to score.
* sapi/include/rtems/rbtree.h, sapi/inline/rtems/rbtree.inl,
score/include/rtems/score/rbtree.h, score/inline/rtems/score/rbtree.inl,
score/src/rbtree.c, score/src/rbtreeextract.c,
score/src/rbtreefind.c, score/src/rbtreefindheader.c,
score/src/rbtreeget.c, score/src/rbtreeinsert.c,
score/src/rbtreepeek.c: New files.
|