Giri's C++ Support Library
C++ library providing everything you need to quickly create awesome applications.
|
Lightweight JSON library for exporting/importing data in JSON format from/to C++. Can be used standalone with any C++17 compiler. More...
#include <cstdint>
#include <cmath>
#include <cctype>
#include <string>
#include <deque>
#include <map>
#include <type_traits>
#include <initializer_list>
#include <ostream>
#include <charconv>
Go to the source code of this file.
Classes | |
struct | giri::json::error_category |
Error category object used to convert the error code to a understandable message via std::error_code. More... | |
struct | std::is_error_code_enum< giri::json::error > |
class | giri::json::JSON |
Class to represent and use JSON objects. Class may throw exceptions of type std::error_code on error. More... | |
class | giri::json::JSON::JSONWrapper< Container > |
Provides iterators to iterate over objects/arrays. More... | |
class | giri::json::JSON::JSONConstWrapper< Container > |
Provides const iterators to iterate over objects/arrays. More... | |
Namespaces | |
giri | |
Namespace for giri's C++ support library. | |
giri::json | |
Namespace containing all JSON related stuff. | |
std | |
giri::json::utility | |
Collection of helper functions and objects. | |
giri::json::parsers | |
Collection of functions used to parse json strings and json substrings. | |
Enumerations | |
enum class | giri::json::error { float_conversion_failed_invalid_arg = 42 , float_conversion_failed_out_of_range , float_conversion_failed , object_missing_colon , object_missing_comma , array_missing_comma_or_bracket , string_missing_hex_char , string_conversion_failed , string_unescaped_conversion_failed , number_missing_exponent , number_unexpected_char , number_conversion_failed , bool_wrong_text , bool_conversion_failed , null_wrong_text , unknown_starting_char } |
Enum class to identify parsing and conversion errors. | |
Functions | |
std::string | giri::json::utility::json_escape (const std::string &str) |
std::error_code | giri::json::make_error_code (json::error e) noexcept |
JSON | giri::json::Array () |
template<typename... T> | |
JSON | giri::json::Array (T... args) |
JSON | giri::json::Object () |
std::ostream & | giri::json::operator<< (std::ostream &os, const JSON &json) |
JSON | giri::json::parsers::parse_next (const std::string &, size_t &, std::error_code &) noexcept |
void | giri::json::parsers::consume_ws (const std::string &str, size_t &offset) |
JSON | giri::json::parsers::parse_object (const std::string &str, size_t &offset, std::error_code &ec) noexcept |
JSON | giri::json::parsers::parse_array (const std::string &str, size_t &offset, std::error_code &ec) noexcept |
JSON | giri::json::parsers::parse_string (const std::string &str, size_t &offset, std::error_code &ec) noexcept |
JSON | giri::json::parsers::parse_number (const std::string &str, size_t &offset, std::error_code &ec) noexcept |
JSON | giri::json::parsers::parse_bool (const std::string &str, size_t &offset, std::error_code &ec) noexcept |
JSON | giri::json::parsers::parse_null (const std::string &str, size_t &offset, std::error_code &ec) noexcept |
Variables | |
const json::error_category | giri::json::utility::json_error_category |
Lightweight JSON library for exporting/importing data in JSON format from/to C++. Can be used standalone with any C++17 compiler.
Based on: https://github.com/nbsdx/SimpleJSON/
This version includes new features, performancefixes, documentation and bugfixes added by giri@. nwrk .biz
Do what the fuck you want public license