DAW JSON Link
Classes | Namespaces | Macros | Typedefs | Functions | Variables
daw_json_parse_policy.h File Reference
#include "version.h"
#include "daw_json_allocator_wrapper.h"
#include "daw_json_assert.h"
#include "daw_json_parse_common.h"
#include "daw_json_parse_options_impl.h"
#include "daw_json_parse_policy_cpp_comments.h"
#include "daw_json_parse_policy_hash_comments.h"
#include "daw_json_parse_policy_no_comments.h"
#include "daw_json_parse_policy_policy_details.h"
#include "daw_json_string_util.h"
#include <daw/cpp_17.h>
#include <daw/daw_attributes.h>
#include <daw/daw_likely.h>
#include <daw/daw_traits.h>
#include <cassert>
#include <cstddef>
#include <iterator>
#include <type_traits>

Go to the source code of this file.

Classes

struct  daw::json::anonymous_namespace{daw_json_parse_policy.h}::BasicParsePolicy< PolicyFlags, Allocator >
 Handles the bounds and policy items for parsing execution and comments. More...
 
struct  daw::json::anonymous_namespace{daw_json_parse_policy.h}::BasicParsePolicy< PolicyFlags, Allocator >::class_pos_t
 
struct  daw::json::anonymous_namespace{daw_json_parse_policy.h}::DefaultParsePolicy
 
struct  daw::json::anonymous_namespace{daw_json_parse_policy.h}::options::parse_flags_t< PolicyFlags >
 
struct  daw::json::anonymous_namespace{daw_json_parse_policy.h}::options::parse_flags_t<>
 

Namespaces

 daw
 
 daw::json
 Customization point traits.
 
 daw::json::anonymous_namespace{daw_json_parse_policy.h}
 
 daw::json::anonymous_namespace{daw_json_parse_policy.h}::options
 
 daw::json::anonymous_namespace{daw_json_parse_policy.h}::options::details
 

Macros

#define DAW_JSON_CONFORMANCE_FLAGS
 

Typedefs

template<json_options_t PolicyFlags = json_details::default_policy_flag, typename Allocator = json_details::NoAllocator>
using daw::json::anonymous_namespace{daw_json_parse_policy.h}::GetParsePolicy = daw::conditional_t<(PolicyFlags==json_details::default_policy_flag and std::is_same_v< Allocator, json_details::NoAllocator >), DefaultParsePolicy, BasicParsePolicy< PolicyFlags, Allocator > >
 
template<typename ParsePolicy >
using daw::json::anonymous_namespace{daw_json_parse_policy.h}::TryDefaultParsePolicy = daw::conditional_t< ParsePolicy::is_default_parse_policy, DefaultParsePolicy, ParsePolicy >
 

Functions

 daw::json::anonymous_namespace{daw_json_parse_policy.h}::BasicParsePolicy () -> BasicParsePolicy<>
 
 daw::json::anonymous_namespace{daw_json_parse_policy.h}::BasicParsePolicy (char const *, char const *) -> BasicParsePolicy<>
 
template<typename Allocator >
 daw::json::anonymous_namespace{daw_json_parse_policy.h}::BasicParsePolicy (char const *, char const *, Allocator const &) -> BasicParsePolicy< json_details::default_policy_flag, Allocator >
 
 daw::json::anonymous_namespace{daw_json_parse_policy.h}::BasicParsePolicy (char const *, char const *, char const *, char const *) -> BasicParsePolicy<>
 
template<typename Allocator >
 daw::json::anonymous_namespace{daw_json_parse_policy.h}::BasicParsePolicy (char const *, char const *, char const *, char const *, Allocator const &) -> BasicParsePolicy< json_details::default_policy_flag, Allocator >
 
template<auto... PolicyFlags>
std::true_type daw::json::anonymous_namespace{daw_json_parse_policy.h}::options::details::is_policy_flag (parse_flags_t< PolicyFlags... >)
 
template<typename... Ts>
std::false_type daw::json::anonymous_namespace{daw_json_parse_policy.h}::options::details::is_policy_flag (Ts...)
 
template<auto... PolicyFlags>
DAW_CONSTEVAL auto daw::json::anonymous_namespace{daw_json_parse_policy.h}::options::details::make_parse_flags ()
 

Variables

constexpr auto daw::json::anonymous_namespace{daw_json_parse_policy.h}::ConformancePolicy
 
template<auto... PolicyFlags>
constexpr auto daw::json::anonymous_namespace{daw_json_parse_policy.h}::options::parse_flags
 Specify parse policy flags in to_json calls. See cookbook item parse_options.md. More...
 

Macro Definition Documentation

◆ DAW_JSON_CONFORMANCE_FLAGS

#define DAW_JSON_CONFORMANCE_FLAGS
Value:
daw::json::options::AllowEscapedNames::yes, \
daw::json::options::MustVerifyEndOfDataIsValid::yes, \
daw::json::options::IEEE754Precise::yes, \
daw::json::options::ExcludeSpecialEscapes::yes

Definition at line 593 of file daw_json_parse_policy.h.