This component‐private, in‐core, value‐semantic class provides a variant that can be inhabited by an object of either the component‐private Formatter_CompactImplState type or the component‐private Formatter_PrettyImplState type.

Synopsis

Declared in <balxml_formatter.h>

class Formatter_State;

Type Aliases

Name

Description

Mode

Formatting mode type used by this class.

allocator_type

Allocator type used by this class.

Member Functions

Name

Description

Formatter_State [constructor]

Constructors

~Formatter_State [destructor]

Destroy this object.

operator=

Assign to this object the value of the specified rhs and return a reference to this object.

get_allocator

Return the allocator associated with this object.

operator BloombergLP::bslmf::NestedTraitDeclaration<Formatter_State, UsesBslmaAllocator>

Formatter_State uses a bslma allocator.

Data Members

Name

Description

d_compact [variant member]

Compact‐formatter state when d_mode is Mode::e_COMPACT.

d_pretty [variant member]

Pretty‐formatter state when d_mode is Mode::e_PRETTY.

Friends

Name

Description

BloombergLP::balxml::Formatter

This class provides a set of XML‐style formatting utilities that enable transparent indentation and wrapping for users attempting to format data with XML tags and attributes. A formatter object is instantiated with a pointer to an output stream or streambuf. Users can then use the provided utilities to write element tags, attributes, data in a valid XML sequence into the underlying stream.

Created with MrDocs