BloombergLP::bdldfp::operator>>

Read, into the specified object, from the specified input stream an IEEE 128 bit decimal floating-point value as described in the IEEE-754 2008 standard (5.12 Details of conversions between floating point numbers and external character sequences) and return a reference providing modifiable access to stream. If stream contains a Nan value, it is unspecified if object will receive a quiet or signaling Nan. If stream is not valid on entry stream.good() == false, this operation has no effect other than setting stream.fail() to true. If eof (end-of-file) is found before any non-whitespace characters stream.fail() is set to true and object remains unchanged. If eof is detected after some characters have been read (and successfully interpreted as part of the textual representation of a floating-point value as specified by IEEE-754) then stream.eof() is set to true. If the first non-whitespace character sequence is not a valid textual representation of a floating-point value (e.g., 12e or e12 or 1*2) the stream.fail() is set to true and object will remain unchanged. If a real number value is represented by the character sequence but it is a large positive or negative value that cannot be stored into object then store the value of the macro ERANGE into errno and positive or negative infinity is stored into object, respectively. If a real number value is represented by the character sequence but it is a small positive or negative value that cannot be stored into object then store the value of the macro ERANGE into errno and positive or negative zero is stored into object, respectively. If a real number value is represented by the character sequence but it cannot be stored exactly into object, the value is rounded according to the current rounding direction (of the environment) and then stored into object.

Synopsis

Declared in <bdldfp_decimal.h>

template<
    class CHARTYPE,
    class TRAITS>
bsl::basic_istream<CHARTYPE, TRAITS>&
operator>>(
    bsl::basic_istream<CHARTYPE, TRAITS>& stream,
    Decimal128& object);

Description

NOTE: This method does not yet fully support iostream flags or the decimal floating point exception context.