feat: modifying functions having iterators as input should be overloaded with functions taking const_iterator
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- backend-api-design
Research direction
Start by inspecting the circular_buffer API for functions that accept iterator inputs and compare their overloads with standard-container conventions. Reproduce the compilation errors described when replacing std::deque with boost::circular, then define done as providing the needed const_iterator-compatible overloads without breaking existing iterator calls.
Written by the indexing model from the issue text.
Description
This is what most standard containers are doing today.
By replacing std::deque with boost::circular, I got a few compilation errors...
Prior to C++11, the guideline was to prefer iterator because of some STL API defect in regard to const_iterator but this got fixed in C++11
References:
Effective STL book
item 26: Prefer iterator to const_iterator, reverse_iterator, and const_reverse_iterator
Effective Modern C++ book
Item 13: Prefer const_iterators to iterators
- Dominant language
- C++
- Stars
- 65
- Forks
- 64
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
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/circular_buffer
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
boostorg/circular_buffer#53 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
boostorg/circular_buffer#51 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
boostorg/circular_buffer#48 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
boostorg/circular_buffer#46 · 4 comments ·
-
resize is slow Open
Difficulty 3/5 1-2 days Newbie friendliness 52/100
boostorg/circular_buffer#45 ·
All issues in boostorg/circular_buffer
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100