Electroneum
JsonWriter Class Reference

#include <archiver.h>

Public Member Functions

 JsonWriter ()
 Constructor. More...
 
 ~JsonWriter ()
 Destructor. More...
 
const char * GetString () const
 Obtains the serialized JSON string. More...
 
 operator bool () const
 
JsonWriterStartObject ()
 
JsonWriterMember (const char *name)
 
bool HasMember (const char *name) const
 
JsonWriterEndObject ()
 
JsonWriterStartArray (size_t *size=0)
 
JsonWriterEndArray ()
 
JsonWriteroperator & (bool &b)
 
JsonWriteroperator & (unsigned &u)
 
JsonWriteroperator & (int &i)
 
JsonWriteroperator & (double &d)
 
JsonWriteroperator & (std::string &s)
 
JsonWriterSetNull ()
 

Static Public Attributes

static const bool IsReader = false
 
static const bool IsWriter = !IsReader
 

Detailed Description

Definition at line 103 of file archiver.h.

Constructor & Destructor Documentation

◆ JsonWriter()

JsonWriter::JsonWriter ( )

Constructor.

Definition at line 216 of file archiver.cpp.

216  : mWriter(), mStream() {
217  mStream = new StringBuffer;
218  mWriter = new PrettyWriter<StringBuffer>(*STREAM);
219 }
Writer with indentation and spacing.
Definition: fwd.h:100
GenericStringBuffer< UTF8< char >, CrtAllocator > StringBuffer
Definition: fwd.h:59

◆ ~JsonWriter()

JsonWriter::~JsonWriter ( )

Destructor.

Definition at line 221 of file archiver.cpp.

221  {
222  delete WRITER;
223  delete STREAM;
224 }
#define STREAM
Definition: archiver.cpp:214
#define WRITER
Definition: archiver.cpp:213

Member Function Documentation

◆ EndArray()

JsonWriter & JsonWriter::EndArray ( )

Definition at line 256 of file archiver.cpp.

256  {
257  WRITER->EndArray();
258  return *this;
259 }
#define WRITER
Definition: archiver.cpp:213

◆ EndObject()

JsonWriter & JsonWriter::EndObject ( )

Definition at line 235 of file archiver.cpp.

235  {
236  WRITER->EndObject();
237  return *this;
238 }
#define WRITER
Definition: archiver.cpp:213

◆ GetString()

const char * JsonWriter::GetString ( ) const

Obtains the serialized JSON string.

Definition at line 226 of file archiver.cpp.

226  {
227  return STREAM->GetString();
228 }
#define STREAM
Definition: archiver.cpp:214
Here is the caller graph for this function:

◆ HasMember()

bool JsonWriter::HasMember ( const char *  name) const

Definition at line 245 of file archiver.cpp.

245  {
246  // This function is for JsonReader only.
247  assert(false);
248  return false;
249 }

◆ Member()

JsonWriter & JsonWriter::Member ( const char *  name)

Definition at line 240 of file archiver.cpp.

240  {
241  WRITER->String(name, static_cast<SizeType>(strlen(name)));
242  return *this;
243 }
const char * name
#define WRITER
Definition: archiver.cpp:213

◆ operator &() [1/5]

JsonWriter& JsonWriter::operator& ( bool b)

◆ operator &() [2/5]

JsonWriter& JsonWriter::operator& ( unsigned &  u)

◆ operator &() [3/5]

JsonWriter& JsonWriter::operator& ( int &  i)

◆ operator &() [4/5]

JsonWriter& JsonWriter::operator& ( double &  d)

◆ operator &() [5/5]

JsonWriter& JsonWriter::operator& ( std::string &  s)

◆ operator bool()

JsonWriter::operator bool ( ) const
inline

Definition at line 116 of file archiver.h.

116 { return true; }

◆ SetNull()

JsonWriter & JsonWriter::SetNull ( )

Definition at line 286 of file archiver.cpp.

286  {
287  WRITER->Null();
288  return *this;
289 }
#define WRITER
Definition: archiver.cpp:213

◆ StartArray()

JsonWriter & JsonWriter::StartArray ( size_t *  size = 0)

Definition at line 251 of file archiver.cpp.

251  {
252  WRITER->StartArray();
253  return *this;
254 }
#define WRITER
Definition: archiver.cpp:213

◆ StartObject()

JsonWriter & JsonWriter::StartObject ( )

Definition at line 230 of file archiver.cpp.

230  {
231  WRITER->StartObject();
232  return *this;
233 }
#define WRITER
Definition: archiver.cpp:213

Member Data Documentation

◆ IsReader

const bool JsonWriter::IsReader = false
static

Definition at line 133 of file archiver.h.

◆ IsWriter

const bool JsonWriter::IsWriter = !IsReader
static

Definition at line 134 of file archiver.h.


The documentation for this class was generated from the following files: