|
DAW JSON Link
|
#include "daw/json/impl/version.h"#include "daw/json/impl/daw_json_allocator_wrapper.h"#include "daw/json/impl/daw_json_assert.h"#include "daw/json/impl/daw_json_parse_common.h"#include "daw/json/impl/daw_json_parse_options_impl.h"#include "daw/json/impl/daw_json_parse_policy_cpp_comments.h"#include "daw/json/impl/daw_json_parse_policy_hash_comments.h"#include "daw/json/impl/daw_json_parse_policy_no_comments.h"#include "daw/json/impl/daw_json_parse_policy_policy_details.h"#include "daw/json/impl/daw_json_skip_class_simd.h"#include "daw/json/impl/daw_json_string_util.h"#include <daw/cpp_17.h>#include <daw/daw_attributes.h>#include <daw/daw_consteval.h>#include <daw/daw_likely.h>#include <daw/daw_not_null.h>#include <daw/daw_rw_ref.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 | |
| namespace | daw |
| namespace | daw::json |
| string_writer grows its string with resize_and_overwrite, leaving the new bytes uninitialized, when the standard library has it. That skips zero filling memory that is overwritten right away, but the bytes past what was written are never initialized, which resize_and_overwrite's precondition does not allow. Define DAW_JSON_NO_LESS_SAFE_STRING_WRITER to grow with resize( ) instead | |
| namespace | daw::json::anonymous_namespace{daw_json_parse_policy.h} |
| namespace | daw::json::anonymous_namespace{daw_json_parse_policy.h}::options |
| namespace | 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 > |
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. | |
| #define DAW_JSON_CONFORMANCE_FLAGS |
Definition at line 682 of file daw_json_parse_policy.h.