The C++ framework for developing highly scalable, high performance servers on Windows platforms.

StyledStreamWriter Class Reference

Collaboration diagram for StyledStreamWriter:

List of all members.


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:

  • 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.

Parameters:
indentation Each level will be indented by this amount extra.
See also:
Reader, Value, Value::setComment()
Deprecated:
Use StreamWriterBuilder.
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:

  • 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.

Parameters:
indentation Each level will be indented by this amount extra.
See also:
Reader, Value, Value::setComment()
Deprecated:
Use StreamWriterBuilder.

Public Member Functions

 StyledStreamWriter (std::string indentation="\t")
 ~StyledStreamWriter ()
void write (std::ostream &out, const Value &root)
 StyledStreamWriter (std::string indentation="\t")
 ~StyledStreamWriter ()
void write (std::ostream &out, const Value &root)

Constructor & Destructor Documentation

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

~StyledStreamWriter (  )  [inline]

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

~StyledStreamWriter (  )  [inline]


Member Function Documentation

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

Serialize a Value in JSON format.

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

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

Serialize a Value in JSON format.

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


Generated on Sun Sep 12 19:12:01 2021 for The Server Framework - v7.4 by doxygen 1.5.3