11 #include <daw/daw_hide.h>
13 namespace daw::json::parse_policy_details {
14 template<
char... keys>
15 [[nodiscard]] DAW_ATTRIBUTE_FLATTEN
inline constexpr
bool in(
char c ) {
16 auto const eq = [c](
char k ) {
return c == k; };
17 return ( eq( keys ) | ... );
20 [[nodiscard]] DAW_ATTRIBUTE_FLATTEN
inline constexpr
bool
21 at_end_of_item(
char c ) {
22 return static_cast<bool>(
23 static_cast<unsigned>( c ==
',' ) |
static_cast<unsigned>( c ==
'}' ) |
24 static_cast<unsigned>( c ==
']' ) |
static_cast<unsigned>( c ==
':' ) |
25 static_cast<unsigned>( c <= 0x20 ) );
28 [[nodiscard]] DAW_ATTRIBUTE_FLATTEN
inline constexpr
bool
30 return static_cast<unsigned>(
static_cast<unsigned char>( c ) -
31 static_cast<unsigned char>(
'0' ) ) < 10U;
34 [[nodiscard]] DAW_ATTRIBUTE_FLATTEN
inline constexpr
bool
35 is_number_start(
char c ) {