DAW JSON Link
Public Types | Static Public Attributes | List of all members
daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable > 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, char const *, char const * >
 
using wrapped_type = String
 

Static Public Attributes

static constexpr JsonParseTypes base_expected_type
 
static constexpr EightBitModes eight_bit_mode = EightBitMode
 
static constexpr JsonNullable empty_is_null = EmptyStringNull
 
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>
struct daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >

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 ( InputIterator, InputIterator ). If others are needed use the Constructor callable convert
EmptyStringNullif string is empty, call Constructor with no arguments
EightBitModeAllow filtering of characters with the MSB set
NullableCan the member be missing or have a null value

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
NullableCan the member be missing or have a null value

Member Typedef Documentation

◆ base_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
using daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::base_type = json_details::unwrap_type<String, Nullable>

◆ constructor_t

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
using daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::constructor_t = Constructor

◆ i_am_a_json_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
using daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::i_am_a_json_type = void

◆ parse_to_t

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
using daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::parse_to_t = std::invoke_result_t<Constructor, char const *, char const *>

◆ wrapped_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
using daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::wrapped_type = String

Member Data Documentation

◆ base_expected_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
constexpr JsonParseTypes daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::base_expected_type
staticconstexpr

◆ eight_bit_mode

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
constexpr EightBitModes daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::eight_bit_mode = EightBitMode
staticconstexpr

◆ empty_is_null

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
constexpr JsonNullable daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::empty_is_null = EmptyStringNull
staticconstexpr

◆ expected_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
constexpr JsonParseTypes daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::expected_type
staticconstexpr
Initial value:
=
get_parse_type_v<JsonParseTypes::StringEscaped, Nullable>

◆ name

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
constexpr daw::string_view daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::name = Name
staticconstexpr

◆ nullable

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
constexpr bool daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::nullable = Nullable == JsonNullable::Nullable
staticconstexpr

◆ underlying_json_type

template<JSONNAMETYPE Name, typename String , typename Constructor , JsonNullable EmptyStringNull, EightBitModes EightBitMode, JsonNullable Nullable>
constexpr JsonBaseParseTypes daw::json::json_string< Name, String, Constructor, EmptyStringNull, EightBitMode, Nullable >::underlying_json_type
staticconstexpr

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