BloombergLP::bdldfp

Namespace for decimal floating-point types and utilities.

Types

NameDescription
DecimalConvertUtil This struct provides a namespace for utility functions that convert between the decimal floating-point types of bdldfp_decimal and various other formats.
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.
DecimalFormatConfig This attribute class characterizes how to configure certain behavior of bdldfp::DecimalUtil::format functions.
DecimalImpUtil This struct provides a namespace for utility functions that implement core decimal floating-poing operations.
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.
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.
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.
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.
DecimalStorage This struct provides a namespace for types for storing Binary Integral Decimal representation of a decimal floating point value.
DecimalUtil This utility struct provides a namespace for functions using the decimal floating point types defined in the bdldfp_decimal package.
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.
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`.
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.
Decimal_StandardNamespaceCanary An empty class used for error detection when looking for the original name of the standard namespace. Do not use it.
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.
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.
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.
Uint128 This value-semantic type represents a 128-bit integer, with host machine byte order.
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

NameDescription
Decimal128 The decimal floating-point types are typedefs to the unspecified implementation types.
Decimal32 The decimal floating-point types are typedefs to the unspecified implementation types.
Decimal64 Alias for the 64-bit decimal floating-point type.

Functions

NameDescription
hashAppend hashAppend overloads
operator""_d128 operator""_d128 overloads
operator""_d32 operator""_d32 overloads
operator""_d64 operator""_d64 overloads
operator& Return an Uint128 object having the value of a the bitwise and between the specified lhs and the specified rhs value.
operator* Multiplication operators
operator+ Unary plus operators
operator++ Increment operators
operator- Unary minus operators
operator-- Decrement operators
operator/ Division operators
operator>> Right shift operators
operator^ Return an Uint128 object having the value of a the bitwise xor between the specified lhs and the specified rhs value.
operator| Return an Uint128 object having the value of a the bitwise or between the specified lhs and the specified rhs value.
operator~ Return an Uint128 value equal to the bitwise ones compliment of the specified value.
operator<< Left shift operators
operator== Equality operators
operator!= Inequality operators
operator< Less-than operators
operator<= Less-than-or-equal operators
operator> Greater-than operators
operator>= Greater-than-or-equal operators