DAW JSON Link
Namespaces | Typedefs | Enumerations | Functions | Variables
daw_json_type_options.h File Reference
#include "version.h"
#include "daw_json_enums.h"
#include "daw_json_option_bits.h"

Go to the source code of this file.

Namespaces

 daw
 
 daw::json
 Customization point traits.
 
 daw::json::anonymous_namespace{daw_json_type_options.h}
 
 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}::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 >
 
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 any string character has the high bit set. If restricted, the member will escape any character with the high bit set and when parsing will throw if the high bit is encountered. This allows 7bit JSON encoding. 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 }
 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::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}::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