DAW JSON Link
Loading...
Searching...
No Matches
daw_json_parse_options.h
Go to the documentation of this file.
1// Copyright (c) Darrell Wright
2//
3// Distributed under the Boost Software License, Version 1.0. (See accompanying
4// file LICENSE or copy at http://www.boost.org/LICENSE_1_0.txt)
5//
6// Official repository: https://github.com/beached/daw_json_link
7//
8
9#pragma once
10
12
13namespace daw::json {
14 inline namespace DAW_JSON_VER {
15 namespace options {
18 inline namespace parser_options {
26 enum class ExecModeTypes : unsigned {
28 default_mode,
30 compile_time,
33 runtime,
35 simd
36 }; // 2bits
37
45 enum class ZeroTerminatedString : unsigned {
48 no,
50 yes
51 }; // 1bit
52
60 enum class PolicyCommentTypes : unsigned {
62 none,
64 cpp,
66 hash
67 }; // 2bits
68
74 enum class CheckedParseMode : unsigned { yes, no }; // 1bit
75
82 enum class MinifiedDocument : unsigned { no, yes }; // 1 bit
83
92 enum class AllowEscapedNames : unsigned { no, yes }; // 1bit
93
102 enum class IEEE754Precise : unsigned { no, yes }; // 1bit
103
112 enum class ForceFullNameCheck : unsigned { no, yes }; // 1bit
113
121 enum class UseExactMappingsByDefault : unsigned { no, yes }; // 1bit
122
129 enum class MustVerifyEndOfDataIsValid : unsigned { no, yes };
130
136 enum class ExpectLongNames : unsigned { no, yes };
137
145
146 enum class [[deprecated(
147 "This is not used" )]] TemporarilyMutateBuffer : unsigned {
148 no,
149 yes
150 }; // 1bit
151
158 enum class ExcludeSpecialEscapes : unsigned { no, yes }; // 1bit
159 } // namespace parser_options
160 } // namespace options
161 } // namespace DAW_JSON_VER
162} // namespace daw::json
ZeroTerminatedString
Input is a zero terminated string. If this cannot be detected, you can specify it here....
CheckedParseMode
Enable all structure, buffer, and type checking. The default is yes, but no still does some checking ...
ExcludeSpecialEscapes
Exclude characters under 0x20 that are not explicitly allowed.
ForceFullNameCheck
If the hashes of all members being looked are unique, the lookup of names as they are found in the do...
PolicyCommentTypes
Allow comments in JSON. The supported modes are none, C++ style comments, and # hash style comments....
AllowEscapedNames
Allow the escape character '\' in names. This forces a slower parser and is generally not needed....
MinifiedDocument
When document is minified, it is assumed that there is no whitespace in the document....
TemporarilyMutateBuffer
When enabled, the parser can temporarily set a character to the desired token. This allows for safe s...
MustVerifyEndOfDataIsValid
Continue checking that the data is whitespace or empty after the end of top level object is parsed fr...
IEEE754Precise
Use precise IEEE754 parsing of real numbers. The default is no, and results is much faster parsing wi...
ExecModeTypes
Allow for different optimizations. Currently only the compile_time path is fully supported....
UseExactMappingsByDefault
Set the default parser policy to require all JSON members in the parsed object be mapped....
Customization point traits.
#define DAW_JSON_VER
The version string used in namespace definitions. Must be a valid namespace name.
Definition version.h:20