Created on 2019-07-10.00:00:00 last changed 45 months ago
Proposed resolution:
This wording is relative to N4830.
[Drafting note: As a drive-by fix the Remarks element is also converted to a Constraints element.]
Modify [time.parse] as indicated:
template<class charT, class traits, class Alloc, class Parsable> unspecified parse(const basic_string<charT, traits, Alloc>& fmt, Parsable& tp, minutes& offset);-6-
RemarksConstraints:This function shall not participate in overload resolution unlessThe expressionfrom_stream(declval<basic_istream<charT, traits>&>(), fmt.c_str(), tp, declval<basic_string<charT, traits, Alloc>*>()nullptr, &offset)is
-7- Returns: A manipulator that, when extracted from a basic_istream<charT, traits> is, calls from_stream(is, fmt.c_str(), tp, static_cast<basic_string<charT, traits, Alloc>*>(nullptr), &offset).a validwell-formedexpressionwhen treated as an unevaluated operand.
[ 2019-08-17 Issue Prioritization ]
Status to Tentatively Ready and priority to 0 after six positive votes on the reflector.
The parse
overload that does not accept the abbreviation but does accept an offset,
because the expression in the Remarks: clause:
from_stream(declval<basic_istream<charT, traits>*>(), fmt.c_str(), tp, nullptr, &offset)
is not valid. This is caused by deduction failure for the basic_string<charT, traits, Alloc>*
from nullptr
(see this link):
History | |||
---|---|---|---|
Date | User | Action | Args |
2021-02-25 10:48:01 | admin | set | status: wp -> c++20 |
2019-11-19 14:48:30 | admin | set | status: voting -> wp |
2019-10-07 02:48:00 | admin | set | status: ready -> voting |
2019-08-17 12:20:24 | admin | set | messages: + msg10557 |
2019-08-17 12:20:24 | admin | set | status: new -> ready |
2019-07-28 15:43:50 | admin | set | messages: + msg10520 |
2019-07-10 00:00:00 | admin | create |