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);
39std::u32string
map(std::u32string_view input);
46#ifndef ADA_IDNA_NORMALIZATION_H
47#define ADA_IDNA_NORMALIZATION_H
61#ifndef ADA_IDNA_PUNYCODE_H
62#define ADA_IDNA_PUNYCODE_H
78#ifndef ADA_IDNA_VALIDITY_H
79#define ADA_IDNA_VALIDITY_H
96#ifndef ADA_IDNA_TO_ASCII_H
97#define ADA_IDNA_TO_ASCII_H
100#include <string_view>
113std::string
to_ascii(std::string_view ut8_string);
120bool constexpr is_ascii(std::u32string_view view);
121bool constexpr is_ascii(std::string_view view);
129#ifndef ADA_IDNA_TO_UNICODE_H
130#define ADA_IDNA_TO_UNICODE_H
132#include <string_view>
136std::string
to_unicode(std::string_view input);
143#ifndef ADA_IDNA_IDENTIFIER_H
144#define ADA_IDNA_IDENTIFIER_H
147#include <string_view>
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)
bool valid_name_code_point(char32_t code_point, bool first)
size_t utf8_length_from_utf32(const char32_t *buf, size_t len)
bool is_label_valid(std::u32string_view label)
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)