Botcraft 1.21.4
Loading...
Searching...
No Matches
Json.hpp File Reference
#include <cassert>
#include <map>
#include <stdexcept>
#include <string>
#include <string_view>
#include <type_traits>
#include <variant>
#include <vector>
#include <array>
#include "protocolCraft/Utilities/RecursiveWrapper.hpp"

Go to the source code of this file.

Classes

class  ProtocolCraft::Json::Value
 Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant directly so we can better control which constructors are allowed. More...
 
class  ProtocolCraft::Json::Array
 Real class declaration, just a derived class of std::vector<Value> More...
 
class  ProtocolCraft::Json::Object
 Real class declaration, just a derived class of std::map<std::string, Value> More...
 

Namespaces

namespace  ProtocolCraft
 
namespace  ProtocolCraft::Json
 
namespace  ProtocolCraft::Json::Internal
 

Typedefs

using ProtocolCraft::Json::Internal::JsonVariant = std::variant< std::monostate, ProtocolCraft::Internal::RecursiveWrapper< Object >, ProtocolCraft::Internal::RecursiveWrapper< Array >, std::string, bool, long long int, unsigned long long int, double >
 std::variant holding the actual data
 

Functions

Value ProtocolCraft::Json::Parse (std::string_view::const_iterator iter, size_t length, bool no_except=false)
 Parse a string_view from iter for at most length characters.
 
Value ProtocolCraft::Json::Parse (const std::string &s, bool no_except=false)
 Parse a std::string.