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

Writes a Value in JSON format in a human friendly way. More...

#include <writer.h>

Inheritance diagram for Json::StyledWriter:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 StyledWriter ()
virtual std::string write (const Value &root)
 Serialize a Value in JSON format.
virtual ~StyledWriter ()

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::string document_
int indentSize_
std::string indentString_
int rightMargin_

Detailed Description

Writes a Value in JSON format in a human friendly way.

The rules for line break and indent are as follow:

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

See also:
Reader, Value, Value::setComment()

Definition at line 65 of file writer.h.


Member Typedef Documentation

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

Definition at line 92 of file writer.h.


Constructor & Destructor Documentation

Definition at line 269 of file json_writer.cpp.

virtual Json::StyledWriter::~StyledWriter ( ) [inline, virtual]

Definition at line 69 of file writer.h.


Member Function Documentation

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

Definition at line 509 of file json_writer.cpp.

void Json::StyledWriter::indent ( ) [private]

Definition at line 469 of file json_writer.cpp.

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

Definition at line 405 of file json_writer.cpp.

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

Definition at line 518 of file json_writer.cpp.

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

Definition at line 436 of file json_writer.cpp.

void Json::StyledWriter::unindent ( ) [private]

Definition at line 476 of file json_writer.cpp.

std::string Json::StyledWriter::write ( const Value root) [virtual]

Serialize a Value in JSON format.

Parameters:
rootValue to serialize.
Returns:
String containing the JSON document that represents the root value.

Implements Json::Writer.

Definition at line 277 of file json_writer.cpp.

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

Definition at line 352 of file json_writer.cpp.

Definition at line 494 of file json_writer.cpp.

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

Definition at line 484 of file json_writer.cpp.

void Json::StyledWriter::writeIndent ( ) [private]

Definition at line 446 of file json_writer.cpp.

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

Definition at line 291 of file json_writer.cpp.

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

Definition at line 461 of file json_writer.cpp.


Member Data Documentation

Definition at line 99 of file writer.h.

Definition at line 94 of file writer.h.

std::string Json::StyledWriter::document_ [private]

Definition at line 95 of file writer.h.

Definition at line 98 of file writer.h.

std::string Json::StyledWriter::indentString_ [private]

Definition at line 96 of file writer.h.

Definition at line 97 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