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
11#include "impl/version.h"
12
13namespace daw::json {
14 inline namespace DAW_JSON_VER {
15 namespace options {
18 inline namespace parser_options {
26 enum class ExecModeTypes : unsigned {
28 compile_time,
31 runtime,
33 simd
34 }; // 2bits
35
43 enum class ZeroTerminatedString : unsigned {
46 no,
48 yes
49 }; // 1bit
50
58 enum class PolicyCommentTypes : unsigned {
60 none,
62 cpp,
64 hash
65 }; // 2bits
66
72 enum class CheckedParseMode : unsigned { yes, no }; // 1bit
73
80 enum class MinifiedDocument : unsigned { no, yes }; // 1 bit
81
90 enum class AllowEscapedNames : unsigned { no, yes }; // 1bit
91
100 enum class IEEE754Precise : unsigned { no, yes }; // 1bit
101
110 enum class ForceFullNameCheck : unsigned { no, yes }; // 1bit
111
119 enum class UseExactMappingsByDefault : unsigned { no, yes }; // 1bit
120
127 enum class MustVerifyEndOfDataIsValid : unsigned { no, yes };
128
134 enum class ExpectLongNames : unsigned { no, yes };
135
143
144 enum class [[deprecated(
145 "This is not used" )]] TemporarilyMutateBuffer : unsigned{
146 no, yes }; // 1bit
147
154 enum class ExcludeSpecialEscapes : unsigned { no, yes }; // 1bit
155 } // namespace parser_options
156 } // namespace options
157 } // namespace DAW_JSON_VER
158} // 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