[#absl-from_chars_result]
= xref:absl.adoc[absl]::from&lowbar;chars&lowbar;result
:relfileprefix: ../
:mrdocs:

The return result of a string&hyphen;to&hyphen;number conversion&period;

== Synopsis

Declared in `&lt;absl&sol;strings&sol;charconv&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct from&lowbar;chars&lowbar;result;
----

== Description

`ec` will be set to `invalid&lowbar;argument` if a well&hyphen;formed number was not found at the start of the input range, `result&lowbar;out&lowbar;of&lowbar;range` if a well&hyphen;formed number was found, but it was out of the representable range of the requested type, or to std&colon;&colon;errc() otherwise&period;

If a well&hyphen;formed number was found, `ptr` is set to one past the sequence of characters that were successfully parsed&period; If none was found, `ptr` is set to the `first` argument to from&lowbar;chars&period;

== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:absl/from_chars_result/ec.adoc[`ec`] 
| The error code describing the outcome of the conversion&period;
| xref:absl/from_chars_result/ptr.adoc[`ptr`] 
| One past the last character successfully parsed, or `first` if none&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/from_chars-01.adoc[`from&lowbar;chars`]
| Workalike compatibility version of std&colon;&colon;from&lowbar;chars from C&plus;&plus;17 for `float`&period;
| xref:absl/from_chars-0b.adoc[`from&lowbar;chars`]
| Workalike compatibility version of std&colon;&colon;from&lowbar;chars from C&plus;&plus;17&period; Currently this only supports the `double` and `float` types&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
