Photon 1.0.0
Loading...
Searching...
No Matches
utf8_strings.h
Go to the documentation of this file.
1#ifndef LH_UTF8_STRINGS_H
2#define LH_UTF8_STRINGS_H
3
4#include "types.h"
5
6namespace litehtml
7{
8 // converts UTF-32 ch to UTF-8 and appends it to str
9 void append_char(string& str, char32_t ch);
10 char32_t read_utf8_char(const string& str, int& index);
11 void prev_utf8_char(const string& str, int& index);
12
14 {
15 std::u32string m_str;
16 public:
17 utf8_to_utf32(const string& val);
18 operator const char32_t*() const
19 {
20 return m_str.c_str();
21 }
22 };
23
25 {
26 string m_str;
27 public:
28 utf32_to_utf8(const std::u32string& val);
29 operator const char*() const
30 {
31 return m_str.c_str();
32 }
33 const char* c_str() const
34 {
35 return m_str.c_str();
36 }
37 };
38
39#define litehtml_from_utf32(str) litehtml::utf32_to_utf8(str)
40#define litehtml_to_utf32(str) litehtml::utf8_to_utf32(str)
41}
42
43#endif // LH_UTF8_STRINGS_H
Definition utf8_strings.h:25
const char * c_str() const
Definition utf8_strings.h:33
string m_str
Definition utf8_strings.h:26
Definition utf8_strings.h:14
std::u32string m_str
Definition utf8_strings.h:15
Definition background.h:12
void append_char(string &str, char32_t ch)
Definition utf8_strings.cpp:61
char32_t read_utf8_char(const string &str, int &index)
Definition utf8_strings.cpp:9
void prev_utf8_char(const string &str, int &index)
Definition utf8_strings.cpp:56