Ada 3.0.1
Fast spec-compliant URL parser
Loading...
Searching...
No Matches
ada::url_pattern_helpers::url_pattern_parser< F > Class Template Reference

#include <url_pattern_helpers.h>

Public Member Functions

 url_pattern_parser (F &encoding_callback_, std::string_view segment_wildcard_regexp_)
 
bool can_continue () const
 
tokentry_consume_token (token_type type)
 
tokentry_consume_modifier_token ()
 
tokentry_consume_regexp_or_wildcard_token (const token *name_token)
 
std::string consume_text ()
 
bool consume_required_token (token_type type)
 
std::optional< errorsmaybe_add_part_from_the_pending_fixed_value () ada_warn_unused
 
std::optional< errorsadd_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< tokentokens {}
 
F & encoding_callback
 
std::string segment_wildcard_regexp
 
std::vector< url_pattern_partparts {}
 
std::string pending_fixed_value {}
 
size_t index = 0
 
size_t next_numeric_name = 0
 

Detailed Description

template<url_pattern_encoding_callback F>
class ada::url_pattern_helpers::url_pattern_parser< F >

Definition at line 64 of file url_pattern_helpers.h.

Constructor & Destructor Documentation

◆ url_pattern_parser()

template<url_pattern_encoding_callback F>
ada::url_pattern_helpers::url_pattern_parser< F >::url_pattern_parser ( F & encoding_callback_,
std::string_view segment_wildcard_regexp_ )
inline

Definition at line 66 of file url_pattern_helpers.h.

References encoding_callback, and segment_wildcard_regexp.

Member Function Documentation

◆ add_part()

◆ can_continue()

template<url_pattern_encoding_callback F>
bool ada::url_pattern_helpers::url_pattern_parser< F >::can_continue ( ) const
inline

Definition at line 71 of file url_pattern_helpers.h.

References index, and tokens.

◆ consume_required_token()

template<url_pattern_encoding_callback F>
bool ada::url_pattern_helpers::url_pattern_parser< F >::consume_required_token ( token_type type)

◆ consume_text()

template<url_pattern_encoding_callback F>
std::string ada::url_pattern_helpers::url_pattern_parser< F >::consume_text ( )

◆ maybe_add_part_from_the_pending_fixed_value()

template<url_pattern_encoding_callback F>
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().

◆ try_consume_modifier_token()

template<url_pattern_encoding_callback F>
token * ada::url_pattern_helpers::url_pattern_parser< F >::try_consume_modifier_token ( )

◆ try_consume_regexp_or_wildcard_token()

template<url_pattern_encoding_callback F>
token * ada::url_pattern_helpers::url_pattern_parser< F >::try_consume_regexp_or_wildcard_token ( const token * name_token)

◆ try_consume_token()

Member Data Documentation

◆ encoding_callback

template<url_pattern_encoding_callback F>
F& ada::url_pattern_helpers::url_pattern_parser< F >::encoding_callback

◆ index

template<url_pattern_encoding_callback F>
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().

◆ next_numeric_name

template<url_pattern_encoding_callback F>
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().

◆ parts

template<url_pattern_encoding_callback F>
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().

◆ pending_fixed_value

template<url_pattern_encoding_callback F>
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().

◆ segment_wildcard_regexp

template<url_pattern_encoding_callback F>
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().

◆ tokens

template<url_pattern_encoding_callback F>
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().


The documentation for this class was generated from the following files: