[libcxx-commits] [libcxx] d081d75 - [libc++][NFC] Remove unimplemented parts of chrono synopsis

Joe Loser via libcxx-commits libcxx-commits at lists.llvm.org
Mon Oct 25 08:18:01 PDT 2021


Author: Joe Loser
Date: 2021-10-25T11:16:40-04:00
New Revision: d081d75dc8fc4b5173d6b15ffcf077d2e0d4143f

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

LOG: [libc++][NFC] Remove unimplemented parts of chrono synopsis

Several parts in the `chrono` synopsis for C++20 are not yet
implemented. The current recommendation is that things are added to the
synopsis when implemented -- not beforehand. As such, remove the
not-yet-implemented parts to avoid confusion.

Reviewed By: ldionne, Quuxplusone, #libc

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

Added: 
    

Modified: 
    libcxx/include/chrono

Removed: 
    


################################################################################
diff  --git a/libcxx/include/chrono b/libcxx/include/chrono
index 5ba405e2f2b0..d05b3dbe3755 100644
--- a/libcxx/include/chrono
+++ b/libcxx/include/chrono
@@ -148,11 +148,6 @@ template <class Clock, class Duration1, class Duration2>
 
 namespace chrono {
 
-
-template<class T> struct is_clock;  // C++20
-template<class T> inline constexpr bool is_clock_v = is_clock<T>::value;   // C++20
-
-
 // duration arithmetic
 template <class Rep1, class Period1, class Rep2, class Period2>
   constexpr
@@ -281,18 +276,6 @@ template <class Duration>
 using sys_seconds = sys_time<seconds>;                  // C++20
 using sys_days    = sys_time<days>;                     // C++20
 
-class utc_clock;                                        // C++20
-
-template <class Duration>
-  using utc_time  = time_point<utc_clock, Duration>;    // C++20
-using utc_seconds = utc_time<seconds>;                  // C++20
-
-class tai_clock;                                        // C++20
-
-template <class Duration>
-  using tai_time  = time_point<tai_clock, Duration>;    // C++20
-using tai_seconds = tai_time<seconds>;                  // C++20
-
 class file_clock;                                       // C++20
 
 template<class Duration>
@@ -319,12 +302,6 @@ template<class Duration>
 using local_seconds = local_time<seconds>;
 using local_days    = local_time<days>;
 
-// 25.7.9, time_point conversions template<class DestClock, class SourceClock>    // C++20
-struct clock_time_conversion;
-
-template<class DestClock, class SourceClock, class Duration>
-  auto clock_cast(const time_point<SourceClock, Duration>& t);
-
 // 25.8.2, class last_spec    // C++20
 struct last_spec;
 
@@ -639,39 +616,12 @@ public:
     constexpr          precision to_duration() const noexcept;
 };
 
-template <class charT, class traits, class Duration>
-  basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os, hh_mm_ss<Duration> const& hms);
-
 // 26.10, 12/24 hour functions
 constexpr bool is_am(hours const& h) noexcept;
 constexpr bool is_pm(hours const& h) noexcept;
 constexpr hours make12(const hours& h) noexcept;
 constexpr hours make24(const hours& h, bool is_pm) noexcept;
 
-
-// 25.10.2, time zone database     // C++20
-struct tzdb;
-class tzdb_list;
-
-// 25.10.2.3, time zone database access    // C++20
-const tzdb& get_tzdb();
-tzdb_list& get_tzdb_list();
-const time_zone* locate_zone(string_view tz_name);
-const time_zone* current_zone();
-
-// 25.10.2.4, remote time zone database support    // C++20
-const tzdb& reload_tzdb();
-string remote_version();
-
-// 25.10.3, exception classes    // C++20
-class nonexistent_local_time;
-class ambiguous_local_time;
-
-// 25.10.4, information classes    // C++20
-struct sys_info;
-struct local_info;
-
 // 25.10.5, class time_zone    // C++20
 enum class choose {earliest, latest};
 class time_zone;
@@ -682,101 +632,6 @@ bool operator>(const time_zone& x, const time_zone& y) noexcept;
 bool operator<=(const time_zone& x, const time_zone& y) noexcept;
 bool operator>=(const time_zone& x, const time_zone& y) noexcept;
 
-// 25.10.6, class template zoned_traits    // C++20
-template<class T> struct zoned_traits;
-
-// 25.10.7, class template zoned_time    // C++20
-template<class Duration, class TimeZonePtr = const time_zone*> class zoned_time;
-using zoned_seconds = zoned_time<seconds>;
-
-template<class Duration1, class Duration2, class TimeZonePtr>
-  bool operator==(const zoned_time<Duration1, TimeZonePtr>& x,
-                  const zoned_time<Duration2, TimeZonePtr>& y);
-template<class Duration1, class Duration2, class TimeZonePtr>
-  bool operator!=(const zoned_time<Duration1, TimeZonePtr>& x,
-                  const zoned_time<Duration2, TimeZonePtr>& y);
-
-// 25.10.8, leap second support    // C++20
-class leap;
-
-bool operator==(const leap& x, const leap& y);
-bool operator!=(const leap& x, const leap& y);
-bool operator< (const leap& x, const leap& y);
-bool operator> (const leap& x, const leap& y);
-bool operator<=(const leap& x, const leap& y);
-bool operator>=(const leap& x, const leap& y);
-template<class Duration>
-  bool operator==(const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator==(const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator!=(const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator!=(const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator< (const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator< (const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator> (const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator> (const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator<=(const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator<=(const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator>=(const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator>=(const sys_time<Duration>& x, const leap& y);
-
-// 25.10.9, class link    // C++20
-class link;
-bool operator==(const link& x, const link& y);
-bool operator!=(const link& x, const link& y);
-bool operator< (const link& x, const link& y);
-bool operator> (const link& x, const link& y);
-bool operator<=(const link& x, const link& y);
-bool operator>=(const link& x, const link& y);
-
-// 25.11, formatting    // C++20
-template<class charT, class Streamable>
-  basic_string<charT>
-    format(const charT* fmt, const Streamable& s);
-
-template<class charT, class Streamable>
-  basic_string<charT>
-    format(const locale& loc, const charT* fmt, const Streamable& s);
-
-template<class charT, class traits, class Alloc, class Streamable>
-  basic_string<charT, traits, Alloc>
-    format(const basic_string<charT, traits, Alloc>& fmt, const Streamable& s);
-
-template<class charT, class traits, class Alloc, class Streamable>
-  basic_string<charT, traits, Alloc>
-    format(const locale& loc, const basic_string<charT, traits, Alloc>& fmt,
-           const Streamable& s);
-
-// 25.12, parsing    // C++20
-template<class charT, class traits, class Alloc, class Parsable>
-unspecified
-    parse(const basic_string<charT, traits, Alloc>& format, Parsable& tp);
-
-template<class charT, class traits, class Alloc, class Parsable>
-unspecified
-    parse(const basic_string<charT, traits, Alloc>& format, Parsable& tp,
-          basic_string<charT, traits, Alloc>& abbrev);
-
-template<class charT, class traits, class Alloc, class Parsable>
-unspecified
-    parse(const basic_string<charT, traits, Alloc>& format, Parsable& tp,
-          minutes& offset);
-
-template<class charT, class traits, class Alloc, class Parsable>
-unspecified
-    parse(const basic_string<charT, traits, Alloc>& format, Parsable& tp,
-          basic_string<charT, traits, Alloc>& abbrev, minutes& offset);
-
 // calendrical constants
 inline constexpr last_spec                              last{};       // C++20
 inline constexpr chrono::weekday                        Sunday{0};    // C++20


        


More information about the libcxx-commits mailing list