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

Type holding a category plus an optional integral value&period; This is a value semantic type primarily used to represent width and precision of a format specification&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct FormatterSpecificationNumericValue;
----

== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue/Category-07.adoc[`Category`] 
| Categories for parsed numeric format&hyphen;specification values&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue/2constructor-0b.adoc[`FormatterSpecificationNumericValue`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue/category-0e.adoc[`category`] 
| Return the `category` attribute of this object&period;
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue/parse.adoc[`parse`] 
| 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;
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue/postprocess.adoc[`postprocess`] 
| If this object holds a non&hyphen;dynamic nested value (i&period;e&period;, `d&lowbar;type` is `e&lowbar;ARG&lowbar;ID`) update its value using the arguments stored in the specified `context` and update the type to `e&lowbar;VALUE`&period; If this object holds a dynamic nested value (i&period;e&period;, `d&lowbar;type` is `e&lowbar;NEXT&lowbar;ARG`) throw an exception of type `format&lowbar;error`&period; Otherwise do nothing&period;
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue/value.adoc[`value`] 
| Return the `value` attribute of this object&period; The behavior is undefined if `category` is either `e&lowbar;DEFAULT` or `e&lowbar;NEXT&lowbar;ARG&lowbar;ID`&period;
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue/operator_eq.adoc[`operator&equals;&equals;`] 
| Return `true` if this object is equal to the specified `other` object, otherwise return `false`&period; Two `FormatterSpecificationNumericValue` objects are considered equal if their `category` and `value` attributes are both equal&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue_ArgVisitor.adoc[BloombergLP::bslfmt::FormatterSpecificationNumericValue&lowbar;ArgVisitor]`
| Component&hyphen;private type to enable extraction of values held by format contexts during the postprocessing stage of determining the format specification (typically performed by the `FormatSpecificationParser`)&period; This type exists so that `FormatSpecificationParser` can update FormatterSpecificationNumericValue to the value contained by a Standard `basic&lowbar;format&lowbar;arg` using the Standard `visit&lowbar;format&lowbar;arg` function&period;
|===


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