mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-18 12:16:49 +00:00
[libc++][TZDB] Implements zoned_seconds typedef. (#95141)
Implements parts of: - P0355 Extending to chrono Calendars and Time Zones
This commit is contained in:
parent
b9496a74eb
commit
eae174c724
@ -205,6 +205,8 @@ template <class _Duration, class _TimeZonePtrOrName, class TimeZonePtr2>
|
||||
zoned_time(_TimeZonePtrOrName&&, zoned_time<_Duration, TimeZonePtr2>, choose = choose::earliest)
|
||||
-> zoned_time<common_type_t<_Duration, seconds>, __time_zone_representation<_TimeZonePtrOrName>>;
|
||||
|
||||
using zoned_seconds = zoned_time<seconds>;
|
||||
|
||||
template <class _Duration1, class _Duration2, class _TimeZonePtr>
|
||||
_LIBCPP_HIDE_FROM_ABI bool
|
||||
operator==(const zoned_time<_Duration1, _TimeZonePtr>& __lhs, const zoned_time<_Duration2, _TimeZonePtr>& __rhs) {
|
||||
|
@ -793,6 +793,8 @@ template<class T> struct zoned_traits;
|
||||
template<class Duration, class TimeZonePtr = const time_zone*> // C++20
|
||||
class zoned_time;
|
||||
|
||||
using zoned_seconds = zoned_time<seconds>; // C++20
|
||||
|
||||
template<class Duration1, class Duration2, class TimeZonePtr> // C++20
|
||||
bool operator==(const zoned_time<Duration1, TimeZonePtr>& x,
|
||||
const zoned_time<Duration2, TimeZonePtr>& y);
|
||||
|
@ -233,9 +233,7 @@ export namespace std {
|
||||
// [time.zone.zonedtime], class template zoned_time
|
||||
using std::chrono::zoned_time;
|
||||
|
||||
# if 0
|
||||
using std::chrono::zoned_seconds;
|
||||
# endif // if 0
|
||||
|
||||
// [time.zone.leap], leap second support
|
||||
using std::chrono::leap_second;
|
||||
|
@ -23,6 +23,8 @@
|
||||
// zoned_time& operator=(const zoned_time&) = default;
|
||||
//
|
||||
// };
|
||||
//
|
||||
// using zoned_seconds = zoned_time<seconds>;
|
||||
|
||||
#include <chrono>
|
||||
#include <concepts>
|
||||
@ -61,3 +63,6 @@ static_assert(!std::is_copy_constructible_v<std::chrono::zoned_time< std::chrono
|
||||
static_assert(!std::is_move_constructible_v<std::chrono::zoned_time< std::chrono::days, std::unique_ptr<int>>>);
|
||||
static_assert(!std::is_copy_assignable_v<std::chrono::zoned_time< std::chrono::days, std::unique_ptr<int>>>);
|
||||
static_assert(!std::is_move_assignable_v<std::chrono::zoned_time< std::chrono::days, std::unique_ptr<int>>>);
|
||||
|
||||
// using zoned_seconds = zoned_time<seconds>;
|
||||
static_assert(std::same_as<std::chrono::zoned_seconds, std::chrono::zoned_time<std::chrono::seconds>>);
|
||||
|
Loading…
x
Reference in New Issue
Block a user