8#ifndef INCLUDED_BALXML_FORMATTER
9#define INCLUDED_BALXML_FORMATTER
281#include <balscm_version.h>
300#include <bsl_optional.h>
301#include <bsl_ostream.h>
302#include <bsl_streambuf.h>
303#include <bsl_string.h>
335 bsl::ostream *d_stream_p;
363 const bsl::ostream *
stream()
const;
406 enum { k_COMPACT_MODE_WRAP_COLUMN = -1 };
452 const Compact& compact()
const;
462 const Pretty& pretty()
const;
529#pragma bde_verify push
530#pragma bde_verify -MN03
531#pragma bde_verify -UC01
557#pragma bde_verify pop
637 template <
class TYPE>
640 int formattingMode = 0);
677 template <
class TYPE>
678 void addData(
const TYPE& value,
int formattingMode = 0);
684 template <
class TYPE>
687 int formattingMode = 0);
715 template <
class TYPE>
716 void addListData(
const TYPE& value,
int formattingMode = 0);
739 bool forceNewline =
true,
740 bool omitEnclosingWhitespace =
false);
814Formatter_StreamHolder::Formatter_StreamHolder(bsl::streambuf *streamBuffer)
815: d_ownStream(
bsl::in_place_t(), streamBuffer)
816, d_stream_p(&d_ownStream.value())
821Formatter_StreamHolder::Formatter_StreamHolder(bsl::ostream *stream)
855Formatter_PrettyImplState& Formatter_State::pretty()
864const Formatter_CompactImplState& Formatter_State::compact()
const
878const Formatter_PrettyImplState& Formatter_State::pretty()
const
888: d_mode(
Mode::e_COMPACT)
896: d_mode(
Mode::e_COMPACT)
897, d_allocator(allocator)
919 switch (d_state.mode()) {
942 switch (d_state.mode()) {
956 switch (d_state.mode()) {
979 switch (d_state.mode()) {
1002 switch (d_state.mode()) {
1023 switch (d_state.mode()) {
1036 switch (d_state.mode()) {
1049 switch (d_state.mode()) {
1058 return *d_streamHolder.
stream();
1065 return d_encoderOptions;
1073 switch (d_state.mode()) {
1090 switch (d_state.mode()) {
1092 result = d_state.compact().
column();
1095 result = d_state.pretty().
column();
1107 switch (d_state.mode()) {
1122 return d_streamHolder.
stream()->good() ? 0 : -1;
1130 switch (d_state.mode()) {
1132 result = State::k_COMPACT_MODE_WRAP_COLUMN;
Definition balxml_encoderoptions.h:89
Definition bslma_bslallocator.h:588
Definition bslstl_stringview.h:471
Definition bslstl_optional.h:2043
Definition bslma_allocator.h:545
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
#define BSLS_KEYWORD_DELETED
Definition bsls_keyword.h:651
Definition balxml_base64parser.h:150
Definition bdlat_valuetypefunctions.h:939
Definition bslma_usesbslmaallocator.h:344
Definition bsls_objectbuffer.h:277