diff --git a/libcxx/docs/Status/Spaceship.rst b/libcxx/docs/Status/Spaceship.rst new file mode 100644 --- /dev/null +++ b/libcxx/docs/Status/Spaceship.rst @@ -0,0 +1,49 @@ +.. spaceship-status: + +============================================== +libc++ Spaceship Operator Status (operator<=>) +============================================== + +.. include:: ../Helpers/Styles.rst + +.. contents:: + :local: + + +Overview +================================ + +This document contains the status of the C++20 spaceship operator support +in libc++. It is used to track both the status of the sub-projects of the effort +and who is assigned to these sub-projects. This is imperative to effective +implementation so that work is not duplicated and implementors are not blocked +by each other. + +If you are interested in contributing to this effort, please send a message +to the #libcxx channel in the LLVM discord. Please *do not* start working on any +of the assigned items below. + + +Sub-Projects in the Implementation Effort +========================================= + +.. csv-table:: + :file: SpaceshipPaper.csv + :header-rows: 1 + :widths: auto + + +Misc. Items and TODOs +==================================== + +(Note: files with required updates will contain the TODO at the beginning of the +list item so they can be easily found via global search.) + + +Paper and Issue Status +==================================== + +.. csv-table:: + :file: SpaceshipIssues.csv + :header-rows: 1 + :widths: auto diff --git a/libcxx/docs/Status/SpaceshipIssues.csv b/libcxx/docs/Status/SpaceshipIssues.csv new file mode 100644 --- /dev/null +++ b/libcxx/docs/Status/SpaceshipIssues.csv @@ -0,0 +1 @@ +"Number","Name","Status","First released version" diff --git a/libcxx/docs/Status/SpaceshipPaper.csv b/libcxx/docs/Status/SpaceshipPaper.csv new file mode 100644 --- /dev/null +++ b/libcxx/docs/Status/SpaceshipPaper.csv @@ -0,0 +1,71 @@ +Section,Description,Dependencies,Assignee,Complete +[expos.only.func],"| `synth-three-way `_ +| `synth-three-way-result `_",[cmp.concept],Kent Ross, In Progress +[comparisons.three.way],| compare_three_way,[cmp.concept],Unassigned,Not started +[alg.three.way],| lexicographical_compare_three_way,[comparisons.three.way],Unassigned,Not started +[coroutine.handle.compare],| coroutine_handle,?,Unassigned,Not started +[pairs.spec],| `pair `_,[expos.only.func],Kent Ross,In Progress +[syserr.errcat.nonvirtuals],| error_category,[comparisons.three.way],Unassigned,Not started +[syserr.compare],"| error_code +| error_condition",None,Unassigned,Not started +[tuple.rel],| tuple,[expos.only.func],Unassigned,Not started +"[optional.relops] +[optional.nullops] +[optional.comp.with.t]","| optional +| nullopt",None,Unassigned,Not started +"[variant.relops] +[variant.monostate.relops]","| monostate +| variant",None,Unassigned,Not started +[unique.ptr.special],| unique_ptr,[comparisons.three.way],Unassigned,Not started +[util.smartptr.shared.cmp],| shared_ptr,[comparisons.three.way],Unassigned,Not started +[type.index.members],| type_index,None,Unassigned,Not started +[stacktrace.entry.cmp],| stacktrace_entry,Language standard needs to be updated,Unassigned,Not started +[stacktrace.basic.cmp],| basic_stacktrace,[alg.three.way],Unassigned,Not started +[string.cmp],| `basic_string `_,None,Christopher Di Bella,In Progress +[string.view.comparison],| `basic_string_view `_,None,Christopher Di Bella,In Progress +[array.syn],| array,[expos.only.func],Unassigned,Not started +[deque.syn],| deque,[expos.only.func],Unassigned,Not started +[forward.list.syn],| forward_list,[expos.only.func],Unassigned,Not started +[list.syn],| list,[expos.only.func],Unassigned,Not started +[vector.syn],| vector,[expos.only.func],Unassigned,Not started +[associative.map.syn],"| map +| multimap",[expos.only.func],Unassigned,Not started +[associative.set.syn],"| multiset +| set",[expos.only.func],Unassigned,Not started +[queue.ops],| queue,None,Unassigned,Not started +[stack.ops],| stack,None,Unassigned,Not started +[reverse.iter.cmp],| reverse_iterator,None,Unassigned,Not started +[move.iter.cmp],| move_iterator,None,Unassigned,Not started +[counted.iter.cmp],| counted_iterator,None,Unassigned,Not started +[range.iota.iterator],| ranges::iota_view::iterator,[concepts.cmp],Unassigned,Not started +[range.transform.iterator],| ranges::transform_view::iterator,[concepts.cmp],Unassigned,Not started +[range.elements.iterator],| ranges::elements_view::iterator,[concepts.cmp],Unassigned,Not started +"[time.duration.comparisons] +[time.point.comparisons] +[time.cal.day.nonmembers] +[time.cal.month.nonmembers] +[time.cal.year.nonmembers] +[time.cal.md.nonmembers] +[time.cal.mdlast] +[time.cal.ym.nonmembers] +[time.cal.ymd.nonmembers] +[time.cal.ymdlast.nonmembers] +[time.zone.nonmembers] +[time.zone.leap.nonmembers] +[time.zone.link.nonmembers]","| chrono::duration +| chrono::time_point +| chrono::day +| chrono::month +| chrono::year +| chrono::month_day +| chrono::month_day_last +| chrono::year_month +| chrono::year_month_day +| chrono::year_month_day_last +| chrono::time_zone +| chrono::leap_second +| chrono::time_zone_link",None,Unassigned,Not started +[fs.path.nonmember],| filesystem::path,None,Unassigned,Not started +[fs.dir.entry.obs],| filesystem::directory_entry,None,Unassigned,Not started +[re.submatch.op],| sub_match,None,Unassigned,Not started +[thread.thread.id],| thread::id,None,Unassigned,Not started diff --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst --- a/libcxx/docs/index.rst +++ b/libcxx/docs/index.rst @@ -45,6 +45,7 @@ Status/Cxx2b Status/Ranges Status/Format + Status/Spaceship .. toctree::