IN2OSM
1.0.1
|
Writer with indentation and spacing. More...
#include <fwd.h>
Public Types | |
typedef Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > | Base |
typedef Base::Ch | Ch |
Public Member Functions | |
PrettyWriter (OutputStream &os, StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) | |
Constructor. More... | |
PrettyWriter (StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth) | |
PrettyWriter & | SetIndent (Ch indentChar, unsigned indentCharCount) |
Set custom indentation. More... | |
PrettyWriter & | SetFormatOptions (PrettyFormatOptions options) |
Set pretty writer formatting options. More... | |
bool | RawValue (const Ch *json, size_t length, Type type) |
Write a raw JSON value. More... | |
void | Reset (OutputStream &os) |
Reset the writer with a new stream. More... | |
bool | IsComplete () const |
Checks whether the output is a complete JSON. More... | |
int | GetMaxDecimalPlaces () const |
void | SetMaxDecimalPlaces (int maxDecimalPlaces) |
Sets the maximum number of decimal places for double output. More... | |
void | Flush () |
Flush the output stream. More... | |
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) |
Convenience extensions | |
bool | String (const Ch *str) |
Simpler but slower overload. More... | |
bool | Key (const Ch *str) |
Convenience extensions | |
bool | String (const Ch *const &str) |
Simpler but slower overload. More... | |
bool | Key (const Ch *const &str) |
Static Public Attributes | |
static const int | kDefaultMaxDecimalPlaces = 324 |
Protected Member Functions | |
void | PrettyPrefix (Type type) |
void | WriteIndent () |
bool | WriteNull () |
bool | WriteBool (bool b) |
bool | WriteInt (int i) |
template<> | |
bool | WriteInt (int i) |
bool | WriteUint (unsigned u) |
template<> | |
bool | WriteUint (unsigned u) |
bool | WriteInt64 (int64_t i64) |
template<> | |
bool | WriteInt64 (int64_t i64) |
bool | WriteUint64 (uint64_t u64) |
template<> | |
bool | WriteUint64 (uint64_t u) |
bool | WriteDouble (double d) |
template<> | |
bool | WriteDouble (double d) |
bool | WriteString (const Ch *str, SizeType length) |
bool | ScanWriteUnescapedString (GenericStringStream< SourceEncoding > &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) |
Protected Attributes | |
Ch | indentChar_ |
unsigned | indentCharCount_ |
PrettyFormatOptions | formatOptions_ |
OutputStream * | os_ |
internal::Stack< StackAllocator > | level_stack_ |
int | maxDecimalPlaces_ |
bool | hasRoot_ |
Static Protected Attributes | |
static const size_t | kDefaultLevelDepth = 32 |
Private Member Functions | |
PrettyWriter (const PrettyWriter &) | |
PrettyWriter & | operator= (const PrettyWriter &) |
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 50 of file prettywriter.h.
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.
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 137 of file prettywriter.h.
|
inlineprotectedinherited |
Definition at line 493 of file writer.h.
|
inlineinherited |
|
inline |
|
inline |
|
inlineinherited |
Definition at line 129 of file prettywriter.h.
|
inline |
Definition at line 188 of file prettywriter.h.
|
inlineinherited |
Definition at line 259 of file writer.h.
|
inline |
|
private |
|
inlineprotectedinherited |
Definition at line 472 of file writer.h.
|
inlineprotected |
Definition at line 208 of file prettywriter.h.
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(); |
Definition at line 133 of file writer.h.
|
inlineprotectedinherited |
Definition at line 450 of file writer.h.
|
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
Definition at line 172 of file writer.h.
|
inline |
|
inline |
Definition at line 110 of file prettywriter.h.
|
inline |
Simpler but slower overload.
Definition at line 187 of file prettywriter.h.
|
inlineinherited |
Simpler but slower overload.
Definition at line 258 of file writer.h.
|
inline |
|
inline |
|
inlineprotectedinherited |
Definition at line 300 of file writer.h.
|
inlineprotectedinherited |
Definition at line 348 of file writer.h.
|
inlineprotectedinherited |
Definition at line 545 of file writer.h.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotected |
Definition at line 252 of file prettywriter.h.
|
inlineprotectedinherited |
Definition at line 312 of file writer.h.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
Definition at line 330 of file writer.h.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
Definition at line 295 of file writer.h.
|
inlineprotectedinherited |
Definition at line 459 of file writer.h.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
Definition at line 376 of file writer.h.
|
inlineprotectedinherited |
Definition at line 321 of file writer.h.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
Definition at line 339 of file writer.h.
|
inlineprotectedinherited |
|
protected |
Definition at line 259 of file prettywriter.h.
|
protected |
Definition at line 257 of file prettywriter.h.
|
protected |
Definition at line 258 of file prettywriter.h.
|
staticprotectedinherited |
|
protectedinherited |