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

Bloomberg formatting library namespace&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslfmt/EnableStreamedFormatter.adoc[`EnableStreamedFormatter`] 
| Boolean trait that enables streamed formatting of a type&period;
| xref:BloombergLP/bslfmt/FormatSpecificationParser.adoc[`FormatSpecificationParser`] 
| Mechanism for parsing Standard C&plus;&plus; format&hyphen;specification sections&period;
| xref:BloombergLP/bslfmt/FormatSpecificationParserEnums.adoc[`FormatSpecificationParserEnums`] 
| Namespace struct holding enums used for parsing&period;
| xref:BloombergLP/bslfmt/Format_ArgUtil.adoc[`Format&lowbar;ArgUtil`] 
| Component&hyphen;private utilities for constructing format&hyphen;argument arrays&period;
| xref:BloombergLP/bslfmt/Format_ArgsStore.adoc[`Format&lowbar;ArgsStore`] 
| Component&hyphen;private store of `basic&lowbar;format&lowbar;arg` objects&period;
| xref:BloombergLP/bslfmt/Format_ArgsUtil.adoc[`Format&lowbar;ArgsUtil`] 
| Utility functions for manipulating format argument types&period;
| xref:BloombergLP/bslfmt/Format_ContextFactory.adoc[`Format&lowbar;ContextFactory`] 
| Utility factory for constructing `basic&lowbar;format&lowbar;context` objects&period;
| xref:BloombergLP/bslfmt/Format_ContextOutputIteratorBase.adoc[`Format&lowbar;ContextOutputIteratorBase`] 
| This component&hyphen;private type is an abstract base required to type&hyphen;erase output iterators as required by the `format&lowbar;context` and `wformat&lowbar;context` typedefs&period;
| xref:BloombergLP/bslfmt/Format_ContextOutputIteratorImpl.adoc[`Format&lowbar;ContextOutputIteratorImpl`] 
| Type&hyphen;erasing holder for a concrete output iterator&period;
| xref:BloombergLP/bslfmt/Format_ContextOutputIteratorRef.adoc[`Format&lowbar;ContextOutputIteratorRef`] 
| Type&hyphen;erased output&hyphen;iterator interface used by format contexts&period;
| xref:BloombergLP/bslfmt/Format_String_TestUpdater.adoc[`Format&lowbar;String&lowbar;TestUpdater`] 
| This is a component&hyphen;private type which enables test drivers to work around the compile&hyphen;time restrictions in `basic&lowbar;format&lowbar;string` construction&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdBasicString-07.adoc[`FormatterBase&lowbar;IsStdBasicString`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;basic&lowbar;string`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdBasicStringView-09.adoc[`FormatterBase&lowbar;IsStdBasicStringView`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;basic&lowbar;string&lowbar;view`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoCpp20FormattableType.adoc[`FormatterBase&lowbar;IsStdChronoCpp20FormattableType`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of any of the C&plus;&plus;20 standard formattable `std&colon;&colon;chrono` types&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoDuration-07.adoc[`FormatterBase&lowbar;IsStdChronoDuration`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;duration`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoFileTime-08.adoc[`FormatterBase&lowbar;IsStdChronoFileTime`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;file&lowbar;time`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoGpsTime-0c.adoc[`FormatterBase&lowbar;IsStdChronoGpsTime`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;gps&lowbar;time`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoHhMmSs-01.adoc[`FormatterBase&lowbar;IsStdChronoHhMmSs`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;hh&lowbar;mm&lowbar;ss`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoLocalTime-07.adoc[`FormatterBase&lowbar;IsStdChronoLocalTime`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;local&lowbar;time`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoPointInTimeType.adoc[`FormatterBase&lowbar;IsStdChronoPointInTimeType`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of any of the `std&colon;&colon;chrono` types that deal with points in time&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoSysTime-0d.adoc[`FormatterBase&lowbar;IsStdChronoSysTime`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;sys&lowbar;time`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoTaiTime-014.adoc[`FormatterBase&lowbar;IsStdChronoTaiTime`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;tai&lowbar;time`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoTimeType.adoc[`FormatterBase&lowbar;IsStdChronoTimeType`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of any of `std&colon;&colon;chrono&colon;&colon;&ast;&lowbar;time`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoUtcTime-0a7.adoc[`FormatterBase&lowbar;IsStdChronoUtcTime`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;utc&lowbar;time`&period;
| xref:BloombergLP/bslfmt/FormatterBase_IsStdChronoZonedTime-034.adoc[`FormatterBase&lowbar;IsStdChronoZonedTime`] 
| Simple trait type that tells is `t&lowbar;TYPE` is an instance of `std&colon;&colon;chrono&colon;&colon;zoned&lowbar;time`&period;
| xref:BloombergLP/bslfmt/FormatterCharUtil-059.adoc[`FormatterCharUtil`] 
| Namespace for character conversion utilities used by formatters&period;
| xref:BloombergLP/bslfmt/FormatterCharacter_CharacterOutput-0a.adoc[`FormatterCharacter&lowbar;CharacterOutput`] 
| This struct provides a function that outputs the specified `value` to the specified `out`&period;
| xref:BloombergLP/bslfmt/FormatterCharacter_MakeUnsigned-07.adoc[`FormatterCharacter&lowbar;MakeUnsigned`] 
| Meta&hyphen;function yielding the unsigned analogue of a character type&period;
| xref:BloombergLP/bslfmt/FormatterFloating_Base.adoc[`FormatterFloating&lowbar;Base`] 
| Implementation of floating&hyphen;point formatters and specification parsing&period;
| xref:BloombergLP/bslfmt/FormatterIntegralBase.adoc[`FormatterIntegralBase`] 
| Base class for integral and integral&hyphen;like `bsl&colon;&colon;formatter` specializations&period;
| xref:BloombergLP/bslfmt/FormatterIntegral_Category-0c.adoc[`FormatterIntegral&lowbar;Category`] 
| This struct provides a function that returns a category of the formatter in accordance with the (template parameter) `t&lowbar;VALUE&lowbar;TYPE`&period;
| xref:BloombergLP/bslfmt/FormatterPointer_Nullptr.adoc[`FormatterPointer&lowbar;Nullptr`] 
| This struct is a specialization of the `bsl&colon;&colon;formatter` template for the `bsl&colon;&colon;nullptr&lowbar;t`&period;
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue.adoc[`FormatterSpecificationNumericValue`] 
| Value&hyphen;semantic type holding a category and optional integral value&period;
| xref:BloombergLP/bslfmt/FormatterSpecificationNumericValue_ArgVisitor.adoc[`FormatterSpecificationNumericValue&lowbar;ArgVisitor`] 
| Visitor that extracts an integral nested format&hyphen;argument value&period;
| xref:BloombergLP/bslfmt/FormatterString_GraphemeCluster.adoc[`FormatterString&lowbar;GraphemeCluster`] 
| &lsqb;*PRIVATE*&rsqb;Characterizes a Unicode grapheme cluster&period;
| xref:BloombergLP/bslfmt/FormatterTestUtil-00.adoc[`FormatterTestUtil`] 
| Namespace for test helpers that verify `bslfmt` formatter behavior&period;
| xref:BloombergLP/bslfmt/FormatterTestUtil_Oracle-0ff.adoc[`FormatterTestUtil&lowbar;Oracle`] 
| Namespace for standard&hyphen;library formatting oracles used in tests&period;
| xref:BloombergLP/bslfmt/FormatterUnicodeData.adoc[`FormatterUnicodeData`] 
| &lsqb;*PRIVATE*&rsqb;Namespace for generated Unicode character data tables&period;
| xref:BloombergLP/bslfmt/MockFormatContext.adoc[`MockFormatContext`] 
| Format context for testing `bsl&colon;&colon;formatter` specializations&period;
| xref:BloombergLP/bslfmt/MockFormatContext_Iterator.adoc[`MockFormatContext&lowbar;Iterator`] 
| This class template provides an output iterator to the `MockFormatContext` output buffer allowing appending formatted data&period;
| xref:BloombergLP/bslfmt/MockParseContext.adoc[`MockParseContext`] 
| This class template provides an access to the format specification current parsing state&period;
| xref:BloombergLP/bslfmt/PadUtil.adoc[`PadUtil`] 
| This `struct` serves as a namespace for static functions related to padding output by bslfmt&period;
| xref:BloombergLP/bslfmt/StandardFormatSpecification.adoc[`StandardFormatSpecification`] 
| A general mechanism to parse and validate a Standard format specification string for a given argument type&period;
| xref:BloombergLP/bslfmt/Streamed-0f9.adoc[`Streamed`] 
| Formattable wrapper that uses `ostream` `operator&lt;&lt;` to format a type&period;
| xref:BloombergLP/bslfmt/StreamedFormatter.adoc[`StreamedFormatter`] 
| This class provides the implementations of `parse` and `format` for formatters that format a type using its streaming operator&period;
| xref:BloombergLP/bslfmt/Streamed_NoWarningConstructorTag.adoc[`Streamed&lowbar;NoWarningConstructorTag`] 
| A _component private_ tag type used to internally construct a `Streamed` object without a warning (about an already existing formatter)&period;
| xref:BloombergLP/bslfmt/TestSpecificationGenerator.adoc[`TestSpecificationGenerator`] 
| Generator of exhaustive standard formatting&hyphen;specification combinations&period;
| xref:BloombergLP/bslfmt/TestSpecificationGenerator_BoolOption.adoc[`TestSpecificationGenerator&lowbar;BoolOption`] 
| This class is an implementation of the `TestSpecificationGenerator&lowbar;Option` for options that have only two states&colon; they are either present or not&period;
| xref:BloombergLP/bslfmt/TestSpecificationGenerator_Option.adoc[`TestSpecificationGenerator&lowbar;Option`] 
| Base class for linked option nodes in a `TestSpecificationGenerator`&period;
| xref:BloombergLP/bslfmt/TestSpecificationGenerator_TypedOption.adoc[`TestSpecificationGenerator&lowbar;TypedOption`] 
| Option node that iterates through a set of typed values&period;
| xref:BloombergLP/bslfmt/UnicodeCodePoint.adoc[`UnicodeCodePoint`] 
| Characterizes a Unicode code point as a set of integral attributes&period;
| xref:BloombergLP/bslfmt/basic_format_arg-0d.adoc[`basic&lowbar;format&lowbar;arg`] 
| Type&hyphen;erased format argument holding a value for formatting&period;
| xref:BloombergLP/bslfmt/basic_format_args.adoc[`basic&lowbar;format&lowbar;args`] 
| Access to a set of type&hyphen;erased formatting arguments&period;
| xref:BloombergLP/bslfmt/basic_format_context.adoc[`basic&lowbar;format&lowbar;context`] 
| A format context for use by `formatter&colon;&colon;format()` partial specialization&period;
| xref:BloombergLP/bslfmt/basic_format_parse_context.adoc[`basic&lowbar;format&lowbar;parse&lowbar;context`] 
| Parse context for use by `formatter&colon;&colon;parse()` specializations&period;
| xref:BloombergLP/bslfmt/basic_format_string.adoc[`basic&lowbar;format&lowbar;string`] 
| Type that wraps a `basic&lowbar;string&lowbar;view` for use by formatting functions&period;
|===


== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslfmt/format_args.adoc[`format&lowbar;args`] 
| Alias for `basic&lowbar;format&lowbar;args` specialized on a `char` format context&period;
| xref:BloombergLP/bslfmt/format_context.adoc[`format&lowbar;context`] 
| Alias for `basic&lowbar;format&lowbar;context` specialized on `char`&period;
| xref:BloombergLP/bslfmt/format_parse_context.adoc[`format&lowbar;parse&lowbar;context`] 
| Alias for `basic&lowbar;format&lowbar;parse&lowbar;context` specialized on `char`&period;
| xref:BloombergLP/bslfmt/format_string.adoc[`format&lowbar;string`] 
| Alias for a checked `char` format string&period;
| xref:BloombergLP/bslfmt/wformat_args.adoc[`wformat&lowbar;args`] 
| Alias for `basic&lowbar;format&lowbar;args` specialized on a `wchar&lowbar;t` format context&period;
| xref:BloombergLP/bslfmt/wformat_context.adoc[`wformat&lowbar;context`] 
| Alias for `basic&lowbar;format&lowbar;context` specialized on `wchar&lowbar;t`&period;
| xref:BloombergLP/bslfmt/wformat_parse_context.adoc[`wformat&lowbar;parse&lowbar;context`] 
| Alias for `basic&lowbar;format&lowbar;parse&lowbar;context` specialized on `wchar&lowbar;t`&period;
| xref:BloombergLP/bslfmt/wformat_string.adoc[`wformat&lowbar;string`] 
| Alias for a checked `wchar&lowbar;t` format string&period;
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslfmt/format-08.adoc[`format`] 
| `format` overloads
| xref:BloombergLP/bslfmt/format_to-0b3.adoc[`format&lowbar;to`] 
| `format&lowbar;to` overloads
| xref:BloombergLP/bslfmt/format_to_n-07.adoc[`format&lowbar;to&lowbar;n`] 
| Format `args` per `fmtStr` into `out`, writing at most `maxNumChars`&period;
| xref:BloombergLP/bslfmt/formatted_size-00.adoc[`formatted&lowbar;size`] 
| Return the length of the string that formatting `args` per `fmtStr` yields&period;
| xref:BloombergLP/bslfmt/make_format_args.adoc[`make&lowbar;format&lowbar;args`] 
| From the specified `fmt&lowbar;args` return a type convertible to `format&lowbar;arg&lowbar;store` that is suitable for use by the `char`&hyphen;based `bslfmt&colon;&colon;format` functions&period;
| xref:BloombergLP/bslfmt/make_wformat_args.adoc[`make&lowbar;wformat&lowbar;args`] 
| From the specified `fmt&lowbar;args` return a type convertible to `format&lowbar;arg&lowbar;store` that is suitable for use by the `wchar&lowbar;t`&hyphen;based `bslfmt&colon;&colon;format` functions&period;
| xref:BloombergLP/bslfmt/print-054.adoc[`print`] 
| `print` overloads
| xref:BloombergLP/bslfmt/println-0ce.adoc[`println`] 
| `println` overloads
| xref:BloombergLP/bslfmt/streamed-07.adoc[`streamed`] 
| `streamed` overloads
| xref:BloombergLP/bslfmt/swap.adoc[`swap`] 
| Exchange the values of the specified `lhs` and `rhs`&period;
| xref:BloombergLP/bslfmt/vformat-0e.adoc[`vformat`] 
| `vformat` overloads
| xref:BloombergLP/bslfmt/vformat_to-0f.adoc[`vformat&lowbar;to`] 
| `vformat&lowbar;to` overloads
| xref:BloombergLP/bslfmt/visit_format_arg.adoc[`visit&lowbar;format&lowbar;arg`] 
| Invoke `visitor` on the value contained by `arg`&period;
| xref:BloombergLP/bslfmt/vprint_nonunicode-06.adoc[`vprint&lowbar;nonunicode`] 
| `vprint&lowbar;nonunicode` overloads
| xref:BloombergLP/bslfmt/vprint_nonunicode_buffered.adoc[`vprint&lowbar;nonunicode&lowbar;buffered`] 
| Format type&hyphen;erased `args` per `fmt` into a buffer and write to `stream`&period;
| xref:BloombergLP/bslfmt/vprint_unicode-07.adoc[`vprint&lowbar;unicode`] 
| `vprint&lowbar;unicode` overloads
| xref:BloombergLP/bslfmt/vprint_unicode_buffered.adoc[`vprint&lowbar;unicode&lowbar;buffered`] 
| Format type&hyphen;erased `args` per `fmt` into a buffer and write to `stream`&period;
|===


== Using Declarations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslfmt/format_error.adoc[`format&lowbar;error`] 
| Alias for `std&colon;&colon;format&lowbar;error` in the `bsl` namespace&period;
| xref:BloombergLP/bslfmt/format_to_n_result.adoc[`format&lowbar;to&lowbar;n&lowbar;result`] 
| Alias for `std&colon;&colon;format&lowbar;to&lowbar;n&lowbar;result` in the `bslfmt` namespace&period;
|===



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