#include <iterator>
Go to the source code of this file.
Namespaces | |
namespace | utf8 |
namespace | utf8::internal |
Defines | |
#define | UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(IT, END) {utf_error ret = increase_safely(IT, END); if (ret != UTF8_OK) return ret;} |
Typedefs | |
typedef unsigned short | utf8::uint16_t |
typedef unsigned int | utf8::uint32_t |
typedef unsigned char | utf8::uint8_t |
Enumerations | |
enum | utf8::internal::utf_error { utf8::internal::UTF8_OK, utf8::internal::NOT_ENOUGH_ROOM, utf8::internal::INVALID_LEAD, utf8::internal::INCOMPLETE_SEQUENCE, utf8::internal::OVERLONG_SEQUENCE, utf8::internal::INVALID_CODE_POINT } |
Functions | |
template<typename octet_iterator > | |
octet_iterator | utf8::find_invalid (octet_iterator start, octet_iterator end) |
template<typename octet_iterator > | |
utf_error | utf8::internal::get_sequence_1 (octet_iterator &it, octet_iterator end, uint32_t &code_point) |
get_sequence_x functions decode utf-8 sequences of the length x | |
template<typename octet_iterator > | |
utf_error | utf8::internal::get_sequence_2 (octet_iterator &it, octet_iterator end, uint32_t &code_point) |
template<typename octet_iterator > | |
utf_error | utf8::internal::get_sequence_3 (octet_iterator &it, octet_iterator end, uint32_t &code_point) |
template<typename octet_iterator > | |
utf_error | utf8::internal::get_sequence_4 (octet_iterator &it, octet_iterator end, uint32_t &code_point) |
template<typename octet_iterator > | |
utf_error | utf8::internal::increase_safely (octet_iterator &it, octet_iterator end) |
Helper for get_sequence_x. | |
template<typename octet_iterator > | |
bool | utf8::is_bom (octet_iterator it) |
template<typename u32 > | |
bool | utf8::internal::is_code_point_valid (u32 cp) |
template<typename u16 > | |
bool | utf8::internal::is_lead_surrogate (u16 cp) |
template<typename octet_difference_type > | |
bool | utf8::internal::is_overlong_sequence (uint32_t cp, octet_difference_type length) |
template<typename u16 > | |
bool | utf8::internal::is_surrogate (u16 cp) |
template<typename octet_type > | |
bool | utf8::internal::is_trail (octet_type oc) |
template<typename u16 > | |
bool | utf8::internal::is_trail_surrogate (u16 cp) |
template<typename octet_iterator > | |
bool | utf8::is_valid (octet_iterator start, octet_iterator end) |
template<typename u16_type > | |
uint16_t | utf8::internal::mask16 (u16_type oc) |
template<typename octet_type > | |
uint8_t | utf8::internal::mask8 (octet_type oc) |
template<typename octet_iterator > | |
std::iterator_traits < octet_iterator > ::difference_type | utf8::internal::sequence_length (octet_iterator lead_it) |
template<typename octet_iterator > | |
bool | utf8::starts_with_bom (octet_iterator it, octet_iterator end) |
template<typename octet_iterator > | |
utf_error | utf8::internal::validate_next (octet_iterator &it, octet_iterator end, uint32_t &code_point) |
template<typename octet_iterator > | |
utf_error | utf8::internal::validate_next (octet_iterator &it, octet_iterator end) |
Variables | |
const uint8_t | utf8::bom [] = {0xef, 0xbb, 0xbf} |
The library API - functions intended to be called by the users. | |
const uint32_t | utf8::internal::CODE_POINT_MAX = 0x0010ffffu |
const uint16_t | utf8::internal::LEAD_OFFSET = LEAD_SURROGATE_MIN - (0x10000 >> 10) |
const uint16_t | utf8::internal::LEAD_SURROGATE_MAX = 0xdbffu |
const uint16_t | utf8::internal::LEAD_SURROGATE_MIN = 0xd800u |
const uint32_t | utf8::internal::SURROGATE_OFFSET = 0x10000u - (LEAD_SURROGATE_MIN << 10) - TRAIL_SURROGATE_MIN |
const uint16_t | utf8::internal::TRAIL_SURROGATE_MAX = 0xdfffu |
const uint16_t | utf8::internal::TRAIL_SURROGATE_MIN = 0xdc00u |
#define UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR | ( | IT, | |
END | |||
) | {utf_error ret = increase_safely(IT, END); if (ret != UTF8_OK) return ret;} |