21 #include <unordered_set>
29 #define PARSERS_DECL_FOR_SINGLE( Type ) GAUDI_API StatusCode parse( Type& result, std::string_view input );
31 #define PARSERS_DECL_FOR_PAIR( FirstType, SecondType ) \
32 GAUDI_API StatusCode parse( std::pair<FirstType, SecondType>& result, std::string_view input );
34 #define PARSERS_DECL_FOR_LIST( InnerType ) \
35 GAUDI_API StatusCode parse( std::vector<InnerType>& result, std::string_view input );
37 #define PARSERS_DECL_FOR_SET( InnerType ) \
38 GAUDI_API StatusCode parse( std::set<InnerType>& result, std::string_view input ); \
39 GAUDI_API StatusCode parse( std::unordered_set<InnerType>& result, std::string_view input );
465 template <
typename K,
typename V,
typename M>
467 return parse( (M&)result, input );
546 template <
class T,
unsigned int N>
555 std::copy( tmp.begin(), tmp.end(), result );
567 template <
unsigned int N>
575 if (
N == tmp.
size() ) {
577 }
else if (
N + 2 == tmp.
size() && (
'\'' == tmp[0] ||
'\"' == tmp[0] ) && ( tmp[0] == tmp[tmp.
size() - 1] ) ) {