blob: c42dea1093016849ad91f58e345f8c22a64d7359 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#pragma once
// Forward declarations
#include "types.h"
#include <string>
namespace unicode::detail {
template<typename T, typename Container=std::basic_string<T>>
struct utf_iterator;
template<typename T, typename Container=std::basic_string<T>>
struct utf_back_insert_iterator;
} // namespace unicode::detail
namespace unicode {
template<typename InputIt, typename OutputIt>
struct UTF;
// Encoding for convert()
typedef UTF<utf_iterator<utf8_t>, utf_back_insert_iterator<utf8_t>> UTF_8;
typedef UTF<utf_iterator<char16_t>, utf_back_insert_iterator<char16_t>> UTF_16;
typedef UTF<utf_iterator<char32_t>, utf_back_insert_iterator<char32_t>> UTF_32;
} // namespace unicode
|