[#BloombergLP-bslfmt-FormatterSpecificationNumericValue-parse]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslfmt.adoc[bslfmt]::xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue.adoc[FormatterSpecificationNumericValue]::parse
:relfileprefix: ../../../
:mrdocs:

Parse a hard&hyphen;coded integer or nested argument specification&period;

== Synopsis

Declared in `&lt;bslfmt&lowbar;formatterspecificationnumericvalue&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;ITER&gt;
constexpr
void
parse(
    t&lowbar;ITER* start,
    t&lowbar;ITER end,
    bool needInitialDot);
----

== Description

Parse the string in the random&hyphen;access&hyphen;iterator range specified by `start` and `end` to extract either a hard&hyphen;coded integer or a nested argument specification&period; If the specified `needInitialDot` is true the string is only parsed if `&ast;start &equals;&equals; &apos;&period;&apos;` and a `format&lowbar;error` exception is thrown if the string following the initial dot is empty&period; If an error occurs throw an exception of type `format&lowbar;error`, otherwise update the output `start` iterator to point to the first unparsed character of the string and store the parsed result into this object&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *start*
| pointer to the current parse position&semi; updated on success to the first unparsed character
| *end*
| end of the random&hyphen;access&hyphen;iterator range to parse
| *needInitialDot*
| if `true`, require a leading `&apos;&period;&apos;` (precision)
|===


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