Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
Json::StyledStreamWriter Class Reference

Writes a Value in JSON format in a human friendly way, to a stream rather than to a string. More...

#include <writer.h>

List of all members.

Public Member Functions

 StyledStreamWriter (std::string indentation="\t")
void write (std::ostream &out, const Value &root)
 Serialize a Value in JSON format.
 ~StyledStreamWriter ()

Private Types

typedef std::vector< std::string > ChildValues

Private Member Functions

bool hasCommentForValue (const Value &value)
void indent ()
bool isMultineArray (const Value &value)
void pushValue (const std::string &value)
void unindent ()
void writeArrayValue (const Value &value)
void writeCommentAfterValueOnSameLine (const Value &root)
void writeCommentBeforeValue (const Value &root)
void writeIndent ()
void writeValue (const Value &value)
void writeWithIndent (const std::string &value)

Static Private Member Functions

static std::string normalizeEOL (const std::string &text)

Private Attributes

bool addChildValues_
ChildValues childValues_
std::ostream * document_
std::string indentation_
std::string indentString_
int rightMargin_

Detailed Description

Writes a Value in JSON format in a human friendly way, to a stream rather than to a string.

The rules for line break and indent are as follow:

If the Value have comments then they are outputed according to their CommentPlacement.

Parameters:
indentationEach level will be indented by this amount extra.
See also:
Reader, Value, Value::setComment()

Definition at line 122 of file writer.h.


Member Typedef Documentation

typedef std::vector<std::string> Json::StyledStreamWriter::ChildValues [private]

Definition at line 150 of file writer.h.


Constructor & Destructor Documentation

Json::StyledStreamWriter::StyledStreamWriter ( std::string  indentation = "\t")

Definition at line 544 of file json_writer.cpp.

Definition at line 126 of file writer.h.


Member Function Documentation

bool Json::StyledStreamWriter::hasCommentForValue ( const Value value) [private]

Definition at line 789 of file json_writer.cpp.

Definition at line 749 of file json_writer.cpp.

bool Json::StyledStreamWriter::isMultineArray ( const Value value) [private]

Definition at line 681 of file json_writer.cpp.

std::string Json::StyledStreamWriter::normalizeEOL ( const std::string &  text) [static, private]

Definition at line 798 of file json_writer.cpp.

void Json::StyledStreamWriter::pushValue ( const std::string &  value) [private]

Definition at line 712 of file json_writer.cpp.

Definition at line 756 of file json_writer.cpp.

void Json::StyledStreamWriter::write ( std::ostream &  out,
const Value root 
)

Serialize a Value in JSON format.

Parameters:
outStream to write to. (Can be ostringstream, e.g.)
rootValue to serialize.
Note:
There is no point in deriving from Writer, since write() should not return a value.

Definition at line 553 of file json_writer.cpp.

void Json::StyledStreamWriter::writeArrayValue ( const Value value) [private]

Definition at line 628 of file json_writer.cpp.

Definition at line 774 of file json_writer.cpp.

void Json::StyledStreamWriter::writeCommentBeforeValue ( const Value root) [private]

Definition at line 764 of file json_writer.cpp.

Definition at line 722 of file json_writer.cpp.

void Json::StyledStreamWriter::writeValue ( const Value value) [private]

Definition at line 567 of file json_writer.cpp.

void Json::StyledStreamWriter::writeWithIndent ( const std::string &  value) [private]

Definition at line 741 of file json_writer.cpp.


Member Data Documentation

Definition at line 157 of file writer.h.

Definition at line 152 of file writer.h.

std::ostream* Json::StyledStreamWriter::document_ [private]

Definition at line 153 of file writer.h.

Definition at line 156 of file writer.h.

Definition at line 154 of file writer.h.

Definition at line 155 of file writer.h.


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


bwi_tools
Author(s): Piyush Khandelwal
autogenerated on Thu Jun 6 2019 17:57:27