libvariant
 All Classes Namespaces Files Functions Enumerations Groups
Public Member Functions | List of all members
libvariant::JSONEmitterImpl Class Reference

#include </home/gallen/repositories/libvariant/src/JSONEmitter.h>

Inheritance diagram for libvariant::JSONEmitterImpl:
libvariant::EmitterImpl

Public Member Functions

 JSONEmitterImpl (shared_ptr< EmitterOutput > o, Variant params)
 
virtual void BeginDocument ()
 
virtual void EndDocument ()
 
virtual void BeginMap (int length)
 
virtual void EndMap ()
 
virtual void BeginList (int length)
 
virtual void EndList ()
 
virtual void EmitNull ()
 
virtual void EmitTrue ()
 
virtual void EmitFalse ()
 
virtual void Emit (const char *v)
 
virtual void Emit (intmax_t v)
 
virtual void Emit (uintmax_t v)
 
virtual void Emit (double v)
 
virtual void Emit (ConstBlobPtr b)
 
virtual void Flush ()
 
virtual void Close ()
 
virtual Variant GetParam (const std::string &key)
 
virtual Variant GetParams ()
 
virtual void SetParam (const std::string &key, Variant value)
 
- Public Member Functions inherited from libvariant::EmitterImpl
virtual void SetParams (Variant params)
 

Detailed Description

A simple JSON emitter class to make it simple to emit valid JSON in a program. Does minimal error checking. All strings are assumed to be UTF-8 encoded.

This class buffers with a small buffer otherwise it would internally perform many calls to write with 1 or 2 bytes. Flush automatically happens on EndMap and EndList.

Supported parameters are: "pretty": boolean "indent": integer (number of spaces to indent when pretty is on, default 4) "precision": integer (number of digits for a float) "strict": be more strict about emitting correct json


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