1#pragma once
2
3#include <cstdint>
4#include <vector>
5#include <unordered_map>
6#include <unordered_set>
7
8struct range_nfd {
9 uint32_t first;
10 uint32_t last;
11 uint32_t nfd;
12};
13
14static const uint32_t MAX_CODEPOINTS = 0x110000;
15
16extern const std::initializer_list<std::pair<uint32_t, uint16_t>> unicode_ranges_flags;
17extern const std::unordered_set<uint32_t> unicode_set_whitespace;
18extern const std::initializer_list<std::pair<uint32_t, uint32_t>> unicode_map_lowercase;
19extern const std::initializer_list<std::pair<uint32_t, uint32_t>> unicode_map_uppercase;
20extern const std::initializer_list<range_nfd> unicode_ranges_nfd;
21