MakerLabs ACM
Json::JsonEmitter Class Reference

#include <json_emitter.h>

Public Types

using string_view = std::experimental::string_view
 
using string = std::string
 
using JsonPathComponent = stx::variant< int, string >
 
using JsonPath = std::vector< JsonPathComponent >
 
using PostCallbackAction = bool
 
using Callback = delegate< PostCallbackAction(string_view)>
 
using Errback = delegate< PostCallbackAction(string_view)>
 
using JsonParserPtr = std::unique_ptr< yajl_handle_t, void(*)(yajl_handle_t *)>
 
using JsonGenPtr = std::unique_ptr< yajl_gen_t, void(*)(yajl_gen_t *)>
 

Public Member Functions

 JsonEmitter (const string_view match_path_str)
 
 JsonEmitter (const JsonPath &_match_path={})
 
 ~JsonEmitter ()=default
 
auto init () -> bool
 
auto clear () -> bool
 
auto reset () -> bool
 
auto parse (const string_view chunk, Callback &&_callback, Errback &&_errback) -> bool
 
auto has_parse_state () -> bool
 
auto on_json_parse_null () -> int
 
auto on_json_parse_boolean (const int b) -> int
 
auto on_json_parse_number (const char *s, const size_t l) -> int
 
auto on_json_parse_string (const unsigned char *s, const size_t l) -> int
 
auto on_json_parse_map_key (const unsigned char *s, const size_t l) -> int
 
auto on_json_parse_start_map () -> int
 
auto on_json_parse_end_map () -> int
 
auto on_json_parse_start_array () -> int
 
auto on_json_parse_end_array () -> int
 

Static Public Attributes

static constexpr PostCallbackAction AbortProcessing = false
 
static constexpr PostCallbackAction ContinueProcessing = false
 

Static Protected Member Functions

static auto parse_json_path (string_view json_path_str) -> JsonPath
 

Member Typedef Documentation

◆ Callback

◆ Errback

◆ JsonGenPtr

using Json::JsonEmitter::JsonGenPtr = std::unique_ptr<yajl_gen_t, void(*)(yajl_gen_t*)>

◆ JsonParserPtr

using Json::JsonEmitter::JsonParserPtr = std::unique_ptr<yajl_handle_t, void(*)(yajl_handle_t*)>

◆ JsonPath

◆ JsonPathComponent

using Json::JsonEmitter::JsonPathComponent = stx::variant<int, string>

◆ PostCallbackAction

◆ string

using Json::JsonEmitter::string = std::string

◆ string_view

using Json::JsonEmitter::string_view = std::experimental::string_view

Constructor & Destructor Documentation

◆ JsonEmitter() [1/2]

Json::JsonEmitter::JsonEmitter ( const string_view  match_path_str)

◆ JsonEmitter() [2/2]

Json::JsonEmitter::JsonEmitter ( const JsonPath &  _match_path = {})

◆ ~JsonEmitter()

Json::JsonEmitter::~JsonEmitter ( )
default

Member Function Documentation

◆ clear()

auto Json::JsonEmitter::clear ( ) -> bool

◆ has_parse_state()

auto Json::JsonEmitter::has_parse_state ( ) -> bool

◆ init()

auto Json::JsonEmitter::init ( ) -> bool

◆ on_json_parse_boolean()

auto Json::JsonEmitter::on_json_parse_boolean ( const int  b) -> int
Here is the call graph for this function:

◆ on_json_parse_end_array()

auto Json::JsonEmitter::on_json_parse_end_array ( ) -> int
Here is the call graph for this function:

◆ on_json_parse_end_map()

auto Json::JsonEmitter::on_json_parse_end_map ( ) -> int
Here is the call graph for this function:

◆ on_json_parse_map_key()

auto Json::JsonEmitter::on_json_parse_map_key ( const unsigned char *  s,
const size_t  l 
) -> int
Here is the call graph for this function:

◆ on_json_parse_null()

auto Json::JsonEmitter::on_json_parse_null ( ) -> int
Here is the call graph for this function:

◆ on_json_parse_number()

auto Json::JsonEmitter::on_json_parse_number ( const char *  s,
const size_t  l 
) -> int
Here is the call graph for this function:

◆ on_json_parse_start_array()

auto Json::JsonEmitter::on_json_parse_start_array ( ) -> int
Here is the call graph for this function:

◆ on_json_parse_start_map()

auto Json::JsonEmitter::on_json_parse_start_map ( ) -> int
Here is the call graph for this function:

◆ on_json_parse_string()

auto Json::JsonEmitter::on_json_parse_string ( const unsigned char *  s,
const size_t  l 
) -> int
Here is the call graph for this function:

◆ parse()

auto Json::JsonEmitter::parse ( const string_view  chunk,
Callback &&  _callback,
Errback &&  _errback 
) -> bool

◆ parse_json_path()

auto Json::JsonEmitter::parse_json_path ( string_view  json_path_str) -> JsonPath
staticprotected

◆ reset()

auto Json::JsonEmitter::reset ( ) -> bool

Member Data Documentation

◆ AbortProcessing

constexpr PostCallbackAction Json::JsonEmitter::AbortProcessing = false
static

◆ ContinueProcessing

constexpr PostCallbackAction Json::JsonEmitter::ContinueProcessing = false
static

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