DAW JSON Link
Public Types | Static Public Attributes | List of all members
DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape > Struct Template Reference

#include <daw_json_link_types.h>

Public Types

using base_type = json_details::unwrap_type< String, Nullable >
 
using constructor_t = Constructor
 
using i_am_a_json_type = void
 
using parse_to_t = std::invoke_result_t< Constructor, base_type >
 
using wrapped_type = String
 

Static Public Attributes

static constexpr AllowEscapeCharacter allow_escape_character = AllowEscape
 
static constexpr JsonParseTypes base_expected_type
 
static constexpr EightBitModes eight_bit_mode = EightBitMode
 
static constexpr JsonNullable empty_is_null = JsonNullable::Never
 
static constexpr JsonParseTypes expected_type
 
static constexpr daw::string_view name = Name
 
static constexpr bool nullable = Nullable == JsonNullable::Nullable
 
static constexpr JsonBaseParseTypes underlying_json_type
 

Detailed Description

template<JSONNAMETYPE Name, typename String, typename Constructor, JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
struct DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >

Member is an escaped string and requires unescaping and escaping of string data

Template Parameters
Nameof json member
Stringresult type constructed by Constructor
Constructora callable taking as arguments ( char const *, std::size_t )
EmptyStringNullif string is empty, call Constructor with no arguments
EightBitModeAllow filtering of characters with the MSB set arguments
NullableCan the member be missing or have a null value
AllowEscapeTell parser if we know a \ or escape will be in the data

Member Typedef Documentation

◆ base_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
using DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::base_type = json_details::unwrap_type<String, Nullable>

◆ constructor_t

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
using DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::constructor_t = Constructor

◆ i_am_a_json_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
using DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::i_am_a_json_type = void

◆ parse_to_t

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
using DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::parse_to_t = std::invoke_result_t<Constructor, base_type>

◆ wrapped_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
using DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::wrapped_type = String

Member Data Documentation

◆ allow_escape_character

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
constexpr AllowEscapeCharacter DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::allow_escape_character = AllowEscape
staticconstexpr

◆ base_expected_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
constexpr JsonParseTypes DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::base_expected_type
staticconstexpr

◆ eight_bit_mode

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
constexpr EightBitModes DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::eight_bit_mode = EightBitMode
staticconstexpr

◆ empty_is_null

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
constexpr JsonNullable DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::empty_is_null = JsonNullable::Never
staticconstexpr

◆ expected_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
constexpr JsonParseTypes DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::expected_type
staticconstexpr
Initial value:
=
get_parse_type_v<JsonParseTypes::StringRaw, Nullable>

◆ name

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
constexpr daw::string_view DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::name = Name
staticconstexpr

◆ nullable

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
constexpr bool DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::nullable = Nullable == JsonNullable::Nullable
staticconstexpr

◆ underlying_json_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable, AllowEscapeCharacter AllowEscape>
constexpr JsonBaseParseTypes DAW_JSON_NS::json_string_raw< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable, AllowEscape >::underlying_json_type
staticconstexpr

The documentation for this struct was generated from the following file: