66bool to_ascii(std::optional<std::string>& out, std::string_view plain,
 
   67              size_t first_percent);
 
   77    std::string_view user_input) 
noexcept;
 
   92    const char* input, 
size_t length) 
noexcept;
 
  102contains_forbidden_domain_code_point_or_upper(
const char* input,
 
  103                                              size_t length) 
noexcept;
 
  166    std::string_view input) 
noexcept;
 
  174    std::string_view input) 
noexcept;
 
  198std::string percent_decode(std::string_view input, 
size_t first_percent);
 
  205std::string percent_encode(std::string_view input,
 
  206                           const uint8_t character_set[]);
 
  213std::string percent_encode(std::string_view input,
 
  214                           const uint8_t character_set[], 
size_t index);
 
  223template <
bool append>
 
  224bool percent_encode(std::string_view input, 
const uint8_t character_set[],
 
  232                                              const uint8_t character_set[]);
 
  238constexpr bool to_lower_ascii(
char* input, 
size_t length) 
noexcept;
 
Common definitions for cross-platform compiler support.
 
#define ada_really_inline
 
Includes the declarations for unicode operations.
 
ada_really_inline size_t percent_encode_index(const std::string_view input, const uint8_t character_set[])