17#include "ada/expected.h"
26#if ADA_INCLUDE_URL_PATTERN
27template <url_pattern_regex::regex_concept regex_prov
ider>
29struct url_pattern_options;
31enum class errors : uint8_t;
55template <
typename result_type = url_aggregator>
56result_type
parse_url(std::string_view user_input,
57 const result_type* base_url =
nullptr);
64template <
typename result_type = url_aggregator,
bool store_values = true>
66 const result_type* base_url =
nullptr);
73#if ADA_INCLUDE_URL_PATTERN
74template <url_pattern_regex::regex_concept regex_prov
ider>
75tl::expected<url_pattern<regex_provider>,
errors> parse_url_pattern_impl(
76 std::variant<std::string_view, url_pattern_init>&& input,
77 const std::string_view* base_url,
const url_pattern_options* options);
Internal URL parsing implementation.
template url parse_url< url >(std::string_view user_input, const url *base_url)
result_type parse_url(std::string_view user_input, const result_type *base_url=nullptr)
template url parse_url_impl< url >(std::string_view user_input, const url *base_url)
template url_aggregator parse_url_impl< url_aggregator >(std::string_view user_input, const url_aggregator *base_url)
template url_aggregator parse_url< url_aggregator >(std::string_view user_input, const url_aggregator *base_url)
result_type parse_url_impl(std::string_view user_input, const result_type *base_url=nullptr)
errors
Error codes for URL parsing operations.
Memory-efficient URL representation using a single buffer.
Represents a parsed URL with individual string components.
Declaration for the url_pattern_init implementation.