blob: 7fd9329e65a3cffbc09ac2bdb706665b42689fa7 (
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
31
32
33
34
35
|
//
// Reichwein.IT Unicode Library
//
// Forward declarations for utf.h - Functions for reading and writing UTF
// encodings
//
#pragma once
#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
|