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

Namespace for decimal floating&hyphen;point types and utilities&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdldfp/DecimalConvertUtil.adoc[`DecimalConvertUtil`] 
| This `struct` provides a namespace for utility functions that convert between the decimal floating&hyphen;point types of `bdldfp&lowbar;decimal` and various other formats&period;
| xref:BloombergLP/bdldfp/DecimalConvertUtil_IntelDfp.adoc[`DecimalConvertUtil&lowbar;IntelDfp`] 
| This `struct` provides a namespace for utility functions that convert between the decimal floating&hyphen;point types of `bdldfp&lowbar;decimal` and various other formats&period;
| xref:BloombergLP/bdldfp/DecimalFormatConfig.adoc[`DecimalFormatConfig`] 
| This attribute class characterizes how to configure certain behavior of `bdldfp&colon;&colon;DecimalUtil&colon;&colon;format` functions&period;
| xref:BloombergLP/bdldfp/DecimalImpUtil.adoc[`DecimalImpUtil`] 
| This `struct` provides a namespace for utility functions that implement core decimal floating&hyphen;poing operations&period;
| xref:BloombergLP/bdldfp/DecimalImpUtil_IntelDfp.adoc[`DecimalImpUtil&lowbar;IntelDfp`] 
| This `struct` provides a namespace for implementation functions that work in terms of the underlying C&hyphen;style decimal floating point implementation, Intel&apos;s DFP library&period;
| xref:BloombergLP/bdldfp/DecimalNumGet.adoc[`DecimalNumGet`] 
| A facet type (mechanism) used in reading decimal floating&hyphen;point types&period; Note that this type does not follow BDE conventions because its content is dictated by the C&plus;&plus; standard and native standard library implementations&period; See ISO&sol;IEC TR 24733 3&period;10&period;2 for details&period;
| xref:BloombergLP/bdldfp/DecimalNumPut.adoc[`DecimalNumPut`] 
| A facet type (mechanism) used in writing decimal floating&hyphen;point types&period; Note that this type does not follow BDE conventions because its content is dictated by the C&plus;&plus; standard and native standard library implementations&period; See ISO&sol;IEC TR 24733 3&period;10&period;3 for details&period;
| xref:BloombergLP/bdldfp/DecimalNumPut_WideBufferWrapper-05e.adoc[`DecimalNumPut&lowbar;WideBufferWrapper`] 
| This class provides a wrapper around a buffer of the specified (template parameter) `CHARTYPE`&period; `CHARTYPE` shall be either plain character type `char` or wide character type `wchar&lowbar;t`&period; The width of `wchar&lowbar;t` is compiler&hyphen;specific and can be as small as 8 bits&period; The template parameter `WCHAR&lowbar;8&lowbar;BITS` shall be `true` if `wchar&lowbar;t` and `char` widths are the same, i&period;e&period; 8 bits, and `false` otherwise&period; This class provides accessors to the beginning and the end of the buffer of `CHARTYPE` characters&period;
| xref:BloombergLP/bdldfp/DecimalStorage.adoc[`DecimalStorage`] 
| This `struct` provides a namespace for types for storing Binary Integral Decimal representation of a decimal floating point value&period;
| xref:BloombergLP/bdldfp/DecimalUtil.adoc[`DecimalUtil`] 
| This utility `struct` provides a namespace for functions using the decimal floating point types defined in the `bdldfp&lowbar;decimal` package&period;
| xref:BloombergLP/bdldfp/DecimalUtil_CStringUtil.adoc[`DecimalUtil&lowbar;CStringUtil`] 
| This component&hyphen;private utility `struct` provides a namespace for the `flatten` overload set intended to be used in concert with an overload set consisting of a function template with a deduced argument and an non&hyphen;template overload accepting a `const char &ast;`&period; The actual implementation of the functionality would be in the `const char &ast;` overload whereas the purpose of the function template is to invoke the &grave;const char &ast;&grave; overload with a null&hyphen;terminated string&period;
| xref:BloombergLP/bdldfp/Decimal_BslFmtFormatterImpl.adoc[`Decimal&lowbar;BslFmtFormatterImpl`] 
| This class template provides the implementation for all possible decimal floating point formatting styles and the parsing of the format specification&period; The specified `t&lowbar;VALUE` template type argument determines the type of decimal floating point value use, while the specified `t&lowbar;CHAR` determines both the formatting string and the output&apos;s character type&period; The behavior is undefined unless `t&lowbar;VALUE` is one of `Decimal32`, &grave;Decimal64, or `Decimal128, and `t&lowbar;CHAR` is on of `char` or `wchar&lowbar;t&grave;&period;
| xref:BloombergLP/bdldfp/Decimal_FormatterSpecification.adoc[`Decimal&lowbar;FormatterSpecification`] 
| 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;
| xref:BloombergLP/bdldfp/Decimal_StandardNamespaceCanary.adoc[`Decimal&lowbar;StandardNamespaceCanary`] 
| An empty class used for error detection when looking for the original name of the standard namespace&period; Do not use it&period;
| xref:BloombergLP/bdldfp/Decimal_Type128.adoc[`Decimal&lowbar;Type128`] 
| This value&hyphen;semantic class implements the IEEE&hyphen;754 128 bit decimal floating&hyphen;point format arithmetic type&period; This class is a standard layout type that is `const` thread&hyphen;safe and exception&hyphen;neutral&period;
| xref:BloombergLP/bdldfp/Decimal_Type32.adoc[`Decimal&lowbar;Type32`] 
| These are the actual (decimal floating&hyphen;point) types being implemented&period; They use a different name to cause an error if the official types are forward declared&colon; The exact definition of the decimal types is left unspecified so that that can potentially be aliases for built&hyphen;in types&period;
| xref:BloombergLP/bdldfp/Decimal_Type64.adoc[`Decimal&lowbar;Type64`] 
| This value&hyphen;semantic class implements the IEEE&hyphen;754 64 bit decimal floating&hyphen;point format arithmetic type&period; This class is a standard layout type that is `const` thread&hyphen;safe and exception&hyphen;neutral&period;
| xref:BloombergLP/bdldfp/Uint128.adoc[`Uint128`] 
| This value&hyphen;semantic type represents a 128&hyphen;bit integer, with host machine byte order&period;
| xref:BloombergLP/bdldfp/faux_numeric_limits-01.adoc[`faux&lowbar;numeric&lowbar;limits`] 
| This class is used as a base&hyphen;class for manifest constants in the `std&colon;&colon;numeric&lowbar;limits` specializations to overcome a Sun compiler issue&period;
|===


== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdldfp/Decimal128.adoc[`Decimal128`] 
| The decimal floating&hyphen;point types are typedefs to the unspecified implementation types&period;
| xref:BloombergLP/bdldfp/Decimal32.adoc[`Decimal32`] 
| The decimal floating&hyphen;point types are typedefs to the unspecified implementation types&period;
| xref:BloombergLP/bdldfp/Decimal64.adoc[`Decimal64`] 
| Alias for the 64&hyphen;bit decimal floating&hyphen;point type&period;
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdldfp/hashAppend-0be.adoc[`hashAppend`] 
| `hashAppend` overloads
| xref:BloombergLP/bdldfp/operator_d128-0d.adoc[`operator&quot;&quot;&lowbar;d128`] 
| `operator&quot;&quot;&lowbar;d128` overloads
| xref:BloombergLP/bdldfp/operator_d32-0d.adoc[`operator&quot;&quot;&lowbar;d32`] 
| `operator&quot;&quot;&lowbar;d32` overloads
| xref:BloombergLP/bdldfp/operator_d64-0b.adoc[`operator&quot;&quot;&lowbar;d64`] 
| `operator&quot;&quot;&lowbar;d64` overloads
| xref:BloombergLP/bdldfp/operator_bitand.adoc[`operator&amp;`] 
| Return an Uint128 object having the value of a the bitwise and between the specified `lhs` and the specified `rhs` value&period;
| xref:BloombergLP/bdldfp/operator_star-092.adoc[`operator&ast;`] 
| Multiplication operators
| xref:BloombergLP/bdldfp/operator_plus-08c.adoc[`operator&plus;`] 
| Unary plus operators
| xref:BloombergLP/bdldfp/operator_inc-03.adoc[`operator&plus;&plus;`] 
| Increment operators
| xref:BloombergLP/bdldfp/operator_minus-0f2.adoc[`operator&hyphen;`] 
| Unary minus operators
| xref:BloombergLP/bdldfp/operator_dec-056.adoc[`operator&hyphen;&hyphen;`] 
| Decrement operators
| xref:BloombergLP/bdldfp/operator_slash-033f.adoc[`operator&sol;`] 
| Division operators
| xref:BloombergLP/bdldfp/operator_rshift-0e.adoc[`operator&gt;&gt;`] 
| Right shift operators
| xref:BloombergLP/bdldfp/operator_xor.adoc[`operator&circ;`] 
| Return an Uint128 object having the value of a the bitwise xor between the specified `lhs` and the specified `rhs` value&period;
| xref:BloombergLP/bdldfp/operator_bitor.adoc[`operator&verbar;`] 
| Return an Uint128 object having the value of a the bitwise or between the specified `lhs` and the specified `rhs` value&period;
| xref:BloombergLP/bdldfp/operator_bitnot.adoc[`operator&#126;`] 
| Return an `Uint128` value equal to the bitwise ones compliment of the specified `value`&period;
| xref:BloombergLP/bdldfp/operator_lshift-07.adoc[`operator&lt;&lt;`] 
| Left shift operators
| xref:BloombergLP/bdldfp/operator_eq-0b6.adoc[`operator&equals;&equals;`] 
| Equality operators
| xref:BloombergLP/bdldfp/operator_not_eq-0d.adoc[`operator!&equals;`] 
| Inequality operators
| xref:BloombergLP/bdldfp/operator_lt-08.adoc[`operator&lt;`] 
| Less&hyphen;than operators
| xref:BloombergLP/bdldfp/operator_le-008.adoc[`operator&lt;&equals;`] 
| Less&hyphen;than&hyphen;or&hyphen;equal operators
| xref:BloombergLP/bdldfp/operator_gt-00.adoc[`operator&gt;`] 
| Greater&hyphen;than operators
| xref:BloombergLP/bdldfp/operator_ge-0d.adoc[`operator&gt;&equals;`] 
| Greater&hyphen;than&hyphen;or&hyphen;equal operators
|===



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