DAW JSON Link
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
daw_json_parse_common.h File Reference
#include "daw_json_assert.h"
#include "daw_json_exec_modes.h"
#include "daw_json_parse_digit.h"
#include "daw_json_parse_string_need_slow.h"
#include "daw_json_parse_string_quote.h"
#include "daw_json_traits.h"
#include <daw/daw_arith_traits.h>
#include <daw/daw_parser_helper_sv.h>
#include <daw/daw_string_view.h>
#include <daw/daw_traits.h>
#include <ciso646>
#include <cstddef>
#include <iterator>

Go to the source code of this file.

Classes

struct  daw::json::TestInputIteratorType< T >
 
struct  daw::json::tuple_json_mapping< Members >
 

Namespaces

 daw
 
 daw::json
 

Macros

#define CPP20CONSTEXPR
 
#define JSONNAMETYPE   char const *
 

Typedefs

template<JsonParseTypes v>
using daw::json::ParseTag = std::integral_constant< JsonParseTypes, v >
 

Enumerations

enum  daw::json::AllowEscapeCharacter { daw::json::AllowEscapeCharacter::Allow, daw::json::AllowEscapeCharacter::NotBeforeDblQuote }
 
enum  daw::json::CustomJsonTypes { daw::json::CustomJsonTypes::Literal, daw::json::CustomJsonTypes::String, daw::json::CustomJsonTypes::Either }
 
enum  daw::json::EightBitModes { daw::json::EightBitModes::DisallowHigh = false, daw::json::EightBitModes::AllowFull = true }
 
enum  daw::json::JsonBaseParseTypes : std::uint_fast8_t {
  daw::json::JsonBaseParseTypes::Number, daw::json::JsonBaseParseTypes::Bool, daw::json::JsonBaseParseTypes::String, daw::json::JsonBaseParseTypes::Class,
  daw::json::JsonBaseParseTypes::Array, daw::json::JsonBaseParseTypes::Null, daw::json::JsonBaseParseTypes::None
}
 
enum  daw::json::JsonNullable { daw::json::JsonNullable::Never = false, daw::json::JsonNullable::Nullable = true }
 
enum  daw::json::JsonParseTypes : std::uint_fast8_t {
  daw::json::JsonParseTypes::Real, daw::json::JsonParseTypes::Signed, daw::json::JsonParseTypes::Unsigned, daw::json::JsonParseTypes::Bool,
  daw::json::JsonParseTypes::StringRaw, daw::json::JsonParseTypes::StringEscaped, daw::json::JsonParseTypes::Date, daw::json::JsonParseTypes::Class,
  daw::json::JsonParseTypes::Array, daw::json::JsonParseTypes::Null, daw::json::JsonParseTypes::KeyValue, daw::json::JsonParseTypes::KeyValueArray,
  daw::json::JsonParseTypes::Custom, daw::json::JsonParseTypes::Variant, daw::json::JsonParseTypes::VariantTagged, daw::json::JsonParseTypes::Unknown
}
 
enum  daw::json::JsonRangeCheck { daw::json::JsonRangeCheck::Never = false, daw::json::JsonRangeCheck::CheckForNarrowing = true }
 
enum  daw::json::LiteralAsStringOpt : std::uint8_t { daw::json::LiteralAsStringOpt::Never, daw::json::LiteralAsStringOpt::Maybe, daw::json::LiteralAsStringOpt::Always }
 

Functions

constexpr std::string_view daw::json::to_string (JsonBaseParseTypes pt)
 

Variables

template<JsonParseTypes ParseType, JsonNullable Nullable>
constexpr JsonParseTypes daw::json::get_parse_type_v
 
template<typename JsonMember >
constexpr bool daw::json::is_no_name = JsonMember::name == no_name
 
constexpr char const daw::json::no_name [] = "\a"
 

Macro Definition Documentation

◆ CPP20CONSTEXPR

#define CPP20CONSTEXPR

◆ JSONNAMETYPE

#define JSONNAMETYPE   char const *