[#BloombergLP-bdldfp] = xref:BloombergLP.adoc[BloombergLP]::bdldfp :relfileprefix: ../ :mrdocs: Namespace for decimal floating‐point types and utilities. == 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‐point types of `bdldfp_decimal` and various other formats. | xref:BloombergLP/bdldfp/DecimalConvertUtil_IntelDfp.adoc[`DecimalConvertUtil_IntelDfp`] | This `struct` provides a namespace for utility functions that convert between the decimal floating‐point types of `bdldfp_decimal` and various other formats. | xref:BloombergLP/bdldfp/DecimalFormatConfig.adoc[`DecimalFormatConfig`] | This attribute class characterizes how to configure certain behavior of `bdldfp::DecimalUtil::format` functions. | xref:BloombergLP/bdldfp/DecimalImpUtil.adoc[`DecimalImpUtil`] | This `struct` provides a namespace for utility functions that implement core decimal floating‐poing operations. | xref:BloombergLP/bdldfp/DecimalImpUtil_IntelDfp.adoc[`DecimalImpUtil_IntelDfp`] | This `struct` provides a namespace for implementation functions that work in terms of the underlying C‐style decimal floating point implementation, Intel's DFP library. | xref:BloombergLP/bdldfp/DecimalNumGet.adoc[`DecimalNumGet`] | A facet type (mechanism) used in reading decimal floating‐point types. Note that this type does not follow BDE conventions because its content is dictated by the C++ standard and native standard library implementations. See ISO/IEC TR 24733 3.10.2 for details. | xref:BloombergLP/bdldfp/DecimalNumPut.adoc[`DecimalNumPut`] | A facet type (mechanism) used in writing decimal floating‐point types. Note that this type does not follow BDE conventions because its content is dictated by the C++ standard and native standard library implementations. See ISO/IEC TR 24733 3.10.3 for details. | xref:BloombergLP/bdldfp/DecimalNumPut_WideBufferWrapper-05e.adoc[`DecimalNumPut_WideBufferWrapper`] | This class provides a wrapper around a buffer of the specified (template parameter) `CHARTYPE`. `CHARTYPE` shall be either plain character type `char` or wide character type `wchar_t`. The width of `wchar_t` is compiler‐specific and can be as small as 8 bits. The template parameter `WCHAR_8_BITS` shall be `true` if `wchar_t` and `char` widths are the same, i.e. 8 bits, and `false` otherwise. This class provides accessors to the beginning and the end of the buffer of `CHARTYPE` characters. | 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. | xref:BloombergLP/bdldfp/DecimalUtil.adoc[`DecimalUtil`] | This utility `struct` provides a namespace for functions using the decimal floating point types defined in the `bdldfp_decimal` package. | xref:BloombergLP/bdldfp/DecimalUtil_CStringUtil.adoc[`DecimalUtil_CStringUtil`] | This component‐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‐template overload accepting a `const char *`. The actual implementation of the functionality would be in the `const char *` overload whereas the purpose of the function template is to invoke the `const char *` overload with a null‐terminated string. | xref:BloombergLP/bdldfp/Decimal_BslFmtFormatterImpl.adoc[`Decimal_BslFmtFormatterImpl`] | This class template provides the implementation for all possible decimal floating point formatting styles and the parsing of the format specification. The specified `t_VALUE` template type argument determines the type of decimal floating point value use, while the specified `t_CHAR` determines both the formatting string and the output's character type. The behavior is undefined unless `t_VALUE` is one of `Decimal32`, `Decimal64, or `Decimal128, and `t_CHAR` is on of `char` or `wchar_t`. | xref:BloombergLP/bdldfp/Decimal_FormatterSpecification.adoc[`Decimal_FormatterSpecification`] | This template is the implementation of the `bsl::format` specification for `bdldfp::Decimal*` types. It parses as well as postprocesses format specifications for `bdldfp::Decimal*` type formatted arguments, as well as stores the results of that pasring: the specification. | xref:BloombergLP/bdldfp/Decimal_StandardNamespaceCanary.adoc[`Decimal_StandardNamespaceCanary`] | An empty class used for error detection when looking for the original name of the standard namespace. Do not use it. | xref:BloombergLP/bdldfp/Decimal_Type128.adoc[`Decimal_Type128`] | This value‐semantic class implements the IEEE‐754 128 bit decimal floating‐point format arithmetic type. This class is a standard layout type that is `const` thread‐safe and exception‐neutral. | xref:BloombergLP/bdldfp/Decimal_Type32.adoc[`Decimal_Type32`] | These are the actual (decimal floating‐point) types being implemented. They use a different name to cause an error if the official types are forward declared: The exact definition of the decimal types is left unspecified so that that can potentially be aliases for built‐in types. | xref:BloombergLP/bdldfp/Decimal_Type64.adoc[`Decimal_Type64`] | This value‐semantic class implements the IEEE‐754 64 bit decimal floating‐point format arithmetic type. This class is a standard layout type that is `const` thread‐safe and exception‐neutral. | xref:BloombergLP/bdldfp/Uint128.adoc[`Uint128`] | This value‐semantic type represents a 128‐bit integer, with host machine byte order. | xref:BloombergLP/bdldfp/faux_numeric_limits-01.adoc[`faux_numeric_limits`] | This class is used as a base‐class for manifest constants in the `std::numeric_limits` specializations to overcome a Sun compiler issue. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdldfp/Decimal128.adoc[`Decimal128`] | The decimal floating‐point types are typedefs to the unspecified implementation types. | xref:BloombergLP/bdldfp/Decimal32.adoc[`Decimal32`] | The decimal floating‐point types are typedefs to the unspecified implementation types. | xref:BloombergLP/bdldfp/Decimal64.adoc[`Decimal64`] | Alias for the 64‐bit decimal floating‐point type. |=== == Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdldfp/hashAppend-0be.adoc[`hashAppend`] | `hashAppend` overloads | xref:BloombergLP/bdldfp/operator_d128-0d.adoc[`operator""_d128`] | `operator""_d128` overloads | xref:BloombergLP/bdldfp/operator_d32-0d.adoc[`operator""_d32`] | `operator""_d32` overloads | xref:BloombergLP/bdldfp/operator_d64-0b.adoc[`operator""_d64`] | `operator""_d64` overloads | xref:BloombergLP/bdldfp/operator_bitand.adoc[`operator&`] | Return an Uint128 object having the value of a the bitwise and between the specified `lhs` and the specified `rhs` value. | xref:BloombergLP/bdldfp/operator_star-092.adoc[`operator*`] | Multiplication operators | xref:BloombergLP/bdldfp/operator_plus-08c.adoc[`operator+`] | Unary plus operators | xref:BloombergLP/bdldfp/operator_inc-03.adoc[`operator++`] | Increment operators | xref:BloombergLP/bdldfp/operator_minus-0f2.adoc[`operator‐`] | Unary minus operators | xref:BloombergLP/bdldfp/operator_dec-056.adoc[`operator‐‐`] | Decrement operators | xref:BloombergLP/bdldfp/operator_slash-033f.adoc[`operator/`] | Division operators | xref:BloombergLP/bdldfp/operator_rshift-0e.adoc[`operator>>`] | Right shift operators | xref:BloombergLP/bdldfp/operator_xor.adoc[`operatorˆ`] | Return an Uint128 object having the value of a the bitwise xor between the specified `lhs` and the specified `rhs` value. | xref:BloombergLP/bdldfp/operator_bitor.adoc[`operator|`] | Return an Uint128 object having the value of a the bitwise or between the specified `lhs` and the specified `rhs` value. | xref:BloombergLP/bdldfp/operator_bitnot.adoc[`operator~`] | Return an `Uint128` value equal to the bitwise ones compliment of the specified `value`. | xref:BloombergLP/bdldfp/operator_lshift-07.adoc[`operator<<`] | Left shift operators | xref:BloombergLP/bdldfp/operator_eq-0b6.adoc[`operator==`] | Equality operators | xref:BloombergLP/bdldfp/operator_not_eq-0d.adoc[`operator!=`] | Inequality operators | xref:BloombergLP/bdldfp/operator_lt-08.adoc[`operator<`] | Less‐than operators | xref:BloombergLP/bdldfp/operator_le-008.adoc[`operator<=`] | Less‐than‐or‐equal operators | xref:BloombergLP/bdldfp/operator_gt-00.adoc[`operator>`] | Greater‐than operators | xref:BloombergLP/bdldfp/operator_ge-0d.adoc[`operator>=`] | Greater‐than‐or‐equal operators |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#