Quick Links:

bal | bbl | bdl | bsl

Public Member Functions | Static Public Attributes

bdljsn::WriteOptions Class Reference

#include <bdljsn_writeoptions.h>

List of all members.

Public Member Functions

 WriteOptions ()
 WriteOptions (const WriteOptions &original)
 ~WriteOptions ()
WriteOptionsoperator= (const WriteOptions &rhs)
WriteOptionsreset ()
WriteOptionssetInitialIndentLevel (int value)
WriteOptionssetSortMembers (bool value)
WriteOptionssetSpacesPerLevel (int value)
WriteOptionssetStyle (bdljsn::WriteStyle::Enum value)
int initialIndentLevel () const
bool sortMembers () const
int spacesPerLevel () const
bdljsn::WriteStyle::Enum style () const
bsl::ostream & print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const

Static Public Attributes

static const int s_DEFAULT_INITIALIZER_INITIAL_INDENT_LEVEL
static const bool s_DEFAULT_INITIALIZER_SORT_MEMBERS
static const int s_DEFAULT_INITIALIZER_SPACES_PER_LEVEL
static const
bdljsn::WriteStyle::Enum 
s_DEFAULT_INITIALIZER_STYLE

Detailed Description

This simply constrained (value-semantic) attribute class specifies options for writing a JSON document. See the Attributes section under DESCRIPTION in the component-level documentation for information on the class attributes. Note that the class invariants are identically the constraints on the individual attributes.

See Component bdljsn_writeoptions


Constructor & Destructor Documentation

bdljsn::WriteOptions::WriteOptions (  ) 

Create an object of type WriteOptions having the (default) attribute values:

          initialIndentLevel()  == 0
          sortMembers()         == false
          spacesPerLevel()      == 4
          style()               == e_COMPACT
bdljsn::WriteOptions::WriteOptions ( const WriteOptions original  ) 

Create an object of type WriteOptions having the value of the specified original object.

bdljsn::WriteOptions::~WriteOptions (  ) 

Destroy this object.


Member Function Documentation

WriteOptions& bdljsn::WriteOptions::operator= ( const WriteOptions rhs  ) 

Assign to this object the value of the specified rhs object and return a non-'const' reference to this object.

WriteOptions& bdljsn::WriteOptions::reset (  ) 

Reset this object to the default value (i.e., its value upon default construction) and return a non-'const' reference to this object.

WriteOptions& bdljsn::WriteOptions::setInitialIndentLevel ( int  value  ) 

Set the initialIndentLevel attribute of this object to the specified value and return a non-'const' reference to this object. The behavior is undefined unless 0 <= value.

WriteOptions& bdljsn::WriteOptions::setSortMembers ( bool  value  ) 

Set the sortMembers attribute of this object to the specified value and return a non-'const' reference to this object.

WriteOptions& bdljsn::WriteOptions::setSpacesPerLevel ( int  value  ) 

Set the spacesPerLevel attribute of this object to the specified value and return a non-'const' reference to this object. The behavior is undefined unless 0 <= value.

WriteOptions& bdljsn::WriteOptions::setStyle ( bdljsn::WriteStyle::Enum  value  ) 

Set the style attribute of this object to the specified value. and return a non-'const' reference to this object.

int bdljsn::WriteOptions::initialIndentLevel (  )  const

Return the initialIndentLevel attribute of this object.

bool bdljsn::WriteOptions::sortMembers (  )  const

Return the sortMembers attribute of this object.

int bdljsn::WriteOptions::spacesPerLevel (  )  const

Return the spacesPerLevel attribute of this object.

bdljsn::WriteStyle::Enum bdljsn::WriteOptions::style (  )  const

Return the style attribute of this object.

bsl::ostream& bdljsn::WriteOptions::print ( bsl::ostream &  stream,
int  level = 0,
int  spacesPerLevel = 4 
) const

Format this object to the specified output stream at the optionally specified indentation level and return a reference to the modifiable stream. If level is specified, optionally specify spacesPerLevel, the number of spaces per indentation level for this and all of its nested objects. Each line is indented by the absolute value of level * spacesPerLevel. If level is negative, suppress indentation of the first line. If spacesPerLevel is negative, suppress line breaks and format the entire output on one line. If stream is initially invalid, this operation has no effect. Note that a trailing newline is provided in multiline mode only. Also note that the format is not fully specified, and can change without notice.


Member Data Documentation


The documentation for this class was generated from the following file: