7#ifndef ADA_IDNA_UNICODE_TRANSCODING_H
8#define ADA_IDNA_UNICODE_TRANSCODING_H
15size_t utf8_to_utf32(
const char* buf,
size_t len,
char32_t* utf32_output);
21size_t utf32_to_utf8(
const char32_t* buf,
size_t len,
char* utf8_output);
28#ifndef ADA_IDNA_MAPPING_H
29#define ADA_IDNA_MAPPING_H
37void ascii_map(
char* input,
size_t length);
41std::u32string
map(std::u32string_view input);
48#ifndef ADA_IDNA_NORMALIZATION_H
49#define ADA_IDNA_NORMALIZATION_H
63#ifndef ADA_IDNA_PUNYCODE_H
64#define ADA_IDNA_PUNYCODE_H
80#ifndef ADA_IDNA_VALIDITY_H
81#define ADA_IDNA_VALIDITY_H
98#ifndef ADA_IDNA_TO_ASCII_H
99#define ADA_IDNA_TO_ASCII_H
102#include <string_view>
115std::string
to_ascii(std::string_view ut8_string);
122bool constexpr is_ascii(std::u32string_view view);
123bool constexpr is_ascii(std::string_view view);
131#ifndef ADA_IDNA_TO_UNICODE_H
132#define ADA_IDNA_TO_UNICODE_H
134#include <string_view>
138std::string
to_unicode(std::string_view input);
void ascii_map(char *input, size_t length)
bool punycode_to_utf32(std::string_view input, std::u32string &out)
size_t utf32_length_from_utf8(const char *buf, size_t len)
size_t utf32_to_utf8(const char32_t *buf, size_t len, char *utf8_output)
bool constexpr is_ascii(std::u32string_view view)
void normalize(std::u32string &input)
bool utf32_to_punycode(std::u32string_view input, std::string &out)
std::string to_ascii(std::string_view ut8_string)
std::string to_unicode(std::string_view input)
size_t utf8_length_from_utf32(const char32_t *buf, size_t len)
bool is_label_valid(std::u32string_view label)
bool ascii_has_upper_case(char *input, size_t length)
bool contains_forbidden_domain_code_point(std::string_view ascii_string)
std::u32string map(std::u32string_view input)
size_t utf8_to_utf32(const char *buf, size_t len, char32_t *utf32_output)
bool verify_punycode(std::string_view input)