All functions named 
from_chars
analyze 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 
ptr
of the return value
points to the first character
not matching the pattern,
or has the value 
last
if 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
.