template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
class rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >
JSON writer.
Writer implements the concept Handler. It generates JSON text by events to an output os.
User may programmatically calls the functions of a writer to generate JSON text.
On the other side, a writer can also be passed to objects that generates events,
for example Reader::Parse() and Document::Accept().
- Template Parameters
-
OutputStream | Type of output stream. |
SourceEncoding | Encoding of source string. |
TargetEncoding | Encoding of output stream. |
StackAllocator | Type of allocator for allocating memory of stack. |
- Note
- implements Handler concept
Definition at line 88 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Double |
( |
double |
d | ) |
|
|
inline |
Writes the given double
value to the stream.
- Parameters
-
d | The value to be written. |
- Returns
- Whether it is succeed.
Definition at line 192 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
bool rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::IsComplete |
( |
| ) |
const |
|
inline |
Checks whether the output is a complete JSON.
A complete JSON has a complete root object or array.
Definition at line 142 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
Write a raw JSON value.
For user to write a stringified JSON as a value.
- Parameters
-
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 262 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
void rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::Reset |
( |
OutputStream & |
os | ) |
|
|
inline |
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.
- Parameters
-
os | New output stream. Writer<OutputStream> writer(os1);
writer.StartObject();
writer.EndObject();
writer.Reset(os2);
writer.StartObject();
writer.EndObject();
|
Definition at line 132 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
void rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags >::SetMaxDecimalPlaces |
( |
int |
maxDecimalPlaces | ) |
|
|
inline |
Sets the maximum number of decimal places for double output.
This setting truncates the output with specified number of decimal places.
For example,
writer.SetMaxDecimalPlaces(3);
writer.StartArray();
writer.Double(0.12345);
writer.Double(0.0001);
writer.Double(1.234567890123456e30);
writer.Double(1.23e-4);
writer.EndArray();
The default setting does not truncate any decimal places. You can restore to this setting by calling
static const int kDefaultMaxDecimalPlaces
Definition at line 171 of file writer.h.
template<typename OutputStream , typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>