[libcxx-commits] [libcxx] 81507bc - [libc++] [doc] Add issue tracking for spaceship operator<=> implementation

Christopher Di Bella via libcxx-commits libcxx-commits at lists.llvm.org
Thu Aug 19 16:14:24 PDT 2021


Author: Kent Ross
Date: 2021-08-19T23:13:44Z
New Revision: 81507bcf6b35801beaeefa77cc1b0148e56fac36

URL: https://github.com/llvm/llvm-project/commit/81507bcf6b35801beaeefa77cc1b0148e56fac36
DIFF: https://github.com/llvm/llvm-project/commit/81507bcf6b35801beaeefa77cc1b0148e56fac36.diff

LOG: [libc++] [doc] Add issue tracking for spaceship operator<=> implementation

Add issue tracking and assignment for the implementation of P1614R2: The Mothership has Landed.

Reviewed By: cjdb, #libc, Mordante, Quuxplusone

Differential Revision: https://reviews.llvm.org/D107877

Added: 
    libcxx/docs/Status/Spaceship.rst
    libcxx/docs/Status/SpaceshipPapers.csv
    libcxx/docs/Status/SpaceshipProjects.csv

Modified: 
    libcxx/docs/index.rst

Removed: 
    


################################################################################
diff  --git a/libcxx/docs/Status/Spaceship.rst b/libcxx/docs/Status/Spaceship.rst
new file mode 100644
index 0000000000000..41116edd73b7b
--- /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: SpaceshipProjects.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: SpaceshipPapers.csv
+   :header-rows: 1
+   :widths: auto

diff  --git a/libcxx/docs/Status/SpaceshipPapers.csv b/libcxx/docs/Status/SpaceshipPapers.csv
new file mode 100644
index 0000000000000..0a944df8be839
--- /dev/null
+++ b/libcxx/docs/Status/SpaceshipPapers.csv
@@ -0,0 +1,10 @@
+"Number","Name","Status","First released version"
+`P1614R2 <https://wg21.link/P1614>`_,The Mothership has Landed,|In Progress|,
+`P2404R0 <https://wg21.link/P2404>`_,"Relaxing equality_comparable_with's, totally_ordered_with's, and three_way_comparable_with's common reference requirements to support move-only types",,
+`P2405R0 <https://wg21.link/P2405>`_,nullopt_t and nullptr_t should both have operator<=> and operator==,,
+`LWG3330 <https://wg21.link/LWG3330>`_,Include <compare> from most library headers,|In Progress|,
+`LWG3347 <https://wg21.link/LWG3347>`_,"std::pair<T, U> now requires T and U to be less-than-comparable",|Nothing To Do|,
+`LWG3350 <https://wg21.link/LWG3350>`_,Simplify return type of lexicographical_compare_three_way,|Nothing To Do|,
+`LWG3360 <https://wg21.link/LWG3360>`_,three_way_comparable_with is inconsistent with similar concepts,|Nothing To Do|,
+`LWG3380 <https://wg21.link/LWG3380>`_,common_type and comparison categories,|Nothing To Do|,
+`LWG3395 <https://wg21.link/LWG3395>`_,Definition for three-way comparison needs to be updated,|Nothing To Do|,

diff  --git a/libcxx/docs/Status/SpaceshipProjects.csv b/libcxx/docs/Status/SpaceshipProjects.csv
new file mode 100644
index 0000000000000..f361d4790013e
--- /dev/null
+++ b/libcxx/docs/Status/SpaceshipProjects.csv
@@ -0,0 +1,77 @@
+Section,Description,Dependencies,Assignee,Complete
+[cmp.concept],"| `three_way_comparable <https://reviews.llvm.org/D103478>`_
+| `three_way_comparable_with <https://reviews.llvm.org/D103478>`_",None,Ruslan Arutyunyan,In progress
+[cmp.result],| `compare_three_way_result <https://reviews.llvm.org/D103581>`_,None,Arthur O'Dwyer,In progress
+[expos.only.func],"| `synth-three-way <https://reviews.llvm.org/D107721>`_
+| `synth-three-way-result <https://reviews.llvm.org/D107721>`_",[cmp.concept],Kent Ross,In progress
+[comparisons.three.way],| `compare_three_way <https://reviews.llvm.org/D80899>`_,[cmp.concept],Christopher Di Bella,In progress
+[cmp.alg],"| `strong_order <https://reviews.llvm.org/D107036>`_
+| `weak_order <https://reviews.llvm.org/D107036>`_
+| `partial_order <https://reviews.llvm.org/D107036>`_",None,Arthur O'Dwyer,In progress
+[alg.three.way],| `lexicographical_compare_three_way <https://reviews.llvm.org/D80902>`_,[comparisons.three.way],Christopher Di Bella,In progress
+[coroutine.handle.compare],| coroutine_handle,[comparisons.three.way],Unassigned,Not started
+[pairs.spec],| `pair <https://reviews.llvm.org/D107721>`_,[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 <https://reviews.llvm.org/D108250>`_,[expos.only.func],Kent Ross,In progress
+"[optional.relops]
+[optional.nullops]
+[optional.comp.with.t]","| optional
+| nullopt",None,Kent Ross,In progress
+"[variant.relops]
+[variant.monostate.relops]","| monostate
+| variant",None,Kent Ross,In progress
+[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,None,Unassigned,Not started
+[stacktrace.basic.cmp],| basic_stacktrace,[alg.three.way],Unassigned,Not started
+[string.cmp],| `basic_string <https://reviews.llvm.org/D80895>`_,None,Christopher Di Bella,In progress
+[string.view.comparison],| `basic_string_view <https://reviews.llvm.org/D80891>`_,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
index b13e42f1dd2eb..a4bbac7ecf252 100644
--- a/libcxx/docs/index.rst
+++ b/libcxx/docs/index.rst
@@ -43,8 +43,9 @@ Getting Started with libc++
    Status/Cxx17
    Status/Cxx20
    Status/Cxx2b
-   Status/Ranges
    Status/Format
+   Status/Ranges
+   Status/Spaceship
 
 
 .. toctree::


        


More information about the libcxx-commits mailing list