Make node iterators compatible with different value type const-ness #438
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the following changes:
The
iterator
andconst_iterator
ofbasic_node
refer to them when instantiating their types.iterator
andconst_iterator
objects are now compatible regarding:const_iterator
objects still cannot be assigned to or used for constructingiterator
objects so the const-ness ofconst_iterator
is not casted away.operator==
,operator!=
operator<
,operator<=
,operator>
,operator>=
cbegin()
andcend()
are added tobasic_node
.They always return a
const_iterator
object to the first and past-the-last element respectively just like those provided in STL container types.The test suite and the API documentation contents have also been updated according to the above changes.
Pull Request Checklist
Read the CONTRIBUTING.md file for detailed information.
Please don't
#ifdef
s or other means.