Treelite
Public Member Functions | Protected Member Functions | List of all members
BaseHandler Class Reference

base class for parsing all JSON objects More...

#include <xgboost_json.h>

Inheritance diagram for BaseHandler:
Inheritance graph
[legend]
Collaboration diagram for BaseHandler:
Collaboration graph
[legend]

Public Member Functions

 BaseHandler (std::weak_ptr< Delegator > parent_delegator)
 construct handler to be added to given delegator's stack More...
 
virtual bool Null ()
 
virtual bool Bool (bool)
 
virtual bool Int (int)
 
virtual bool Uint (unsigned)
 
virtual bool Int64 (int64_t)
 
virtual bool Uint64 (uint64_t)
 
virtual bool Double (double)
 
virtual bool String (const char *, std::size_t, bool)
 
virtual bool StartObject ()
 
virtual bool Key (const char *str, std::size_t length, bool)
 
virtual bool EndObject (std::size_t)
 
virtual bool StartArray ()
 
virtual bool EndArray (std::size_t)
 

Protected Member Functions

template<typename HandlerType , typename... ArgsTypes>
bool push_handler (ArgsTypes &... args)
 
template<typename HandlerType , typename... ArgsTypes>
bool push_key_handler (std::string key, ArgsTypes &... args)
 
bool pop_handler ()
 
void set_cur_key (const char *str, std::size_t length)
 
const std::string & get_cur_key ()
 
bool check_cur_key (const std::string &query_key)
 
template<typename ValueType >
bool assign_value (const std::string &key, ValueType &&value, ValueType &output)
 
template<typename ValueType >
bool assign_value (const std::string &key, const ValueType &value, ValueType &output)
 

Detailed Description

base class for parsing all JSON objects

Definition at line 33 of file xgboost_json.h.

Constructor & Destructor Documentation

◆ BaseHandler()

BaseHandler ( std::weak_ptr< Delegator parent_delegator)
inlineexplicit

construct handler to be added to given delegator's stack

Parameters
parent_delegatorpointer to Delegator for this handler

Definition at line 40 of file xgboost_json.h.


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