diff --git a/libcxx/docs/Status/SpaceshipPapers.csv b/libcxx/docs/Status/SpaceshipPapers.csv --- a/libcxx/docs/Status/SpaceshipPapers.csv +++ b/libcxx/docs/Status/SpaceshipPapers.csv @@ -1,6 +1,6 @@ "Number","Name","Status","First released version" -`P1614R2 `_,The Mothership has Landed,|In Progress|, -`P2404R0 `_,"Relaxing equality_comparable_with's, totally_ordered_with's, and three_way_comparable_with's common reference requirements to support move-only types",, +`P1614R2 `_,The Mothership has Landed,|In Progress|, +`P2404R3 `_,"Relaxing equality_comparable_with's, totally_ordered_with's, and three_way_comparable_with's common reference requirements to support move-only types",, `LWG3330 `_,Include from most library headers,"|Complete|","13.0" `LWG3347 `_,"std::pair now requires T and U to be less-than-comparable",|Nothing To Do|, `LWG3350 `_,Simplify return type of lexicographical_compare_three_way,|Nothing To Do|, diff --git a/libcxx/docs/Status/SpaceshipProjects.csv b/libcxx/docs/Status/SpaceshipProjects.csv --- a/libcxx/docs/Status/SpaceshipProjects.csv +++ b/libcxx/docs/Status/SpaceshipProjects.csv @@ -1,9 +1,22 @@ Section,Description,Dependencies,Assignee,Complete +- `5.1 Clause 16: Library Introduction `_,,,, +| `[expos.only.func] `_,"| `synth-three-way `_ +| `synth-three-way-result `_",[cmp.concept],Kent Ross,|Complete| +- `5.2 Clause 17: Language support library `_,,,, +| `[support.limits.general] `_,|,None,Unassigned,|Nothing To Do| +| `[type.info] `_,| remove ops `typeinfo `_,None,Adrian Vogelsgesang,|Complete| +| `[compare.syn] `_,,"| [cmp.concept] +| [cmp.result] +| [cmp.object] +| [cmp.alg]",Unassigned,|Complete| +"| `[cmp.weakeq] `_ +| `[cmp.strongeq] `_",| removed by `P1959R0 `_,None,Unassigned,|Nothing To Do| +| `[cmp.partialord] `_,| remove ops `partial_ordering`,None,Unassigned,|Not Started| +| `[cmp.weakord] `_,| remove ops `weak_ordering`,None,Unassigned,|Not Started| +| `[cmp.strongord] `_,| remove ops `strong_ordering`,None,Unassigned,|Not Started| | `[cmp.concept] `_,"| `three_way_comparable `_ | `three_way_comparable_with `_",None,Ruslan Arutyunyan,|Complete| | `[cmp.result] `_,| `compare_three_way_result `_,None,Arthur O'Dwyer,|Complete| -| `[expos.only.func] `_,"| `synth-three-way `_ -| `synth-three-way-result `_",[cmp.concept],Kent Ross,|Complete| | `[comparisons.three.way] `_,| `compare_three_way `_,[cmp.concept],Arthur O'Dwyer,|Complete| | `[cmp.alg] `_,"| `strong_order `_ | `weak_order `_ @@ -11,48 +24,120 @@ | `strong_order_fallback `_ | `weak_order_fallback `_ | `partial_order_fallback `_",None,Arthur O'Dwyer,|Complete| [#note-strongorder]_ -| `[alg.three.way] `_,| `lexicographical_compare_three_way `_,[comparisons.three.way],Adrian Vogelsgesang,|Complete| -| `[type.info] `_,| `typeinfo `_,None,Adrian Vogelsgesang,|Complete| +| `[coroutine.syn] `_,| remove ops `strong_ordering`,None,Unassigned,|Not Started| | `[coroutine.handle.compare] `_,| `coroutine_handle `_,[comparisons.three.way],Chuanqi Xu,|Complete| -| `[pairs.spec] `_,| `pair `_,[expos.only.func],Kent Ross,|Complete| -| `[syserr.errcat.nonvirtuals] `_,| `error_category `_,[comparisons.three.way],Adrian Vogelsgesang,|Complete| +- `5.3 Clause 18: Concepts Library `_,,,, +- `5.4 Clause 19: Diagnostics Library `_,,,, +| `[system.error.syn] `_,|,"| [syserr.errcat.nonvirtuals] +| [syserr.compare]",Unassigned,|Complete| +"| `[syserr.errcat.overview] `_ +| `[syserr.errcat.nonvirtuals] `_",| `error_category `_,[comparisons.three.way],Adrian Vogelsgesang,|Complete| | `[syserr.compare] `_,"| `error_code `_ | `error_condition `_",None,Adrian Vogelsgesang,|Complete| -| `[tuple.rel] `_,| `tuple `_,[expos.only.func],Kent Ross,|Complete| -"| `[optional.relops] `_ +- `5.5 Clause 20: General utilities library `_,,,, +"| `[utility.syn] `_ +| `[pairs.pair] `_ +| `[pairs.spec] `_",| `pair `_,[expos.only.func],Kent Ross,|Complete| +"| `[tuple.syn] `_ +| `[tuple.rel] `_",| `tuple `_,[expos.only.func],Kent Ross,|Complete| +"| `[optional.syn] `_ +| `[optional.relops] `_ | `[optional.nullops] `_ | `[optional.comp.with.t] `_","| `optional `_ | `nullopt `_",None,Hristo Hristov,|Complete| -"| `[variant.relops] `_ +"| `[variant.syn] `_ +| `[variant.relops] `_ | `[variant.monostate.relops] `_","| `monostate `_ | `variant `_",None,Kent Ross,|Complete| +"| `[template.bitset] `_ +| `[bitset.members] `_","| remove ops `bitset`",None,Unassigned,|Not Started| +| `[memory.syn] `_,|,None,Unassigned,|Not Started| +| `[allocator.globals] `_,| remove ops,None,Unassigned,|Not Started| | `[unique.ptr.special] `_,| `unique_ptr `_,[comparisons.three.way],Adrian Vogelsgesang,|Complete| | `[util.smartptr.shared.cmp] `_,| `shared_ptr `_,[comparisons.three.way],Adrian Vogelsgesang,|Complete| -| `[type.index.members] `_,| `type_index `_,None,Adrian Vogelsgesang,|Complete| +| `[mem.res.syn] `_,|,None,Unassigned,|Not Started| +| `[mem.res.eq] `_,| remove ops `memory_resource`,None,Unassigned,|Not Started| +| `[mem.poly.allocator.eq] `_,| remove ops `polymorphic_allocator`,None,Unassigned,|Not Started| +"| `[allocator.adaptor.syn] `_ +| `[scoped.adaptor.operators] `_",| remove ops `scoped_allocator_adaptor`,None,Unassigned,|Not Started| +"| `[functional.syn] `_ +| `[range.cmp] `_ +| `[func.wrap.func] `_ +| `[func.wrap.func.nullptr] `_",| remove ops `function`,None,Unassigned,|Not Started| +| `[meta.unary.prop] `_,| replaced by `LWG3354 `_,None,Unassigned,|Nothing To Do| +| `[meta.trans.other] `_,|,None,Unassigned,|Not Started| +"| `[type.index.overview] `_ +| `[type.index.members] `_",| `type_index `_,None,Adrian Vogelsgesang,|Complete| | `[charconv.syn] `_,| `to_chars_result `_,None,Mark de Wever,|Complete| | `[charconv.syn] `_,| `from_chars_result `_,None,Mark de Wever,|Complete| -| `[stacktrace.entry.cmp] `_,| `stacktrace_entry `_,None,Nikolas Klauser,|In Progress| -| `[stacktrace.basic.cmp] `_,| `basic_stacktrace `_,[alg.three.way],Nikolas Klauser,|In Progress| -| `[string.cmp] `_,| `basic_string `_,None,Mark de Wever,|Complete| -| `[string.view.comparison] `_,| `basic_string_view `_,None,Mark de Wever,|Complete| +- `5.6 Clause 21: Strings library `_,,,, +"| `[char.traits.specializations.char] `_ +| `[char.traits.specializations.char8.t] `_ +| `[char.traits.specializations.char16.t] `_ +| `[char.traits.specializations.char32.t] `_ +| `[char.traits.specializations.wchar.t] `_ +| `[string.syn] `_ +| `[string.cmp] `_",| `basic_string `_,None,Mark de Wever,|Complete| +"| `[string.view.synop] `_ +| `[string.view.comparison] `_",| `basic_string_view `_,None,Mark de Wever,|Complete| +- `5.7 Clause 22: Containers library `_,,,, +| `[container.requirements.general] `_,|,None,Unassigned,|Not Started| | `[array.syn] `_ (`general `_),| `array `_,[expos.only.func],"| Adrian Vogelsgesang | Hristo Hristov",|Complete| | `[deque.syn] `_ (`general `_),| `deque `_,[expos.only.func],Hristo Hristov,|Complete| | `[forward.list.syn] `_ (`general `_),| `forward_list `_,[expos.only.func],Hristo Hristov,|Complete| | `[list.syn] `_ (`general `_),| `list `_,[expos.only.func],Adrian Vogelsgesang,|Complete| | `[vector.syn] `_ (`general `_),| `vector `_,[expos.only.func],Adrian Vogelsgesang,|In Progress| +| `[array.overview] `_ (`general `_),| `array`,None,Unassigned,|Nothing To Do| | `[associative.map.syn] `_ (`general `_),"| `map `_ | `multimap `_",[expos.only.func],Hristo Hristov,|Complete| -| `[associative.set.syn] `_ (`general `_),"| multiset -| set",[expos.only.func],Hristo Hristov,|In Progress| +| `[associative.set.syn] `_ (`general `_),"| `multiset `_ +| `set `_",[expos.only.func],Hristo Hristov,|Complete| +| `[unord.map.syn] `_,"| remove ops `unordered_map` +| remove ops `unordered_multimap`",None,Unassigned,|Not Started| +| `[unordered.set.syn] `_,"| remove ops `unordered_set` +| remove ops `unordered_multiset`",None,Unassigned,|Not Started| +| `[queue.syn] `_,| `queue `_,None,Hristo Hristov,|Complete| +| `[stack.syn] `_,| `stack `_,None,Hristo Hristov,|In Progress| | `[queue.ops] `_,| `queue `_,None,Hristo Hristov,|Complete| | `[stack.ops] `_,| `stack `_,None,Hristo Hristov,|In Progress| +- `5.8 Clause 23: Iterators library `_,,,, +| `[iterator.synopsis] `_,|,None,Unassigned,|Not Started| | `[reverse.iter.cmp] `_,| `reverse_iterator `_,None,Mikhail Maltsev,|Complete| -| `[move.iter.op.comp] `_,| `move_iterator `_,None,Arthur O'Dwyer,|Complete| -| `[counted.iter.cmp] `_,| `counted_iterator `_,None,Zoe Carver,|Complete| +"| `[move.iterator] `_ +| `[move.iter.op.comp] `_",| `move_iterator `_,None,Arthur O'Dwyer,|Complete| +"| `[common.iterator] `_ +| `[common.iter.cmp] `_",| remove ops `common_iterator`,None,Unassigned,|Not Started| +"| `[counted.iterator] `_ +| `[counted.iter.cmp] `_",| `counted_iterator `_,None,Zoe Carver,|Complete| +"| `[unreachable.sentinel] `_ +| `[unreachable.sentinel.cmp] `_",| `unreachable_sentinel_t`,None,Unassigned,|Not Started| +"| `[istream.iterator] `_ +| `[istream.iterator.ops] `_",| remove ops `istream_iterator`,None,Unassigned,|Not Started| +"| `[istreambuf.iterator] `_ +| `[istreambuf.iterator.ops] `_",| remove ops `istream_iterator`,None,Unassigned,|Not Started| +- `5.9 Clause 24: Ranges library `_,,,, | `[range.iota.iterator] `_,| `ranges::iota_view::iterator `_,[concepts.cmp],Arthur O'Dwyer,|Complete| +| `[range.iota.sentinel] `_,| remove ops `iota_view::sentinel`,None,Unassigned,|Not Started| +| `[range.filter.iterator] `_,| remove ops `filter_view::iterator`,None,Unassigned,|Not Started| +| `[range.filter.sentinel] `_,| remove ops `filter_view::sentinel`,None,Unassigned,|Not Started| | `[range.transform.iterator] `_,| `ranges::transform_view::iterator `_,[concepts.cmp],Arthur O'Dwyer,|Complete| -| `[range.elements.iterator] `_,| ranges::elements_view::iterator,[concepts.cmp],Hui Xie,|Complete| +| `[range.transform.sentinel] `_,| remove ops `transform_view::sentinel`,None,Unassigned,|Not Started| +| `[range.take.sentinel] `_,| remove ops `take_view::sentinel`,None,Unassigned,|Not Started| +| `[range.join.iterator] `_,| remove ops `join_view::iterator`,None,Unassigned,|Not Started| +| `[range.join.sentinel] `_,| remove ops `join_view::sentinel`,None,Unassigned,|Not Started| +| `[range.split.outer] `_,| remove ops `split_view::outer_iterator`,None,Unassigned,|Not Started| +| `[range.split.inner] `_,| remove ops `split_view::inner_iterator`,None,Unassigned,|Not Started| +- `5.10 Clause 25: Algorithms library `_,,,, +"| `[algorithm.syn] `_ +| `[alg.three.way] `_",| `lexicographical_compare_three_way `_,[comparisons.three.way],Adrian Vogelsgesang,|Complete| +- `5.11 Clause 26: Numerics library `_,,,, +| `[complex.syn] `_,| remove ops `complex`,None,Unassigned,|Not Started| +| `[complex.ops] `_,| remove ops,None,Unassigned,|Not Started| +"| `[class.slice.overview] `_ +| `[slice.ops] `_",| `slice`,None,Unassigned,|Not Started| +- `5.12 Clause 27: Time library `_,,,, +| `[time.syn] `_,|,None,Unassigned,|Not Started| | `[time.duration.comparisons] `_, `chrono::duration `_, None, Hristo Hristov, |Complete| | `[time.point.comparisons] `_, `chrono::time_point `_, None, Hristo Hristov, |Complete| "| `[time.cal.day.nonmembers] `_ @@ -71,12 +156,33 @@ | `chrono::year_month_day `_ | `chrono::year_month_day_last `_",None,Mark de Wever,|Complete| "| `[time.zone.nonmembers] `_ +| `[time.zone.zonedtime.nonmembers] `_ | `[time.zone.leap.nonmembers] `_ | `[time.zone.link.nonmembers] `_","| chrono::time_zone | chrono::leap_second | chrono::time_zone_link",A ```` implementation,Unassigned,|Not Started| +- `5.13 Clause 28: Localization library `_,,,, +| `[locale] `_,| remove ops `locale`,None,Unassigned,|Not Started| +| `[locale.operators] `_,| remove ops,None,Unassigned,|Not Started| +- `5.14 Clause 29: Input/output library `_,,,, | `[fs.filesystem.syn] `_,| `filesystem::space_info `_,None,Adrian Vogelsgesang,|Complete| -| `[fs.path.nonmember] `_,| `filesystem::path `_,None,Adrian Vogelsgesang,|Complete| -| `[fs.dir.entry.obs] `_,| `filesystem::directory_entry `_,None,Adrian Vogelsgesang,|Complete| +"| `[fs.class.path] `_ +| `[fs.path.nonmember] `_",| `filesystem::path `_,None,Adrian Vogelsgesang,|Complete| +| `[fs.class.file.status] `_,|,None,Unassigned,|Not Started| +"| `[fs.class.directory.entry] `_ +| `[fs.dir.entry.obs] `_",| `filesystem::directory_entry `_,None,Adrian Vogelsgesang,|Complete| +- `5.15 Clause 30: Regular expressions library `_,,,, +| `[re.syn] `_,|,None,Mark de Wever,|In Progress| | `[re.submatch.op] `_,| `sub_match `_,None,Mark de Wever,|Complete| +| `[re.results.nonmember] `_,| remove ops,None,Mark de Wever,|In Progress| +"| `[re.regiter] `_, +| `[re.regiter.comp] `_",| remove ops `regex_iterator`,None,Mark de Wever,|In Progress| +"| `[re.tokiter] `_ +| `[re.tokiter.comp] `_",| remove ops `regex_token_iterator`,None,Mark de Wever,|In Progress| +- `5.16 Clause 31: Atomic operations library `_,,,, +- `5.17 Clause 32: Thread support library `_,,,, | `[thread.thread.id] `_,| `thread::id `_,None,Adrian Vogelsgesang,|Complete| +Misc (Not part of R1614),,,, +| `[range.elements.iterator] `_,| `ranges::elements_view::iterator `_,[concepts.cmp],Hui Xie,|Complete| +| `[stacktrace.entry.cmp] `_,| `stacktrace_entry `_,None,Nikolas Klauser,|In Progress| +| `[stacktrace.basic.cmp] `_,| `basic_stacktrace `_,[alg.three.way],Nikolas Klauser,|In Progress|