1*4d6fc14bSjoergSection,Description,Dependencies,Assignee,Patch,Complete 2*4d6fc14bSjoerg[concepts],"Normally this would be more fine-grained, but it’s already been implemented.",,Christopher Di Bella,,✅ 3*4d6fc14bSjoerg[tuple.helper],Update <tuple> includes.,,,, 4*4d6fc14bSjoerg[function.objects],"Comparison functions: equal_to, less, etc.",[concepts],Zoe Carver,`D100429 <https://llvm.org/D100429>`_, 5*4d6fc14bSjoerg[memory.syn],Add specializations for uninitialized_* and destroy_*. ,"[concepts], [readable.traits]: iter_value_t",,, 6*4d6fc14bSjoerg[readable.traits]: indirectly_readable_traits,indirectly_readable_traits only. ,[concepts],Christopher Di Bella,`D99461 <https://llvm.org/D99461>`_,✅ 7*4d6fc14bSjoerg[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>`_",✅ 8*4d6fc14bSjoerg[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>`_,✅ 9*4d6fc14bSjoerg[specialized.algorithms],NOT FINISHED,NOT FINISHED,,, 10*4d6fc14bSjoerg[strings],Adds begin/end and updates const_iterator.,[iterator.concepts],,, 11*4d6fc14bSjoerg[views.span],Same as [strings],[iterator.concepts],,, 12*4d6fc14bSjoerg[incrementable.traits],,[concepts],Christopher Di Bella,"`D99141 <https://llvm.org/D99141>`_, `D99863 <https://llvm.org/D99863>`_",✅ 13*4d6fc14bSjoerg[iterator.cust.move],Implement iter_move.,,Christopher Di Bella,`D99873 <https://llvm.org/D99873>`_, 14*4d6fc14bSjoerg[iterator.cust.swap],Implement iter_swap.,"[concepts], [readable.traits]: iter_value_t",,, 15*4d6fc14bSjoerg[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>`_ 16*4d6fc14bSjoergindirectly_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>`_ 17*4d6fc14bSjoerginput_iterator: `D100271 <https://llvm.org/D100271>`_ 18*4d6fc14bSjoergforward_iterator: `D100275 <https://llvm.org/D100275>`_ 19*4d6fc14bSjoergbidirectional_iterator: `D100278 <https://llvm.org/D100278>`_", 20*4d6fc14bSjoerg[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]",,, 21*4d6fc14bSjoerg[projected],,[iterator.concepts],,, 22*4d6fc14bSjoerg[common.alg.req]: pt. 1,"indirectly_movable, indirectly_movable_storable, indirectly_copyable, and indirectly_copyable_storable.",[iterator.concepts],,, 23*4d6fc14bSjoerg[common.alg.req]: pt. 2,indirectly_swappable,"[iterator.concepts], [iterator.cust.swap]",,, 24*4d6fc14bSjoerg[common.alg.req]: pt. 3,indirectly_comparable,[projected],,, 25*4d6fc14bSjoerg[common.alg.req]: pt. 4,"Note: could be done with pt. 1. … permutable, mergeable, and sortable",[iterator.concepts],,, 26*4d6fc14bSjoerg[std.iterator.tags],,[iterator.traits],,, 27*4d6fc14bSjoerg[range.iter.op.advance],ranges::advance,[iterator.concepts],Christopher Di Bella,"`D101922 <https://llvm.org/D101922>`_", 28*4d6fc14bSjoerg[range.iter.op.distance],ranges::distance,"[iterator.concepts], [range.range], [range.sized]",Christopher Di Bella,"`D102789 <https://llvm.org/D102789>`_", 29*4d6fc14bSjoerg[range.iter.op.next],ranges::next,[iterator.concepts],Christopher Di Bella,"`D102563 <https://llvm.org/D102563>`_", 30*4d6fc14bSjoerg[range.iter.op.prev],ranges::prev,[iterator.concepts],Christopher Di Bella,"`D102564 <https://llvm.org/D102564>`_", 31*4d6fc14bSjoerg[predef.iterators],Updates to predefined iterators.,"[iterator.concepts], [iterator.cust.swap], [iterator.cust.move]",,, 32*4d6fc14bSjoerg[move.sentinel],,[concepts] … Note: for testing it may be beneficial to have completed [predef.iterators]. ,,, 33*4d6fc14bSjoerg[common.iterator],,"[iterator.concepts], [iterator.cust.swap], [iterator.cust.move]",,, 34*4d6fc14bSjoerg[default.sentinels],The empty std::default_sentinel_t.,,,, 35*4d6fc14bSjoerg[counted.iterator],,"[iterator.concepts], [iterator.cust.swap], [iterator.cust.move], [default.sentinels]",,, 36*4d6fc14bSjoerg[stream.iterators],,[default.sentinels],,, 37*4d6fc14bSjoerg[ranges.syn]: pt. 1,All the stuff not specified elsewhere. ,"[range.access], [iterator.concepts], [range.all], [range.subrange], unreachable, [range.empty]",,, 38*4d6fc14bSjoerg[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>`_", 39*4d6fc14bSjoerg[range.access],"ranges::begin, end, cbegin, cend, rbegin, rend, crbegin, and crend",[iterator.concepts],Christopher Di Bella,`D100255 <https://llvm.org/D100255>`_, 40*4d6fc14bSjoerg[ranges.primitives],"size, empty, data, and cdata",[iterator.concepts],Zoe Carver,, 41*4d6fc14bSjoerg[range.range],,[range.access],,, 42*4d6fc14bSjoerg[range.sized],"ranges::sized_range","[range.primitives], [range.range]",Christopher Di Bella,"`D102434 <https://llvm.org/D102434>`_",✅ 43*4d6fc14bSjoerg[range.view],View and enable_view,[range.range],Louis Dionne,https://reviews.llvm.org/D101547,✅ 44*4d6fc14bSjoerg[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>`_ 45*4d6fc14bSjoergforward_range: `D100275 <https://llvm.org/D100275>`_ 46*4d6fc14bSjoergbidirectional_range: `D100278 <https://llvm.org/D100278>`_", 47*4d6fc14bSjoerg[view.interface],[range.utility.helpers] and view_interface,"[ranges.syn]: pt. 2, [range.view], [range.iterator.operations.prev], [range.refinements]",Zoe Carver,`D101737 <https://llvm.org/D101737>`_, 48*4d6fc14bSjoerg[range.subrange],,[view.interface],Zoe Carver,`D102006 <https://llvm.org/D102006>`_, 49*4d6fc14bSjoerg[range.all],view::all,"[range.subrange], [range.view.ref]",Zoe Carver,`D102028 <https://llvm.org/D102028>`_, 50*4d6fc14bSjoerg[range.view.ref],ref-view,[view.interface],Zoe Carver,`D102020 <https://llvm.org/D102020>`_, 51*4d6fc14bSjoerg[range.filter],filter_view,[range.all],Louis Dionne,, 52*4d6fc14bSjoerg[range.transform],transform_view,[range.all],Zoe Carver,, 53*4d6fc14bSjoerg[range.iota],iota_view,[range.all],Louis Dionne,, 54*4d6fc14bSjoerg[range.take],take_view,[range.all],Zoe Carver,, 55*4d6fc14bSjoerg[range.join],join_view,[range.all],Christopher Di Bella,, 56*4d6fc14bSjoerg[range.empty],empty_view,[view.interface],,, 57*4d6fc14bSjoerg[range.single],single_view,[view.interface],,, 58*4d6fc14bSjoerg[range.split],split_view,[range.all],,, 59*4d6fc14bSjoerg[range.counted],view::counted,[range.subrange],,, 60*4d6fc14bSjoerg[range.common],common_view,[range.all],,, 61*4d6fc14bSjoerg[range.reverse],reverse_view,[range.all],,, 62