Skip to content

Conversation

@cpplearner
Copy link
Contributor

Implements LWG-3554 "chrono::parse needs const charT* and basic_string_view<charT> overloads" (despite the title, LWG-3554 does not add basic_string_view overloads).

Fixes #1928

@cpplearner cpplearner requested a review from a team as a code owner October 6, 2021 08:30
@CaseyCarter CaseyCarter added the LWG Library Working Group issue label Oct 6, 2021
};

template <class _CharT, class _Traits, class _Alloc, class _Parsable>
struct _Time_parse_iomanip {
Copy link
Contributor

@MattStephanson MattStephanson Oct 7, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe a // TRANSITION, ABI comment to the effect that this can be replaced with _Time_parse_iomanip_c_str in the future?

Edit: this is showing more context than I intended. I was referring specifically to the struct _Time_parse_iomanip { line.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The small code duplication is not bad enough to worry me, personally. Storing a reference to basic_string also has a tiny benefit, that is the format string is not invalidated if the basic_string is resized after the call to parse.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the manipulator is supposed to live long enought for the format string to be resized, but fair enough regarding the amount of code duplication.

@StephanTLavavej StephanTLavavej added the chrono C++20 chrono label Oct 13, 2021
@CaseyCarter CaseyCarter self-assigned this Oct 20, 2021
cpplearner and others added 2 commits October 28, 2021 01:55
Co-authored-by: Casey Carter <cartec69@gmail.com>
@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 75d373a into microsoft:main Nov 3, 2021
@StephanTLavavej
Copy link
Member

Thanks for implementing this LWG issue resolution in a timely manner! 😹 ⌚ 🎉

@cpplearner cpplearner deleted the chrono-parse branch November 3, 2021 03:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chrono C++20 chrono LWG Library Working Group issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LWG-3554 chrono::parse needs const charT* and basic_string_view<charT> overloads

4 participants