78 "BasicJsonType must be of type basic_json<...>");
80 using number_integer_t =
typename BasicJsonType::number_integer_t;
81 using number_unsigned_t =
typename BasicJsonType::number_unsigned_t;
82 using number_float_t =
typename BasicJsonType::number_float_t;
83 using string_t =
typename BasicJsonType::string_t;
84 using binary_t =
typename BasicJsonType::binary_t;
85 using exception_t =
typename BasicJsonType::exception;
88 static constexpr bool value =
89 is_detected_exact<bool, null_function_t, SAX>::value &&
90 is_detected_exact<bool, boolean_function_t, SAX>::value &&
91 is_detected_exact<bool, number_integer_function_t, SAX, number_integer_t>::value &&
92 is_detected_exact<bool, number_unsigned_function_t, SAX, number_unsigned_t>::value &&
93 is_detected_exact<bool, number_float_function_t, SAX, number_float_t, string_t>::value &&
94 is_detected_exact<bool, string_function_t, SAX, string_t>::value &&
95 is_detected_exact<bool, binary_function_t, SAX, binary_t>::value &&
96 is_detected_exact<bool, start_object_function_t, SAX>::value &&
97 is_detected_exact<bool, key_function_t, SAX, string_t>::value &&
98 is_detected_exact<bool, end_object_function_t, SAX>::value &&
99 is_detected_exact<bool, start_array_function_t, SAX>::value &&
100 is_detected_exact<bool, end_array_function_t, SAX>::value &&
101 is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value;
109 "BasicJsonType must be of type basic_json<...>");
111 using number_integer_t =
typename BasicJsonType::number_integer_t;
112 using number_unsigned_t =
typename BasicJsonType::number_unsigned_t;
113 using number_float_t =
typename BasicJsonType::number_float_t;
114 using string_t =
typename BasicJsonType::string_t;
115 using binary_t =
typename BasicJsonType::binary_t;
116 using exception_t =
typename BasicJsonType::exception;
119 static_assert(is_detected_exact<bool, null_function_t, SAX>::value,
120 "Missing/invalid function: bool null()");
121 static_assert(is_detected_exact<bool, boolean_function_t, SAX>::value,
122 "Missing/invalid function: bool boolean(bool)");
123 static_assert(is_detected_exact<bool, boolean_function_t, SAX>::value,
124 "Missing/invalid function: bool boolean(bool)");
126 is_detected_exact<bool, number_integer_function_t, SAX,
127 number_integer_t>::value,
128 "Missing/invalid function: bool number_integer(number_integer_t)");
130 is_detected_exact<bool, number_unsigned_function_t, SAX,
131 number_unsigned_t>::value,
132 "Missing/invalid function: bool number_unsigned(number_unsigned_t)");
133 static_assert(is_detected_exact<bool, number_float_function_t, SAX,
134 number_float_t, string_t>::value,
135 "Missing/invalid function: bool number_float(number_float_t, const string_t&)");
137 is_detected_exact<bool, string_function_t, SAX, string_t>::value,
138 "Missing/invalid function: bool string(string_t&)");
140 is_detected_exact<bool, binary_function_t, SAX, binary_t>::value,
141 "Missing/invalid function: bool binary(binary_t&)");
142 static_assert(is_detected_exact<bool, start_object_function_t, SAX>::value,
143 "Missing/invalid function: bool start_object(std::size_t)");
144 static_assert(is_detected_exact<bool, key_function_t, SAX, string_t>::value,
145 "Missing/invalid function: bool key(string_t&)");
146 static_assert(is_detected_exact<bool, end_object_function_t, SAX>::value,
147 "Missing/invalid function: bool end_object()");
148 static_assert(is_detected_exact<bool, start_array_function_t, SAX>::value,
149 "Missing/invalid function: bool start_array(std::size_t)");
150 static_assert(is_detected_exact<bool, end_array_function_t, SAX>::value,
151 "Missing/invalid function: bool end_array()");
153 is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value,
154 "Missing/invalid function: bool parse_error(std::size_t, const "
155 "std::string&, const exception&)");