BloombergLP::balxml::Formatter_CompactImplUtil::addListData

Add the specified value as list data content to the specified stream.

Synopsis

Declared in <balxml_formatter_compactimpl.h>

template<class VALUE_TYPE>
static
std::ostream&
addListData(
    std::ostream& stream,
    State* state,
    VALUE_TYPE const& value,
    int formattingMode = 0,
    EncoderOptions const& encoderOptions = EncoderOptions());

Description

Formatting depends on the specified state, which is updated accordingly. Return the stream. value can be of the following types: char, short, int, bsls::Types::Int64, float, double, bsl::string, bdlt::Datetime, bdlt::Date, and bdlt::Time. Prefix the value with a space(0x20) unless the data being added is the first data on a line. When adding the data makes the line too long, perform line-wrapping and indentation as determined by the whitespace constraint used when the current element is opened with openElement. If value is of type bsl::string, it is truncated at any invalid UTF-8 byte-sequence or any control character. The list of invalid control characters includes characters in the range [0x00, 0x20)] and 0x7F (DEL) but does not include 0x9, 0xA, and 0x0D. The five special characters: apostrophe, double quote, ampersand, less than, and greater than are escaped in the output XML. If value is of type char, it is cast to a signed byte value with a range of '[ -128 ..] 127 ]. Optionally specify the formattingMode' and encoderOptions to specify the format used to encode value. The behavior is undefined if the call is made when there are no opened elements.

Return Value

a reference to the modifiable stream

Parameters

NameDescription
streamoutput stream
stateformatter state to consult and update
valuelist-item data value to write
formattingModeoptional formatting mode for value
encoderOptionsoptional encoder options for value