IOSS 2.0

Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Json::StyledWriter Class Reference

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

`#include <json.h>`

## Public Member Functions
| StyledWriter ()
virtual | ~StyledWriter ()
virtual std::string | write (const Value &root)
| Serialize a Value in JSON format. More...
Public Member Functions inherited from Json::Writer
virtual | ~Writer ()

## Private Types
typedef std::vector< std::string > | ChildValues

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

## Static Private Member Functions
static std::string | normalizeEOL (const std::string &text)

## Private Attributes
ChildValues | childValues_
std::string | document_
std::string | indentString_
int | rightMargin_
int | indentSize_
bool | addChildValues_

## Detailed Description

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

The rules for line break and indent are as follow:

- Object value:
  - if empty then print {} without indent and line break
  - if not empty the print '{', line break & indent, print one value per line and then unindent and line break and print '}'.
- Array value:
  - if empty then print [] without indent and line break
  - if the array contains no object value, empty array or some other value types, and all the values fit on one lines, then print the array on a single line.
  - otherwise, it the values do not fit on one line, or the array contains object or non empty array, then print one value per line.

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

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

Deprecated:
  Use StreamWriterBuilder.

## Member Typedef Documentation

## ◆ ChildValues

typedef std::vector<std::string> Json::StyledWriter::ChildValues
| private

## Constructor & Destructor Documentation

## ◆ StyledWriter()

Json::StyledWriter::StyledWriter | ( |  | ) |

## ◆ ~StyledWriter()

virtual Json::StyledWriter::~StyledWriter | ( |  | ) |
| inline virtual

## Member Function Documentation

## ◆ hasCommentForValue()

bool Json::StyledWriter::hasCommentForValue | ( | const Value & | value | ) |
| private

## ◆ indent()

void Json::StyledWriter::indent | ( |  | ) |
| private

## ◆ isMultineArray()

bool Json::StyledWriter::isMultineArray | ( | const Value & | value | ) |
| private

## ◆ normalizeEOL()

static std::string Json::StyledWriter::normalizeEOL | ( | const std::string & | text | ) |
| static private

## ◆ pushValue()

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

## ◆ unindent()

void Json::StyledWriter::unindent | ( |  | ) |
| private

## ◆ write()

virtual std::string Json::StyledWriter::write | ( | const Value & | root | ) |
| virtual

Serialize a Value in JSON format.

Parameters

  root | Value to serialize.

Returns
  String containing the JSON document that represents the root value.

Implements Json::Writer.

## ◆ writeArrayValue()

void Json::StyledWriter::writeArrayValue | ( | const Value & | value | ) |
| private

## ◆ writeCommentAfterValueOnSameLine()

void Json::StyledWriter::writeCommentAfterValueOnSameLine | ( | const Value & | root | ) |
| private

## ◆ writeCommentBeforeValue()

void Json::StyledWriter::writeCommentBeforeValue | ( | const Value & | root | ) |
| private

## ◆ writeIndent()

void Json::StyledWriter::writeIndent | ( |  | ) |
| private

## ◆ writeValue()

void Json::StyledWriter::writeValue | ( | const Value & | value | ) |
| private

## ◆ writeWithIndent()

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

## Member Data Documentation

## ◆ addChildValues_

bool Json::StyledWriter::addChildValues_
| private

## ◆ childValues_

ChildValues Json::StyledWriter::childValues_
| private

## ◆ document_

std::string Json::StyledWriter::document_
| private

## ◆ indentSize_

int Json::StyledWriter::indentSize_
| private

## ◆ indentString_

std::string Json::StyledWriter::indentString_
| private

## ◆ rightMargin_

int Json::StyledWriter::rightMargin_
| private

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

- src/visualization/ParaViewCatalystIossAdapter/parser/jsoncpp-master/dist/json/json.h