Extend traits class to support custom logic after swaps and rotations
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by comparing the referenced Ygg node traits in src/rbtree.hpp and the left-rotation implementation in src/rbtree.cpp with the corresponding Boost.Intrusive traits and tree-operation interfaces. The issue is complete only after the supported callback design, affected operations, and validation approach are agreed and implemented.
Written by the indexing model from the issue text.
Description
Hi,
The Ygg library of intrusive data structures (https://github.com/tinloaf/ygg) allows custom logic to be called after node swaps and rotations by implementing the node traits class interface. For example:
- Node traits: https://github.com/tinloaf/ygg/blob/ea8f04fdf8e5d19e048ba9f8d130bfda75863756/src/rbtree.hpp#L120
- Implementation of the left rotation: https://github.com/tinloaf/ygg/blob/ea8f04fdf8e5d19e048ba9f8d130bfda75863756/src/rbtree.cpp#L318
Do you see it possible to allow similar functionality in Boost.Instrusive by extending the traits class interface similarly to as in Ygg?
- Dominant language
- C++
- Stars
- 66
- Forks
- 74
- Avg merge
- 5h 22m
- Merged PRs (30d)
- 1
Getting set up
We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/intrusive
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
All issues in boostorg/intrusive
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
sandialabs/seacas#945 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ROCm/FastFlowLM#757 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
espressif/esp-matter#1867 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
mltframework/shotcut#1920 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day