DAW JSON Link
Loading...
Searching...
No Matches
Namespaces | Typedefs | Enumerations | Functions | Variables
daw_json_type_options.h File Reference
#include "daw/json/impl/version.h"
#include "daw/json/impl/daw_json_enums.h"
#include "daw/json/impl/daw_json_option_bits.h"

Go to the source code of this file.

Namespaces

namespace  daw
 
namespace  daw::json
 Customization point traits.
 
namespace  daw::json::anonymous_namespace{daw_json_type_options.h}
 
namespace  daw::json::anonymous_namespace{daw_json_type_options.h}::options
 

Typedefs

using daw::json::anonymous_namespace{daw_json_type_options.h}::bool_opts_t = json_details::JsonOptionList< options::LiteralAsStringOpt >
 
using daw::json::anonymous_namespace{daw_json_type_options.h}::fp_opts_t = json_details::JsonOptionList< options::LiteralAsStringOpt, options::JsonRangeCheck, options::JsonNumberErrors >
 
using daw::json::anonymous_namespace{daw_json_type_options.h}::json_custom_opts_t = json_details::JsonOptionList< options::JsonCustomTypes >
 
using daw::json::anonymous_namespace{daw_json_type_options.h}::number_opts_t = json_details::JsonOptionList< options::LiteralAsStringOpt, options::JsonRangeCheck, options::JsonNumberErrors, options::FPOutputFormat >
 
using daw::json::anonymous_namespace{daw_json_type_options.h}::string_opts_t = json_details::JsonOptionList< options::EightBitModes, options::EscapeValidUTF8 >
 
using daw::json::anonymous_namespace{daw_json_type_options.h}::string_raw_opts_t = json_details::JsonOptionList< options::EightBitModes, options::AllowEscapeCharacter >
 

Enumerations

enum class  daw::json::anonymous_namespace{daw_json_type_options.h}::options::AllowEscapeCharacter : unsigned { daw::json::anonymous_namespace{daw_json_type_options.h}::options::Allow , daw::json::anonymous_namespace{daw_json_type_options.h}::options::NoEscapedDblQuote }
 In RAW String processing, if we know that there are no escaped double quotes " we can stop at the first double quote. This allows faster string parsing. More...
 
enum class  daw::json::anonymous_namespace{daw_json_type_options.h}::options::EightBitModes : unsigned { daw::json::anonymous_namespace{daw_json_type_options.h}::options::DisallowHigh , daw::json::anonymous_namespace{daw_json_type_options.h}::options::AllowFull }
 Controls whether string bytes with the high bit set are allowed. When serializing json_string mappings, DisallowHigh escapes such bytes; json_string_raw serialization rejects them instead. When parsing json_string mappings, DisallowHigh rejects them. json_string_raw parsing preserves the input bytes and does not inspect this option. More...
 
enum class  daw::json::anonymous_namespace{daw_json_type_options.h}::options::EscapeValidUTF8 : unsigned { daw::json::anonymous_namespace{daw_json_type_options.h}::options::Validate , daw::json::anonymous_namespace{daw_json_type_options.h}::options::AssumeValid }
 Controls json_string serialization checking. More...
 
enum class  daw::json::anonymous_namespace{daw_json_type_options.h}::options::FPOutputFormat : unsigned { daw::json::anonymous_namespace{daw_json_type_options.h}::options::Auto , daw::json::anonymous_namespace{daw_json_type_options.h}::options::Scientific , daw::json::anonymous_namespace{daw_json_type_options.h}::options::Decimal , daw::json::anonymous_namespace{daw_json_type_options.h}::options::Minimum }
 Control the floating point output format. More...
 
enum class  daw::json::anonymous_namespace{daw_json_type_options.h}::options::JsonCustomTypes : unsigned { daw::json::anonymous_namespace{daw_json_type_options.h}::options::String , daw::json::anonymous_namespace{daw_json_type_options.h}::options::Literal , daw::json::anonymous_namespace{daw_json_type_options.h}::options::Any }
 Custom JSON types can be Strings, unquoted Literals, or a mix. More...
 
enum class  daw::json::anonymous_namespace{daw_json_type_options.h}::options::JsonNumberErrors : unsigned { daw::json::anonymous_namespace{daw_json_type_options.h}::options::None , daw::json::anonymous_namespace{daw_json_type_options.h}::options::AllowNaN , daw::json::anonymous_namespace{daw_json_type_options.h}::options::AllowInf , daw::json::anonymous_namespace{daw_json_type_options.h}::options::AllowNanInf }
 When outputting floating point numbers, control whether Inf/NaN values can be parsed/serialized. This requires that the LiteralAsString option be set to Maybe or Always. More...
 
enum class  daw::json::anonymous_namespace{daw_json_type_options.h}::options::JsonRangeCheck : unsigned { daw::json::anonymous_namespace{daw_json_type_options.h}::options::Never , daw::json::anonymous_namespace{daw_json_type_options.h}::options::CheckForNarrowing }
 Control if narrowing checks are performed. More...
 
enum class  daw::json::anonymous_namespace{daw_json_type_options.h}::options::LiteralAsStringOpt : unsigned { daw::json::anonymous_namespace{daw_json_type_options.h}::options::Never , daw::json::anonymous_namespace{daw_json_type_options.h}::options::Maybe , daw::json::anonymous_namespace{daw_json_type_options.h}::options::Always }
 Controls the ability to parse numbers that are encoded as strings. More...
 

Functions

template<typename... Options>
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::options::bool_opt (Options... options)
 
template<typename... Options>
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::options::fp_opt (Options... options)
 
template<typename... Options>
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::options::json_custom_opt (Options... options)
 
template<typename... Options>
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::options::number_opt (Options... options)
 
template<typename... Options>
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::options::string_opt (Options... options)
 
template<typename... Options>
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::options::string_raw_opt (Options... options)
 

Variables

constexpr auto daw::json::anonymous_namespace{daw_json_type_options.h}::bool_opts = bool_opts_t{ }
 
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::bool_opts_def
 
constexpr auto daw::json::anonymous_namespace{daw_json_type_options.h}::fp_opts = fp_opts_t{ }
 
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::fp_opts_def
 
constexpr auto daw::json::anonymous_namespace{daw_json_type_options.h}::json_custom_opts = json_custom_opts_t{ }
 
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::json_custom_opts_def
 
constexpr auto daw::json::anonymous_namespace{daw_json_type_options.h}::number_opts = number_opts_t{ }
 
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::number_opts_def
 
constexpr auto daw::json::anonymous_namespace{daw_json_type_options.h}::string_opts = string_opts_t{ }
 
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::string_opts_def
 
constexpr auto daw::json::anonymous_namespace{daw_json_type_options.h}::string_raw_opts = string_raw_opts_t{ }
 
constexpr json_options_t daw::json::anonymous_namespace{daw_json_type_options.h}::string_raw_opts_def