-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
P0355R7 <chrono> Calendars And Time Zones #12
Comments
Is someone working on this? I think I could partially implement this. |
We haven't started working on this. Be aware that it's a major feature, one of the largest in C++20. Yep, WG21-P1361 "Integrating One of the things that we were planning to do is evaluate whether we should attempt to implement this from scratch, or incorporate an existing implementation. libc++'s implementation is in progress (according to their hopefully-accurate status page), while Howard Hinnant (the designer of chrono, and the original author of libc++) has an implementation of this feature, but we'd need to work out licensing. |
That's why I said partially ;). Though having had a quick look at what libc++ has implemented so far it's not a whole lot more that I was considering on implementing. (basically, not the clocks and I/O/formatting) |
Well I've started working on it anway because I have too much free time on my hands and it's a fun learning experience 🤷♂ |
@StephanTLavavej Quick question, when the standard says "Returns: expression" I shouldn't deviate from that at all, right? |
Actually, the Standard’s As If Rule says that you can do anything you want, as long as the observable effects are “as if” you did exactly what the Standard says. For a Returns element (or the stronger Effects: Equivalent To), you generally should do what it says verbatim (with appropriate qualification etc.), but sometimes it is faster or better to do something different. If you do something different, you should comment it and/or call it out in your commit notes. |
Always compile kernel tests, but only run on x64
P0355R7
<chrono>
Calendars And Time ZonesP1466R3 Miscellaneous Minor Fixes For
<chrono>
P1650R0 Printing
std::chrono::days
With Suffix"d"
P1981R0 Renaming
leap
Toleap_second
P1982R0 Renaming
link
Totime_zone_link
LWG-3094
[time.duration.io]p4
makes surprising claims about encodingLWG-3145
file_clock
breaks ABI for C++17 implementationsLWG-3206
year_month_day
conversion tosys_days
uses not-existing member functionLWG-3209 Expression in
year::ok()
returns clause is ill-formedLWG-3218 Modifier for
%d
parse flag does not match POSIX andformat
specificationLWG-3221 Result of
year_month
arithmetic withmonths
is ambiguousLWG-3224
zoned_time
constructor fromTimeZonePtr
does not specify initialization oftp_
LWG-3225
zoned_time
converting constructor shall not benoexcept
LWG-3226
zoned_time
constructor fromstring_view
should acceptzoned_time<Duration2, TimeZonePtr2>
LWG-3230 Format specifier
%y/%Y
is missing locale alternative versionsLWG-3231
year_month_day_last::day
specification does not cover!ok()
valuesLWG-3232 Inconsistency in
zoned_time
deduction guidesLWG-3235
parse
manipulator without abbreviation is not callableLWG-3241
chrono-spec
grammar ambiguity in [time.format]LWG-3245 Unnecessary restriction on
'%p'
parse specifierLWG-3252 Parse locale's aware modifiers for commands are not consistent with POSIX spec
LWG-3260
year_month*
arithmetic rejects durations convertible to yearsLWG-3262 Formatting of negative durations is not specified
LWG-3269 Parse manipulators do not specify the result of the extraction from stream
LWG-3270 Parsing and formatting
%j
withduration
sLWG-3272
%I%p
should parse/formatduration
since midnightLWG-3273 Specify
weekday_indexed
to range of[0, 7]
LWG-3294
zoned_time
deduction guides misinterpretsstring/char*
LWG-3314 Is stream insertion behavior locale dependent when
Period::type
ismicro
?LWG-3316 Correctly define epoch for
utc_clock/utc_timepoint
LWG-3317 Incorrect
operator<<
for floating-point durationsLWG-3318 Clarify whether clocks can represent time before their epoch
LWG-3319 Properly reference specification of IANA time zone database
LWG-3332
[time.format]
chrono-format-spec forgotq
andQ
LWG-3359
<chrono>
leap second support should allow for negative leap secondsLWG-3383
[time.zone.leap.nonmembers]
sys_seconds
should be replaced withseconds
Feature-test macro as of WG21-N4842, increased by WG21-P1902:
#define __cpp_lib_chrono 201907L
The text was updated successfully, but these errors were encountered: