Guitar
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
jstream.h File Reference
#include <cmath>
#include <cstdint>
#include <cstring>
#include <functional>
#include <string>
#include <string_view>
#include <vector>
#include <variant>
#include <assert.h>
Include dependency graph for jstream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  jstream::misc
 
class  jstream::Reader
 
struct  jstream::Reader::Error
 
struct  jstream::Reader::StateItem
 
struct  jstream::Reader::ParserData
 
class  jstream::Writer
 
struct  jstream::Array
 
struct  jstream::KeyValue
 
struct  jstream::VariantRef
 
struct  jstream::Object
 

Namespaces

 jstream
 

Typedefs

typedef std::nullptr_t jstream::null_t
 
typedef std::vector< KeyValue > jstream::_Object
 
typedef std::variant< null_t, bool, double, std::string, _Object, Array > jstream::Variant
 

Enumerations

enum  jstream::StateType {
  jstream::None = 0 , jstream::Null , jstream::False , jstream::True ,
  jstream::Key = 100 , jstream::Comma , jstream::StartObject , jstream::EndObject ,
  jstream::StartArray , jstream::EndArray , jstream::String , jstream::Number
}
 

Functions

static std::vector< char > jstream::encode_json_string (std::string_view const &in)
 
static bool jstream::is_null (Variant const &v)
 
static bool jstream::is_boolean (Variant const &v)
 
static bool jstream::is_number (Variant const &v)
 
static bool jstream::is_string (Variant const &v)
 
static bool jstream::is_object (Variant const &v)
 
static bool jstream::is_array (Variant const &v)
 
static bool jstream::is_nan (Variant const &v)
 
static bool jstream::is_infinite (Variant const &v)
 
static Array & jstream::arr (Array &a)
 
static Array & jstream::arr (Variant &v)
 
static Object jstream::obj (Variant &v)
 
static Variant jstream::var (jstream::Reader const &reader)
 

Variables

constexpr std::nullptr_t jstream::null = nullptr