15 #ifndef RAPIDJSON_PRETTYWRITER_H_ 16 #define RAPIDJSON_PRETTYWRITER_H_ 22 RAPIDJSON_DIAG_OFF(effc++)
25 #if defined(__clang__) 27 RAPIDJSON_DIAG_OFF(
c++98-compat)
47 template<
typename OutputStream,
typename SourceEncoding = UTF8<>,
typename TargetEncoding = UTF8<>,
typename StackAllocator = CrtAllocator,
unsigned writeFlags = kWriteDefaultFlags>
48 class PrettyWriter :
public Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> {
65 #if RAPIDJSON_HAS_CXX11_RVALUE_REFS 76 RAPIDJSON_ASSERT(indentChar ==
' ' || indentChar ==
'\t' || indentChar ==
'\n' || indentChar ==
'\r');
117 #if RAPIDJSON_HAS_STDSTRING 118 bool String(
const std::basic_string<Ch>&
str) {
131 #if RAPIDJSON_HAS_STDSTRING 132 bool Key(
const std::basic_string<Ch>&
str) {
213 if (level->inArray) {
214 if (level->valueCount > 0) {
226 if (level->valueCount > 0) {
227 if (level->valueCount % 2 == 0) {
239 if (level->valueCount % 2 == 0)
242 if (!level->inArray && level->valueCount % 2 == 0)
269 #if defined(__clang__) 277 #endif // RAPIDJSON_RAPIDJSON_H_ PrettyFormatOptions
Combination of PrettyWriter format flags.
Definition: prettywriter.h:35
Ch indentChar_
Definition: prettywriter.h:257
unsigned indentCharCount_
Definition: prettywriter.h:258
bool RawValue(const Ch *json, size_t length, Type type)
Write a raw JSON value.
Definition: prettywriter.h:201
void WriteIndent()
Definition: prettywriter.h:252
void Flush()
Flush the output stream.
Definition: writer.h:281
RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
Size type (for string lengths, array sizes, etc.)
Definition: rapidjson.h:389
int * count
Definition: gmock_stress_test.cc:176
#define RAPIDJSON_ASSERT(x)
Assertion.
Definition: rapidjson.h:411
PrettyFormatOptions formatOptions_
Definition: prettywriter.h:259
bool WriteInt64(int64_t i64)
Definition: writer.h:330
JSON writer.
Definition: fwd.h:95
int i
Definition: pymoduletest.py:23
object
Definition: rapidjson.h:627
void PrettyPrefix(Type type)
Definition: prettywriter.h:208
u
Definition: pymoduletest.py:20
PrettyWriter & SetIndent(Ch indentChar, unsigned indentCharCount)
Set custom indentation.
Definition: prettywriter.h:75
bool String(const Ch *str)
Simpler but slower overload.
Definition: prettywriter.h:187
bool WriteUint64(uint64_t u64)
Definition: writer.h:339
#define RAPIDJSON_NAMESPACE_END
provide custom rapidjson namespace (closing expression)
Definition: rapidjson.h:124
static const size_t kDefaultLevelDepth
Definition: writer.h:293
array
Definition: rapidjson.h:628
bool Key(const Ch *str, SizeType length, bool copy=false)
Definition: prettywriter.h:129
int type
Definition: superscalar.cpp:50
bool WriteRawValue(const Ch *json, size_t length)
Definition: writer.h:459
bool StartObject()
Definition: prettywriter.h:123
bool hasRoot_
Definition: writer.h:503
false
Definition: rapidjson.h:625
bool WriteStartObject()
Definition: writer.h:454
void PutN(byte_stream &dest, const std::uint8_t ch, const std::size_t count)
Compability/optimization for rapidjson.
Definition: byte_stream.h:212
PrettyWriter & operator=(const PrettyWriter &)
bool Int(int i)
Definition: prettywriter.h:97
PrettyWriter(StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth)
Definition: prettywriter.h:62
Level
Represents enumeration for severity level used to determine level of logging.
Definition: easylogging++.h:591
bool Bool(bool b)
Definition: prettywriter.h:96
void copy(key &AA, const key &A)
Definition: rctOps.h:79
#define RAPIDJSON_NAMESPACE_BEGIN
provide custom rapidjson namespace (opening expression)
Definition: rapidjson.h:121
Default pretty formatting.
Definition: prettywriter.h:36
Base::Ch Ch
Definition: prettywriter.h:51
bool RawNumber(const Ch *str, SizeType length, bool copy=false)
Definition: prettywriter.h:103
bool WriteUint(unsigned u)
Definition: writer.h:321
OutputStream * os_
Definition: writer.h:500
UTF8< char > ::Ch Ch
Definition: writer.h:91
string
Definition: rapidjson.h:629
Definition: readline_buffer.h:9
bool EndObject(SizeType memberCount=0)
Definition: prettywriter.h:137
bool WriteNull()
Definition: writer.h:295
unsigned __int64 uint64_t
Definition: stdint.h:136
size_t GetSize() const
Definition: stack.h:177
number
Definition: rapidjson.h:630
const char *const str
Definition: portlistingparse.c:23
bool WriteEndObject()
Definition: writer.h:455
bool Null()
Definition: prettywriter.h:95
bool Int64(int64_t i64)
Definition: prettywriter.h:99
bool Key(const Ch *str)
Definition: prettywriter.h:188
bool WriteString(const Ch *str, SizeType length)
Definition: writer.h:376
bool EndArray(SizeType memberCount=0)
Definition: prettywriter.h:163
signed __int64 int64_t
Definition: stdint.h:135
bool WriteEndArray()
Definition: writer.h:457
PrettyWriter(OutputStream &os, StackAllocator *allocator=0, size_t levelDepth=Base::kDefaultLevelDepth)
Constructor.
Definition: prettywriter.h:58
true
Definition: rapidjson.h:626
bool WriteStartArray()
Definition: writer.h:456
SizeType StrLen(const Ch *s)
Custom strlen() which works on different character types.
Definition: strfunc.h:31
bool String(const Ch *str, SizeType length, bool copy=false)
Definition: prettywriter.h:110
internal::Stack< StackAllocator > level_stack_
Definition: writer.h:501
bool WriteDouble(double d)
Definition: writer.h:348
Format arrays on a single line.
Definition: prettywriter.h:37
Type
Type of JSON value.
Definition: rapidjson.h:623
Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags > Base
Definition: prettywriter.h:50
bool StartArray()
Definition: prettywriter.h:157
PrettyWriter & SetFormatOptions(PrettyFormatOptions options)
Set pretty writer formatting options.
Definition: prettywriter.h:85
bool Uint64(uint64_t u64)
Definition: prettywriter.h:100
bool WriteInt(int i)
Definition: writer.h:312
c
Definition: pymoduletest.py:79
rapidjson::Document json
Definition: transport.cpp:49
Writer with indentation and spacing.
Definition: fwd.h:100
cryptonote::block b
Definition: block.cpp:40
bool Uint(unsigned u)
Definition: prettywriter.h:98
null
Definition: rapidjson.h:624
bool WriteBool(bool b)
Definition: writer.h:300
bool Double(double d)
Definition: prettywriter.h:101