summaryrefslogtreecommitdiffhomepage
path: root/include/unicode/utf_fwd.h
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