#include <baljsn_formatter.h>
This class implements a formatter providing operations for rendering JSON text elements to an output stream (supplied at construction) according to a set of formatting options (also supplied at construction).
See baljsn_formatter
◆ Formatter()
baljsn::Formatter::Formatter |
( |
bsl::ostream & |
stream, |
|
|
bool |
usePrettyStyle = false , |
|
|
int |
initialIndentLevel = 0 , |
|
|
int |
spacesPerLevel = 0 , |
|
|
bslma::Allocator * |
basicAllocator = 0 |
|
) |
| |
Create a Formatter
object using the specified stream
. Optionally specify usePrettyStyle
to inform the formatter whether the pretty encoding style should be used when writing data. If usePrettyStyle
is not specified then the data is written in a compact style. If usePrettyStyle
is specified, additionally specify initialIndentLevel
and spacesPerLevel
to provide the initial indentation level and spaces per level at which the data should be formatted. If initialIndentLevel
or spacesPerLevel
is not specified then an initial value of 0
is used for both parameters. If usePrettyStyle
is false
then initialIndentLevel
and spacesPerLevel
are both ignored. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
◆ ~Formatter()
baljsn::Formatter::~Formatter |
( |
| ) |
|
|
default |
◆ addArrayElementSeparator()
void baljsn::Formatter::addArrayElementSeparator |
( |
| ) |
|
Print onto the stream supplied at construction the sequence of characters designating an array element separator (i.e., ,
). The behavior is undefined unless this Formatter
is currently formatting a member.
◆ closeArray()
void baljsn::Formatter::closeArray |
( |
bool |
formatAsEmptyArray = false | ) |
|
Print onto the stream supplied at construction the sequence of characters designating the end of an array (referred to as an "array" in JSON). Optionally specify formatAsEmptyArray
denoting if the array being closed should be formatted as an empty array. If formatAsEmptyArray
is not specified then the array being closed is formatted as an array having elements. The behavior is undefined unless this Formatter
is currently formatting an array. Note that the formatting (and as a consequence the formatAsEmptyArray
) is relevant only if this formatter encodes in the pretty style and is ignored otherwise.
◆ closeMember()
void baljsn::Formatter::closeMember |
( |
| ) |
|
Print onto the stream supplied at construction the sequence of characters designating the end of an member (referred to as a "name/value pair" in JSON). The behavior is undefined unless this Formatter
is currently formatting a member.
◆ closeObject()
void baljsn::Formatter::closeObject |
( |
| ) |
|
Print onto the stream supplied at construction the sequence of characters designating the end of an object (referred to as an "object" in JSON). The behavior is undefined unless this Formatter
is currently formatting an object.
◆ nestingDepth()
int baljsn::Formatter::nestingDepth |
( |
| ) |
const |
|
inline |
◆ openArray()
void baljsn::Formatter::openArray |
( |
bool |
formatAsEmptyArray = false | ) |
|
Print onto the stream supplied at construction the sequence of characters designating the start of an array (referred to as an "array" in JSON). Optionally specify formatAsEmptyArray
denoting if the array being opened should be formatted as an empty array. If formatAsEmptyArray
is not specified then the array being opened is formatted as an array having elements. Note that the formatting (and as a consequence the formatAsEmptyArray
) is relevant only if this formatter encodes in the pretty style and is ignored otherwise.
◆ openMember()
Print onto the stream supplied at construction the sequence of characters designating the start of a member (referred to as a "name/value pair" in JSON) having the specified name
. Return 0 on success and a non-zero value otherwise.
◆ openObject()
void baljsn::Formatter::openObject |
( |
| ) |
|
Print onto the stream supplied at construction the sequence of characters designating the start of an object (referred to as an "object" in JSON).
◆ putNullValue()
void baljsn::Formatter::putNullValue |
( |
| ) |
|
|
inline |
Print onto the stream supplied at construction the value corresponding to a null element.
◆ putValue()
template<class TYPE >
int baljsn::Formatter::putValue |
( |
const TYPE & |
value, |
|
|
const EncoderOptions * |
options = 0 |
|
) |
| |
Print onto the stream supplied at construction the specified value
. Optionally specify options
according which value
should be encoded. Return 0 on success and a non-zero value otherwise.
The documentation for this class was generated from the following file: