bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
|
Writer with indentation and spacing. More...
#include <prettywriter.h>
Public Types | |
typedef Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > | Base |
typedef Base::Ch | Ch |
Public Member Functions | |
int | GetMaxDecimalPlaces () const |
bool | IsComplete () const |
Checks whether the output is a complete JSON. | |
PrettyWriter (OutputStream &os, StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) | |
Constructor. | |
PrettyWriter (StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) | |
void | Reset (OutputStream &os) |
Reset the writer with a new stream. | |
PrettyWriter & | SetFormatOptions (PrettyFormatOptions options) |
Set pretty writer formatting options. | |
PrettyWriter & | SetIndent (Ch indentChar, unsigned indentCharCount) |
Set custom indentation. | |
void | SetMaxDecimalPlaces (int maxDecimalPlaces) |
Sets the maximum number of decimal places for double output. | |
Implementation of Handler | |
| |
bool | Null () |
bool | Bool (bool b) |
bool | Int (int i) |
bool | Uint (unsigned u) |
bool | Int64 (int64_t i64) |
bool | Uint64 (uint64_t u64) |
bool | Double (double d) |
bool | RawNumber (const Ch *str, SizeType length, bool copy=false) |
bool | String (const Ch *str, SizeType length, bool copy=false) |
bool | StartObject () |
bool | Key (const Ch *str, SizeType length, bool copy=false) |
bool | EndObject (SizeType memberCount=0) |
bool | StartArray () |
bool | EndArray (SizeType memberCount=0) |
Implementation of Handler | |
| |
bool | RawNumber (const Ch *str, SizeType length, bool copy=false) |
bool | String (const Ch *str, SizeType length, bool copy=false) |
bool | Key (const Ch *str, SizeType length, bool copy=false) |
Static Public Attributes | |
static const int | kDefaultMaxDecimalPlaces |
Protected Member Functions | |
bool | WriteDouble (double d) |
bool | WriteDouble (double d) |
bool | WriteInt (int i) |
bool | WriteInt (int i) |
bool | WriteInt64 (int64_t i64) |
bool | WriteInt64 (int64_t i64) |
bool | WriteUint (unsigned u) |
bool | WriteUint (unsigned u) |
bool | WriteUint64 (uint64_t u) |
bool | WriteUint64 (uint64_t u) |
Convenience extensions | |
Ch | indentChar_ |
unsigned | indentCharCount_ |
PrettyFormatOptions | formatOptions_ |
bool | String (const Ch *str) |
Simpler but slower overload. | |
bool | Key (const Ch *str) |
bool | RawValue (const Ch *json, size_t length, Type type) |
Write a raw JSON value. | |
void | PrettyPrefix (Type type) |
void | WriteIndent () |
Convenience extensions | |
OutputStream * | os_ |
internal::Stack< CrtAllocator > | level_stack_ |
int | maxDecimalPlaces_ |
bool | hasRoot_ |
bool | String (const Ch *const &str) |
Simpler but slower overload. | |
bool | Key (const Ch *const &str) |
bool | RawValue (const Ch *json, size_t length, Type type) |
Write a raw JSON value. | |
void | Flush () |
Flush the output stream. | |
bool | WriteInt (int i) |
bool | WriteUint (unsigned u) |
bool | WriteInt64 (int64_t i64) |
bool | WriteUint64 (uint64_t u64) |
bool | WriteDouble (double d) |
bool | WriteNull () |
bool | WriteBool (bool b) |
bool | WriteString (const Ch *str, SizeType length) |
bool | ScanWriteUnescapedString (GenericStringStream< UTF8<> > &is, size_t length) |
bool | WriteStartObject () |
bool | WriteEndObject () |
bool | WriteStartArray () |
bool | WriteEndArray () |
bool | WriteRawValue (const Ch *json, size_t length) |
void | Prefix (Type type) |
bool | EndValue (bool ret) |
static const size_t | kDefaultLevelDepth |
Writer with indentation and spacing.
OutputStream | Type of output os. |
SourceEncoding | Encoding of source string. |
TargetEncoding | Encoding of output stream. |
StackAllocator | Type of allocator for allocating memory of stack. |
Definition at line 48 of file prettywriter.h.
typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Base |
Definition at line 50 of file prettywriter.h.
typedef Base::Ch PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Ch |
Definition at line 51 of file prettywriter.h.
|
inlineexplicit |
Constructor.
os | Output stream. |
allocator | User supplied allocator. If it is null, it will create a private one. |
levelDepth | Initial capacity of stack. |
Definition at line 58 of file prettywriter.h.
|
inlineexplicit |
Definition at line 62 of file prettywriter.h.
|
inline |
Definition at line 96 of file prettywriter.h.
|
inline |
Definition at line 101 of file prettywriter.h.
|
inline |
Definition at line 163 of file prettywriter.h.
|
inline |
Definition at line 137 of file prettywriter.h.
|
inlineinherited |
|
inlineinherited |
|
inline |
Definition at line 97 of file prettywriter.h.
|
inline |
Definition at line 99 of file prettywriter.h.
|
inlineinherited |
|
inline |
Definition at line 188 of file prettywriter.h.
|
inline |
Definition at line 129 of file prettywriter.h.
|
inlineinherited |
|
inline |
Definition at line 95 of file prettywriter.h.
|
inlineprotectedinherited |
|
inlineprotected |
Definition at line 208 of file prettywriter.h.
|
inline |
Definition at line 103 of file prettywriter.h.
|
inline |
Write a raw JSON value.
For user to write a stringified JSON as a value.
json | A well-formed JSON value. It should not contain null character within [0, length - 1] range. |
length | Length of the json. |
type | Type of the root of json. |
Definition at line 201 of file prettywriter.h.
|
inlineinherited |
Reset the writer with a new stream.
This function reset the writer with a new stream and default settings, in order to make a Writer object reusable for output multiple JSONs.
os | New output stream. Writer<OutputStream> writer(os1);
writer.StartObject();
// ...
writer.EndObject();
writer.Reset(os2);
writer.StartObject();
// ...
writer.EndObject();
Writer(OutputStream &os, CrtAllocator *stackAllocator=0, size_t levelDepth=kDefaultLevelDepth) Definition writer.h:102 |
|
inlineprotectedinherited |
|
inline |
Set pretty writer formatting options.
options | Formatting options. |
Definition at line 85 of file prettywriter.h.
|
inline |
Set custom indentation.
indentChar | Character for indentation. Must be whitespace character (' ', '\t', '\n', '\r'). |
indentCharCount | Number of indent characters for each indentation level. |
Definition at line 75 of file prettywriter.h.
|
inlineinherited |
Sets the maximum number of decimal places for double output.
This setting truncates the output with specified number of decimal places.
For example,
The default setting does not truncate any decimal places. You can restore to this setting by calling
|
inline |
Definition at line 157 of file prettywriter.h.
|
inline |
Definition at line 123 of file prettywriter.h.
|
inline |
Simpler but slower overload.
Definition at line 187 of file prettywriter.h.
|
inline |
Definition at line 110 of file prettywriter.h.
|
inlineinherited |
|
inline |
Definition at line 98 of file prettywriter.h.
|
inline |
Definition at line 100 of file prettywriter.h.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotected |
Definition at line 252 of file prettywriter.h.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
protected |
Definition at line 259 of file prettywriter.h.
|
protectedinherited |
|
protected |
Definition at line 257 of file prettywriter.h.
|
protected |
Definition at line 258 of file prettywriter.h.
|
staticinherited |
|
staticinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |