载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | 所有成员列表
rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > 模板类 参考

Writer with indentation and spacing. 更多...

`#include <prettywriter.h>`

类 rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > 继承关系图:

## Public 类型
typedef Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator > | Base
typedef Base::Ch | Ch
Public 类型 继承自 rapidjson::Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags >
typedef UTF8<>::Ch | Ch

## Public 成员函数
| PrettyWriter (OutputStream &os, StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth)
| Constructor
| PrettyWriter (StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth)
PrettyWriter & | SetIndent (Ch indentChar, unsigned indentCharCount)
| Set custom indentation.
PrettyWriter & | SetFormatOptions (PrettyFormatOptions options)
| Set pretty writer formatting options.
Implementation of Handler
参见 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)
Public 成员函数 继承自 rapidjson::Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags >
| Writer (OutputStream &os, CrtAllocator *stackAllocator=0, size_t levelDepth=kDefaultLevelDepth)
| Constructor
| Writer (CrtAllocator *allocator=0, size_t levelDepth=kDefaultLevelDepth)
void | Reset (OutputStream &os)
| Reset the writer with a new stream.
bool | IsComplete () const
| Checks whether the output is a complete JSON.
int | GetMaxDecimalPlaces () const
void | SetMaxDecimalPlaces (int maxDecimalPlaces)
| Sets the maximum number of decimal places for double output.
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)
| Writes the given `double` value to the stream
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 elementCount=0)
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.

## 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 ()

## 额外继承的成员函数
静态 Public 属性 继承自 rapidjson::Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags >
static const int | kDefaultMaxDecimalPlaces
Protected 成员函数 继承自 rapidjson::Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags >
bool | WriteInt (int i)
bool | WriteUint (unsigned u)
bool | WriteInt64 (int64_t i64)
bool | WriteUint64 (uint64_t u)
bool | WriteDouble (double d)
bool | WriteNull ()
bool | WriteBool (bool b)
bool | WriteInt (int i)
bool | WriteUint (unsigned u)
bool | WriteInt64 (int64_t i64)
bool | WriteUint64 (uint64_t u64)
bool | WriteDouble (double d)
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)
Protected 属性 继承自 rapidjson::Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags >
OutputStream * | os_
internal::Stack< CrtAllocator > | level_stack_
int | maxDecimalPlaces_
bool | hasRoot_
静态 Protected 属性 继承自 rapidjson::Writer< OutputStream, UTF8<>, UTF8<>, CrtAllocator, kWriteDefaultFlags >
static const size_t | kDefaultLevelDepth

## 详细描述

template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
class rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >

Writer with indentation and spacing.

模板参数

  OutputStream | Type of ouptut os.
  SourceEncoding | Encoding of source string.
  TargetEncoding | Encoding of output stream.
  StackAllocator | Type of allocator for allocating memory of stack.

## 构造及析构函数说明

## ◆ PrettyWriter()

template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>

rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::PrettyWriter | ( | OutputStream & | os,
|  | StackAllocator * | allocator = 0,
|  | size_t | levelDepth = Base::kDefaultLevelDepth )
| inline explicit

Constructor

参数

  os | Output stream.
  allocator | User supplied allocator. If it is null, it will create a private one.
  levelDepth | Initial capacity of stack.

## 成员函数说明

## ◆ RawValue()

template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>

bool rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::RawValue | ( | const Ch * | json,
|  | size_t | length,
|  | Type | type )
| 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.

注解
  When using PrettyWriter::RawValue(), the result json may not be indented correctly.

## ◆ SetFormatOptions()

template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>

PrettyWriter & rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::SetFormatOptions | ( | PrettyFormatOptions | options | ) |
| inline

Set pretty writer formatting options.

参数

  options | Formatting options.

## ◆ SetIndent()

template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>

PrettyWriter & rapidjson::PrettyWriter< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::SetIndent | ( | Ch | indentChar,
|  | unsigned | indentCharCount )
| inline

Set custom indentation.

参数

  indentChar | Character for indentation. Must be whitespace character (' ', '\t', '\n', '\r').
  indentCharCount | Number of indent characters for each indentation level.

注解
  The default indentation is 4 spaces.

该类的文档由以下文件生成:

- include/rapidjson/fwd.h
- include/rapidjson/prettywriter.h