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

A general mechanism to parse and validate a Standard format specification string for a given argument type&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;CHAR&gt;
class StandardFormatSpecification
    : public xref:BloombergLP/bslfmt/FormatSpecificationParserEnums.adoc[FormatSpecificationParserEnums]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bslfmt/FormatSpecificationParserEnums.adoc[FormatSpecificationParserEnums]`
| Namespace struct holding enums used for parsing&period;
|===

== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslfmt/FormatSpecificationParserEnums/Alignment.adoc[`Alignment`] 
| Alignment options parsed from a format specification&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/Category.adoc[`Category`] 
| Format category enumeration&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/FormatType-01.adoc[`FormatType`] 
| Format type enumeration&period;
| xref:BloombergLP/bslfmt/FormatSpecificationParserEnums/ProcessingState.adoc[`ProcessingState`] 
| Parser processing states for a format specification&period;
| xref:BloombergLP/bslfmt/FormatSpecificationParserEnums/Sections.adoc[`Sections`] 
| Bit flags indicating which format&hyphen;spec sections were parsed&period;
| xref:BloombergLP/bslfmt/FormatSpecificationParserEnums/Sign.adoc[`Sign`] 
| Sign options parsed from a format specification&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslfmt/StandardFormatSpecification/2constructor.adoc[`StandardFormatSpecification`]         [.small]#[constructor]#
| Create an uninitialized `StandardFormatSpecification` object&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/alignment.adoc[`alignment`] 
| Return the requested alignment enumerator&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/alternativeFlag.adoc[`alternativeFlag`] 
| Return whether alternative formatting was requested&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/filler.adoc[`filler`] 
| Return a pointer to the parsed filler character storage&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/fillerCodePointDisplayWidth.adoc[`fillerCodePointDisplayWidth`] 
| Return the display width of the filler code point&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/formatType-0a.adoc[`formatType`] 
| Return the requested format&hyphen;type enumerator&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/localeSpecificFlag.adoc[`localeSpecificFlag`] 
| Return whether a locale&hyphen;specific formatting flag was present&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/numFillerCharacters.adoc[`numFillerCharacters`] 
| Return the number of characters in the filler storage&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/parse.adoc[`parse`] 
| Parse a Standard format specification from `context`&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/postprocess.adoc[`postprocess`] 
| Resolve nested width and precision from `context` arguments&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/postprocessedPrecision.adoc[`postprocessedPrecision`] 
| Return the postprocessed format precision, if any&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/postprocessedWidth.adoc[`postprocessedWidth`] 
| Return the postprocessed format width, if any&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/processingState.adoc[`processingState`] 
| Return the current processing state of this specification&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/sign.adoc[`sign`] 
| Return the requested sign&hyphen;treatment enumerator&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification/zeroPaddingFlag.adoc[`zeroPaddingFlag`] 
| Return whether zero padding was requested&period;
|===



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