![]()  | 
  
    PeriDyno 1.2.1
    
   | 
 
SAX implementation to create a JSON value from SAX events. More...
#include <json.hpp>
Public Types | |
| using | number_integer_t = typename BasicJsonType::number_integer_t | 
| using | number_unsigned_t = typename BasicJsonType::number_unsigned_t | 
| using | number_float_t = typename BasicJsonType::number_float_t | 
| using | string_t = typename BasicJsonType::string_t | 
| using | binary_t = typename BasicJsonType::binary_t | 
Public Member Functions | |
| json_sax_dom_parser (BasicJsonType &r, const bool allow_exceptions_=true) | |
| json_sax_dom_parser (const json_sax_dom_parser &)=delete | |
| json_sax_dom_parser (json_sax_dom_parser &&)=default | |
| json_sax_dom_parser & | operator= (const json_sax_dom_parser &)=delete | 
| json_sax_dom_parser & | operator= (json_sax_dom_parser &&)=default | 
| ~json_sax_dom_parser ()=default | |
| bool | null () | 
| bool | boolean (bool val) | 
| bool | number_integer (number_integer_t val) | 
| bool | number_unsigned (number_unsigned_t val) | 
| bool | number_float (number_float_t val, const string_t &) | 
| bool | string (string_t &val) | 
| bool | binary (binary_t &val) | 
| bool | start_object (std::size_t len) | 
| bool | key (string_t &val) | 
| bool | end_object () | 
| bool | start_array (std::size_t len) | 
| bool | end_array () | 
| template<class Exception> | |
| bool | parse_error (std::size_t, const std::string &, const Exception &ex) | 
| constexpr bool | is_errored () const | 
Private Member Functions | |
| template<typename Value> | |
| JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType * | handle_value (Value &&v) | 
Private Attributes | |
| BasicJsonType & | root | 
| the parsed JSON value   | |
| std::vector< BasicJsonType * > | ref_stack {} | 
| stack to model hierarchy of values   | |
| BasicJsonType * | object_element = nullptr | 
| helper to hold the reference for the next object element   | |
| bool | errored = false | 
| whether a syntax error occurred   | |
| const bool | allow_exceptions = true | 
| whether to throw exceptions in case of errors   | |
SAX implementation to create a JSON value from SAX events.
This class implements the json_sax interface and processes the SAX events to create a JSON value which makes it basically a DOM parser. The structure or hierarchy of the JSON value is managed by the stack ref_stack which contains a pointer to the respective array or object for each recursion depth.
After successful parsing, the value that is passed by reference to the constructor contains the parsed value.
| BasicJsonType | the JSON type | 
| using detail::json_sax_dom_parser< BasicJsonType >::binary_t = typename BasicJsonType::binary_t | 
| using detail::json_sax_dom_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t | 
| using detail::json_sax_dom_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t | 
| using detail::json_sax_dom_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t | 
| using detail::json_sax_dom_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t | 
      
  | 
  inlineexplicit | 
      
  | 
  delete | 

      
  | 
  default | 

      
  | 
  default | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inlineprivate | 
      
  | 
  inlineconstexpr | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  delete | 

      
  | 
  default | 

      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |