diff --git a/libcxx/docs/Status/RangesPaper.csv b/libcxx/docs/Status/RangesPaper.csv --- a/libcxx/docs/Status/RangesPaper.csv +++ b/libcxx/docs/Status/RangesPaper.csv @@ -67,7 +67,9 @@ `[common.alg.req] `_: pt. 4,"| permutable | mergeable | sortable",[iterator.concepts],Unassigned,Not started -`[std.iterator.tags] `_,,[iterator.traits],Unassigned,Not started +`[std.iterator.tags] `_,"`contiguous_iterator_tag `_ +| `iterator_concept specialization for pointers `_ +",[iterator.traits],Eric Fiselier,✅ `[range.iter.ops] `_,"| `ranges::advance `_ | `ranges::distance `_ | `ranges::next `_ diff --git a/libcxx/include/iterator b/libcxx/include/iterator --- a/libcxx/include/iterator +++ b/libcxx/include/iterator @@ -165,6 +165,7 @@ struct forward_iterator_tag : public input_iterator_tag {}; struct bidirectional_iterator_tag : public forward_iterator_tag {}; struct random_access_iterator_tag : public bidirectional_iterator_tag {}; +struct contiguous_iterator_tag : public random_access_iterator_tag {}; // 27.4.3, iterator operations template // constexpr in C++17