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

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

Inheritance diagram for libvariant::YAMLEmitterImpl:
libvariant::EmitterImpl

Classes

struct  Config
 

Public Types

enum  ConfigKeys {
  SCALAR_STYLE, MAP_STYLE, LIST_STYLE, IMPLICIT_DOCUMENT_BEGIN,
  IMPLICIT_DOCUMENT_END, INDENT, WIDTH, PRECISION
}
 
enum  ScalarStyle {
  ANY_SCALAR_STYLE, PLAIN_SCALAR_STYLE, SINGLE_QUOTED_SCALAR_STYLE, DOUBLE_QUOTED_SCALAR_STYLE,
  LITERAL_SCALAR_STYLE, FOLDED_SCALAR_STYLE
}
 
enum  Style { ANY_STYLE, BLOCK_STYLE, FLOW_STYLE }
 

Public Member Functions

 YAMLEmitterImpl (shared_ptr< EmitterOutput > output, Variant params)
 
virtual void BeginDocument ()
 
void BeginDocument (bool implicit)
 
virtual void EndDocument ()
 
void EndDocument (bool implicit)
 
virtual void BeginMap (int length)
 
void BeginMap (int length, Style style)
 
virtual void EndMap ()
 
virtual void BeginList (int length)
 
void BeginList (int length, Style style)
 
virtual void EndList ()
 
virtual void EmitNull ()
 
virtual void EmitTrue ()
 
virtual void EmitFalse ()
 
void Emit (const std::string &v, ScalarStyle style)
 
virtual void Emit (const char *v)
 
void Emit (const char *v, ScalarStyle style)
 
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)
 
virtual void SetParams (Variant params)
 

Detailed Description

Supported parameters are (first is default): "scalar_style": "any"|"plain"|"single quoted"|"double quoted"|"literal"|"folded" "map_style": "any"|"block"|"flow" "list_style": "any"|"block"|"flow" "implicit_document_begin": false|true "implicit_document_end": false|true These two parameters are only settable on creation. Resetting afterwards has no effect. "indent": integer (number of spaces to indent) "width": integer (set prefered line width) "precision": number of digits for a float

Constructor & Destructor Documentation

libvariant::YAMLEmitterImpl::YAMLEmitterImpl ( shared_ptr< EmitterOutput output,
Variant  params 
)

Create a YAMLEmitter that uses output to write. The output object will be deleted when YAMLEmitter is destroyed.

Member Function Documentation

void libvariant::YAMLEmitterImpl::Close ( )
virtual

Flush, release all resources and clean up. Doing anything other than deleting this object will result in a std::runtime_error

Implements libvariant::EmitterImpl.


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