Add an attribute of the specified name and value to the currently open element.
Declared in <balxml_formatter_prettyimpl.h>
template<class VALUE_TYPE>
static
std::ostream&
addAttribute(
std::ostream& stream,
State* state,
std::string_view const& name,
VALUE_TYPE const& value,
int formattingMode = 0,
EncoderOptions const& encoderOptions = EncoderOptions());
Write to the specified stream, with formatting depending on the specified state, and update the state 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. Precede this name="value" pair with a single space. Wrap line (write the attribute on next line with proper indentation), if the length of name="value" is too long. Optionally specify formattingMode and encoderOptions to control the formatting of value. 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 [ -128 .. 127 ]. The behavior is undefined unless the last manipulator was openElement or addAttribute.
a reference to the modifiable stream
| Name | Description |
|---|---|
| stream | output stream to write to |
| state | formatter state to update |
| name | name of the attribute |
| value | value of the attribute |
| formattingMode | mode used to format value |
| encoderOptions | options controlling encoding of value |