| Section,Description,Dependencies,Assignee,Patch,Complete |
| [concepts],"Normally this would be more fine-grained, but it’s already been implemented.",,Christopher Di Bella,,✅ |
| [tuple.helper],Update <tuple> includes.,,,, |
| [function.objects],"Comparison functions: equal_to, less, etc.",[concepts],Zoe Carver,`D100429 <https://llvm.org/D100429>`_, |
| [memory.syn],Add specializations for uninitialized_* and destroy_*. ,"[concepts], [readable.traits]: iter_value_t",,, |
| [readable.traits]: indirectly_readable_traits,indirectly_readable_traits only. ,[concepts],Christopher Di Bella,`D99461 <https://llvm.org/D99461>`_,✅ |
| [iterator.traits],Mainly updates to iterator_traits.,"[readable.traits]: indirectly_readable_traits, [concepts]",Christopher Di Bella,"`D99854 <https://llvm.org/D99854>`_, `D99855 <https://llvm.org/D99855>`_",✅ |
| [readable.traits]: iter_value_t,Finish implementing readable.traits.,"[readable.traits]: indirectly_readable_traits, [concepts], [iterator.traits]",Christopher Di Bella,`D99863 <https://llvm.org/D99863>`_,✅ |
| [specialized.algorithms],NOT FINISHED,NOT FINISHED,,, |
| [strings],Adds begin/end and updates const_iterator.,[iterator.concepts],,, |
| [views.span],Same as [strings],[iterator.concepts],,, |
| [incrementable.traits],,[concepts],Christopher Di Bella,"`D99141 <https://llvm.org/D99141>`_, `D99863 <https://llvm.org/D99863>`_",✅ |
| [iterator.cust.move],Implement iter_move.,,Christopher Di Bella,`D99873 <https://llvm.org/D99873>`_, |
| [iterator.cust.swap],Implement iter_swap.,"[concepts], [readable.traits]: iter_value_t",,, |
| [iterator.concepts],"indirectly_readable, indirectly_writable, weakly_incrementable, incrementable, input_or_output_iterator, sentinel_for, sized_sentinel_for, input_iterator, output_iterator, forward_iterator, bidirectional_iterator, random_access_iterator, and contiguous_iterator.","[concepts], [readable.traits]: iter_value_t, [iterator.traits]",Christopher Di Bella,"indirectly_readable: `D100073 <https://llvm.org/D100073>`_ |
| indirectly_writable: `D100078 <https://llvm.org/D100078>`_ weakly_incrementable, incrementable: `D100080 <https://llvm.org/D100080>`_ input_or_output_iterator, sentinel_for: `D100160 <https://llvm.org/D100160>`_ |
| input_iterator: `D100271 <https://llvm.org/D100271>`_ |
| forward_iterator: `D100275 <https://llvm.org/D100275>`_ |
| bidirectional_iterator: `D100278 <https://llvm.org/D100278>`_", |
| [indirectcallable.indirectinvocable],"indirectly_unary_invocable, indirectly_regular_unary_invocable, indirectly_unary_predicate, indirectly_binary_predicate, indirectly_equivalence_relation, and indirectly_strict_weak_order.","[concepts], [readable.traits]: iter_value_t, [iterator.traits]",,, |
| [projected],,[iterator.concepts],,, |
| [common.alg.req]: pt. 1,"indirectly_movable, indirectly_movable_storable, indirectly_copyable, and indirectly_copyable_storable.",[iterator.concepts],,, |
| [common.alg.req]: pt. 2,indirectly_swappable,"[iterator.concepts], [iterator.cust.swap]",,, |
| [common.alg.req]: pt. 3,indirectly_comparable,[projected],,, |
| [common.alg.req]: pt. 4,"Note: could be done with pt. 1. … permutable, mergeable, and sortable",[iterator.concepts],,, |
| [std.iterator.tags],,[iterator.traits],,, |
| [range.iterator.operations.advance],ranges::advance,[iterator.concepts],,, |
| [range.iterator.operations.distance],ranges::distance,"[iterator.concepts], [range.range]",,, |
| [range.iterator.operations.next],ranges::next,[iterator.concepts],,, |
| [range.iterator.operations.prev],ranges::prev,[iterator.concepts],,, |
| [predef.iterators],Updates to predefined iterators.,"[iterator.concepts], [iterator.cust.swap], [iterator.cust.move]",,, |
| [move.sentinel],,[concepts] … Note: for testing it may be beneficial to have completed [predef.iterators]. ,,, |
| [common.iterator],,"[iterator.concepts], [iterator.cust.swap], [iterator.cust.move]",,, |
| [default.sentinels],The empty std::default_sentinel_t.,,,, |
| [counted.iterator],,"[iterator.concepts], [iterator.cust.swap], [iterator.cust.move], [default.sentinels]",,, |
| [stream.iterators],,[default.sentinels],,, |
| [ranges.syn]: pt. 1,All the stuff not specified elsewhere. ,"[range.access], [iterator.concepts], [range.all], [range.subrange], unreachable, [range.empty]",,, |
| [ranges.syn]: pt. 2,"iterator_t, sentinel_t, and safe_iterator_t",[range.access],Christopher Di Bella,"`D100255 <https://llvm.org/D100255>`_, `D100269 <https://llvm.org/D100269>`_", |
| [range.access],"ranges::begin, end, cbegin, cend, rbegin, rend, crbegin, and crend",[iterator.concepts],Christopher Di Bella,`D100255 <https://llvm.org/D100255>`_, |
| [ranges.primitives],"size, empty, data, and cdata",[iterator.concepts],Zoe Carver,, |
| [range.range],,[range.access],,, |
| [range.sized],,"[range.primitives], [range.range]",,, |
| [range.view],View and enable_view,[range.range],Louis Dionne,https://reviews.llvm.org/D101547,✅ |
| [range.refinements],"OutputRange, InputRange, ForwardRange, BidirectionalRange, RandomAccessRange, ContiguousRange, CommonRange, ViewableRange","[ranges.syn]: pt. 2, [range.range]",Christopher Di Bella,"input_range: `D100271 <https://llvm.org/D100271>`_ |
| forward_range: `D100275 <https://llvm.org/D100275>`_ |
| bidirectional_range: `D100278 <https://llvm.org/D100278>`_", |
| [view.interface],[range.utility.helpers] and view_interface,"[ranges.syn]: pt. 2, [range.view], [range.iterator.operations.prev], [range.refinements]",,Zoe Carver, |
| [range.subrange],,[view.interface],,, |
| [range.all],view::all,"[range.subrange], [range.view.ref]",,Christopher Di Bella, |
| [range.view.ref],ref-view,[view.interface],,Christopher Di Bella, |
| [range.filter],filter_view,[range.all],,Louis Dionne, |
| [range.transform],transform_view,[range.all],,, |
| [range.iota],iota_view,[range.all],,Louis Dionne, |
| [range.take],take_view,[range.all],,, |
| [range.join],join_view,[range.all],,Christopher Di Bella, |
| [range.empty],empty_view,[view.interface],,, |
| [range.single],single_view,[view.interface],,, |
| [range.split],split_view,[range.all],,, |
| [range.counted],view::counted,[range.subrange],,, |
| [range.common],common_view,[range.all],,, |
| [range.reverse],reverse_view,[range.all],,, |