Ada 3.0.1
Fast spec-compliant URL parser
|
#include <url_pattern_helpers.h>
Public Member Functions | |
url_pattern_parser (F &encoding_callback_, std::string_view segment_wildcard_regexp_) | |
bool | can_continue () const |
token * | try_consume_token (token_type type) |
token * | try_consume_modifier_token () |
token * | try_consume_regexp_or_wildcard_token (const token *name_token) |
std::string | consume_text () |
bool | consume_required_token (token_type type) |
std::optional< errors > | maybe_add_part_from_the_pending_fixed_value () ada_warn_unused |
std::optional< errors > | add_part (std::string_view prefix, token *name_token, token *regexp_or_wildcard_token, std::string_view suyffix, token *modifier_token) ada_warn_unused |
Public Attributes | |
std::vector< token > | tokens {} |
F & | encoding_callback |
std::string | segment_wildcard_regexp |
std::vector< url_pattern_part > | parts {} |
std::string | pending_fixed_value {} |
size_t | index = 0 |
size_t | next_numeric_name = 0 |
Definition at line 64 of file url_pattern_helpers.h.
|
inline |
Definition at line 66 of file url_pattern_helpers.h.
References encoding_callback, and segment_wildcard_regexp.
std::optional< errors > ada::url_pattern_helpers::url_pattern_parser< F >::add_part | ( | std::string_view | prefix, |
token * | name_token, | ||
token * | regexp_or_wildcard_token, | ||
std::string_view | suyffix, | ||
token * | modifier_token ) |
Definition at line 543 of file url_pattern_helpers-inl.h.
References ADA_ASSERT_TRUE, ada::url_pattern_helpers::ASTERISK, encoding_callback, ada::FIXED_TEXT, ada::FULL_WILDCARD, maybe_add_part_from_the_pending_fixed_value(), next_numeric_name, ada::none, ada::one_or_more, ada::optional, parts, pending_fixed_value, ada::REGEXP, ada::SEGMENT_WILDCARD, segment_wildcard_regexp, ada::url_pattern_helpers::token::type, ada::type_error, ada::url_pattern_helpers::token::value, and ada::zero_or_more.
|
inline |
Definition at line 71 of file url_pattern_helpers.h.
bool ada::url_pattern_helpers::url_pattern_parser< F >::consume_required_token | ( | token_type | type | ) |
Definition at line 508 of file url_pattern_helpers-inl.h.
References ada::url_pattern_helpers::to_string(), and try_consume_token().
std::string ada::url_pattern_helpers::url_pattern_parser< F >::consume_text | ( | ) |
Definition at line 487 of file url_pattern_helpers-inl.h.
References ada::url_pattern_helpers::CHAR, ada::url_pattern_helpers::ESCAPED_CHAR, try_consume_token(), and ada::url_pattern_helpers::token::value.
std::optional< errors > ada::url_pattern_helpers::url_pattern_parser< F >::maybe_add_part_from_the_pending_fixed_value | ( | ) |
Definition at line 518 of file url_pattern_helpers-inl.h.
References encoding_callback, ada::FIXED_TEXT, ada::none, parts, and pending_fixed_value.
Referenced by add_part().
token * ada::url_pattern_helpers::url_pattern_parser< F >::try_consume_modifier_token | ( | ) |
Definition at line 443 of file url_pattern_helpers-inl.h.
References ada::url_pattern_helpers::ASTERISK, ada::url_pattern_helpers::OTHER_MODIFIER, and try_consume_token().
token * ada::url_pattern_helpers::url_pattern_parser< F >::try_consume_regexp_or_wildcard_token | ( | const token * | name_token | ) |
Definition at line 456 of file url_pattern_helpers-inl.h.
References ada::url_pattern_helpers::ASTERISK, ada::url_pattern_helpers::REGEXP, and try_consume_token().
token * ada::url_pattern_helpers::url_pattern_parser< F >::try_consume_token | ( | token_type | type | ) |
Definition at line 471 of file url_pattern_helpers-inl.h.
References ADA_ASSERT_TRUE, index, ada::url_pattern_helpers::to_string(), and tokens.
Referenced by consume_required_token(), consume_text(), try_consume_modifier_token(), and try_consume_regexp_or_wildcard_token().
F& ada::url_pattern_helpers::url_pattern_parser< F >::encoding_callback |
Definition at line 95 of file url_pattern_helpers.h.
Referenced by add_part(), maybe_add_part_from_the_pending_fixed_value(), and url_pattern_parser().
size_t ada::url_pattern_helpers::url_pattern_parser< F >::index = 0 |
Definition at line 99 of file url_pattern_helpers.h.
Referenced by can_continue(), and try_consume_token().
size_t ada::url_pattern_helpers::url_pattern_parser< F >::next_numeric_name = 0 |
Definition at line 100 of file url_pattern_helpers.h.
Referenced by add_part().
std::vector<url_pattern_part> ada::url_pattern_helpers::url_pattern_parser< F >::parts {} |
Definition at line 97 of file url_pattern_helpers.h.
Referenced by add_part(), and maybe_add_part_from_the_pending_fixed_value().
std::string ada::url_pattern_helpers::url_pattern_parser< F >::pending_fixed_value {} |
Definition at line 98 of file url_pattern_helpers.h.
Referenced by add_part(), and maybe_add_part_from_the_pending_fixed_value().
std::string ada::url_pattern_helpers::url_pattern_parser< F >::segment_wildcard_regexp |
Definition at line 96 of file url_pattern_helpers.h.
Referenced by add_part(), and url_pattern_parser().
std::vector<token> ada::url_pattern_helpers::url_pattern_parser< F >::tokens {} |
Definition at line 94 of file url_pattern_helpers.h.
Referenced by can_continue(), and try_consume_token().