![]() |
Gaia-ECS v0.9.3
A simple and powerful entity component system
|
Lightweight JSON serializer/deserializer. More...
#include <ser_json.h>
Public Member Functions | |
| ser_json (const char *json, uint32_t len) | |
| template<size_t N> | |
| ser_json (const char(&json)[N]) | |
| void | reset_input (const char *json, uint32_t len) |
| Sets an input JSON buffer for parsing. | |
| template<size_t N> | |
| void | reset_input (const char(&json)[N]) |
| void | clear () |
| Clears output JSON text and writer context. | |
| GAIA_NODISCARD const json_str & | str () const |
| Returns currently emitted output text. | |
| GAIA_NODISCARD bool | eof () const |
| Returns true if parser has reached end of input. | |
| GAIA_NODISCARD char | peek () const |
| Returns next non-consumed character. | |
| void | ws () |
| Skips whitespace in parser input. | |
| GAIA_NODISCARD const char * | pos () const |
| GAIA_NODISCARD const char * | end () const |
| void | begin_object () |
| void | end_object () |
| void | begin_array () |
| void | end_array () |
| void | key (const char *name, uint32_t len=0) |
| void | value_null () |
| void | value_bool (bool v) |
| template<typename TInt , typename = std::enable_if_t<std::is_integral_v<TInt> && !std::is_same_v<TInt, bool>>> | |
| void | value_int (TInt v) |
| void | value_float (float v) |
| void | value_float (double v) |
| void | value_string (const char *str, uint32_t len=0) |
| bool | consume (char ch) |
| bool | expect (char ch) |
| bool | parse_literal (const char *lit) |
| bool | parse_string_view (json_str_view &out, bool *fromScratch=nullptr) |
| bool | parse_string (json_str &out) |
| bool | parse_string_eq (const char *literal) |
| bool | parse_number (double &value) |
| bool | parse_bool (bool &value) |
| bool | parse_null () |
| bool | skip_value () |
Lightweight JSON serializer/deserializer.