Add an attribute of the specified name and value to the open element in the specified stream.
Declared in <balxml_formatter_compactimpl.h>
template<class VALUE_TYPE>
static
std::ostream&
addAttribute(
std::ostream& stream,
State* state,
std::string_view const& name,
VALUE_TYPE const& value,
int valueFormattingMode = 0,
EncoderOptions const& encoderOptions = EncoderOptions());
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. 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 a valueFormattingMode 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 |
| state | formatter state to consult and update |
| name | attribute name |
| value | attribute value |
| valueFormattingMode | optional formatting mode for value |
| encoderOptions | optional encoder options for value |