2021-10-10 20:26:30 +00:00
|
|
|
#pragma once
|
|
|
|
|
2021-10-11 09:43:33 +00:00
|
|
|
#include <cstdint>
|
2021-10-10 20:26:30 +00:00
|
|
|
#include <string>
|
|
|
|
|
|
|
|
#include <boost/json.hpp>
|
|
|
|
|
|
|
|
class json_t {
|
|
|
|
protected:
|
2021-10-11 09:43:33 +00:00
|
|
|
[[nodiscard]] static const boost::json::value& get_value(const boost::json::object& object, std::string key);
|
2021-10-10 20:26:30 +00:00
|
|
|
|
2021-10-11 09:43:33 +00:00
|
|
|
[[nodiscard]] static int64_t get_int64(const boost::json::value& value);
|
|
|
|
[[nodiscard]] static uint16_t get_uint16(const boost::json::value& value);
|
|
|
|
[[nodiscard]] static uint8_t get_uint8(const boost::json::value& value);
|
2021-10-10 20:26:30 +00:00
|
|
|
|
2021-10-11 09:43:33 +00:00
|
|
|
[[nodiscard]] static int64_t get_int64(const boost::json::object& object, std::string key);
|
|
|
|
[[nodiscard]] static uint16_t get_uint16(const boost::json::object& object, std::string key);
|
|
|
|
[[nodiscard]] static uint8_t get_uint8(const boost::json::object& object, std::string key);
|
2021-10-10 20:26:30 +00:00
|
|
|
|
2021-10-11 09:43:33 +00:00
|
|
|
[[nodiscard]] static const boost::json::array& get_array(const boost::json::value& value);
|
|
|
|
[[nodiscard]] static const boost::json::array& get_array(const boost::json::object& object, std::string key);
|
2021-10-10 20:26:30 +00:00
|
|
|
|
2021-10-11 09:43:33 +00:00
|
|
|
[[nodiscard]] static const boost::json::string& get_string(const boost::json::value& value);
|
|
|
|
[[nodiscard]] static const boost::json::string& get_string(const boost::json::object& object, std::string key);
|
2021-10-10 20:26:30 +00:00
|
|
|
};
|