[#BloombergLP-bdldfp-Decimal_FormatterSpecification]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdldfp.adoc[bdldfp]::Decimal&lowbar;FormatterSpecification
:relfileprefix: ../../
:mrdocs:

This template is the implementation of the `bsl&colon;&colon;format` specification for `bdldfp&colon;&colon;Decimal&ast;` types&period; It parses as well as postprocesses format specifications for `bdldfp&colon;&colon;Decimal&ast;` type formatted arguments, as well as stores the results of that pasring&colon; the specification&period;

== Synopsis

Declared in `&lt;bdldfp&lowbar;decimal&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;CHAR&gt;
struct Decimal&lowbar;FormatterSpecification;
----

== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/FormatType-0d.adoc[`FormatType`] 
| This enumeration is used as an indication of the format&hyphen;type letter in a decimal floating point format string&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/2constructor.adoc[`Decimal&lowbar;FormatterSpecification`]         [.small]#[constructor]#
| Create an uninitialized `Decimal&lowbar;FormatterSpecification` object&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/alignment.adoc[`alignment`] 
| Return the enumerator representing the requested alignment unless the status is not at least `e&lowbar;STATE&lowbar;PARSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/alternativeFlag.adoc[`alternativeFlag`] 
| Return a boolean indicating if alternative formatting was requested unless the status is not at least `e&lowbar;STATE&lowbar;PARSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/filler.adoc[`filler`] 
| Return a pointer to the character array that stored the parsed filler character that may be a multibyte code point or just a single character unless the status is not `e&lowbar;STATE&lowbar;POSTPROCESSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period; See also `numFillerCharacters()` that provides the number of characters in the array returned by this function (at least one)&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/fillerCharacters.adoc[`fillerCharacters`] 
| Return the number of filler characters in the array returned by `filler()`unless the status is not `e&lowbar;STATE&lowbar;POSTPROCESSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/fillerCodePointDisplayWidth.adoc[`fillerCodePointDisplayWidth`] 
| Return the display width of the code point represented by the array returned by `filler()`&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/formatType-04.adoc[`formatType`] 
| Return the format&hyphen;type requested unless the status is not at least `e&lowbar;STATE&lowbar;PARSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/localeSpecificFlag.adoc[`localeSpecificFlag`] 
| Return a boolean indicating if the locale specific flag was present in the format specification unless the status is not at least `e&lowbar;STATE&lowbar;PARSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period; Note that the locale specific flag is not yet supported hence the attempt to format with a specification that has this flags set will result in an exception indicating that&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/parse.adoc[`parse`] 
| Parse a decimal floating point format string using the iterator&hyphen;range from the specified `context` and if successful load the results into this object as well as set its status to `e&lowbar;PARSED`&semi; otherwise, if the format specification denoted by the `context` iterator&hyphen;range is not a valid decimal floating point format specification throw a `bsl&colon;&colon;format&lowbar;error` exception&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/postprocess.adoc[`postprocess`] 
| Postprocess this object using the argument values provided by the specified `context` to fill in the values of nested width or precision parameters if such deferred parameters exist and set the status to `e&lowbar;STATE&lowbar;POSTPROCESSED`&period; By nested format parameters we mean parameters whose value comes from an argument to the formatter function, and not an literal integer value within the format string&period; In case of an error throw a `bsl&colon;&colon;format&lowbar;error` exception&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/postprocessedPrecision.adoc[`postprocessedPrecision`] 
| Return an optional value representing the requested precision unless the status is not `e&lowbar;STATE&lowbar;POSTPROCESSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period; Note that the returned type is capable of representing more than just an optional integer, but after preprocessing it will have only two possible states&colon; no value, or an integer value&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/postprocessedWidth.adoc[`postprocessedWidth`] 
| Return an optional value representing the requested width unless the status is not `e&lowbar;STATE&lowbar;POSTPROCESSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period; Note that the returned type is capable of representing more than just an optional integer, but after preprocessing it will have only two possible states&colon; no value, or an integer value&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/sign.adoc[`sign`] 
| Return the enumerator representing the requested sign&hyphen;treatment option unless the status is not at least `e&lowbar;STATE&lowbar;PARSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification/zeroPaddingFlag.adoc[`zeroPaddingFlag`] 
| Return a boolean indicating if zero padding was requested unless the status is not at least `e&lowbar;STATE&lowbar;PARSED` in which case throw a `bsl&colon;&colon;format&lowbar;error` exception indicating that error&period;
|===



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