[charconv.from.chars] (original) (raw)
All functions named from_charsanalyze the string [first, last) for a pattern, where [first, last) is required to be a valid range.
If no characters match the pattern,value is unmodified, the member ptr of the return value is first and the member ec is equal to errc::invalid_argument.
[Note 1:
If the pattern allows for an optional sign, but the string has no digit characters following the sign, no characters match the pattern.
— _end note_]
Otherwise, the characters matching the pattern are interpreted as a representation of a value of the type of value.
The member ptrof the return value points to the first character not matching the pattern, or has the value lastif all characters match.
If the parsed value is not in the range representable by the type of value,value is unmodified and the member ec of the return value is equal to errc::result_out_of_range.
Otherwise,value is set to the parsed value, after rounding according to round_to_nearest ([round.style]), and the member ec is value-initialized.