openMSX
Namespaces | Enumerations | Functions | Variables
utf8_core.hh File Reference
#include "narrow.hh"
#include "one_of.hh"
#include <array>
#include <iterator>
#include <cstdint>
Include dependency graph for utf8_core.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  utf8
 
namespace  utf8::internal
 

Enumerations

enum class  utf8::internal::utf_error {
  utf8::internal::OK , utf8::internal::NOT_ENOUGH_ROOM , utf8::internal::INVALID_LEAD , utf8::internal::INCOMPLETE_SEQUENCE ,
  utf8::internal::OVERLONG_SEQUENCE , utf8::internal::INVALID_CODE_POINT
}
 

Functions

constexpr bool utf8::internal::is_trail (uint8_t oc)
 
constexpr bool utf8::internal::is_surrogate (uint32_t cp)
 
constexpr bool utf8::internal::is_code_point_valid (uint32_t cp)
 
constexpr unsigned utf8::internal::sequence_length (uint8_t lead)
 
template<typename octet_iterator >
constexpr utf_error utf8::internal::validate_next (octet_iterator &it, octet_iterator end, uint32_t *code_point)
 
template<typename octet_iterator >
constexpr utf_error utf8::internal::validate_next (octet_iterator &it, octet_iterator end)
 
template<typename octet_iterator >
constexpr octet_iterator utf8::find_invalid (octet_iterator start, octet_iterator end)
 The library API - functions intended to be called by the users.
 
template<typename octet_iterator >
constexpr bool utf8::is_valid (octet_iterator start, octet_iterator end)
 
template<typename octet_iterator >
constexpr bool utf8::is_bom (octet_iterator it)
 
template<typename octet_iterator >
constexpr octet_iterator utf8::sync_forward (octet_iterator it)
 
template<typename octet_iterator >
constexpr octet_iterator utf8::sync_backward (octet_iterator it)
 
constexpr bool utf8::is_pua (uint32_t cp)
 

Variables

constexpr uint16_t utf8::internal::LEAD_SURROGATE_MIN = 0xd800u
 
constexpr uint16_t utf8::internal::LEAD_SURROGATE_MAX = 0xdbffu
 
constexpr uint16_t utf8::internal::TRAIL_SURROGATE_MIN = 0xdc00u
 
constexpr uint16_t utf8::internal::TRAIL_SURROGATE_MAX = 0xdfffu
 
constexpr uint16_t utf8::internal::LEAD_OFFSET = LEAD_SURROGATE_MIN - (0x10000 >> 10)
 
constexpr uint32_t utf8::internal::SURROGATE_OFFSET = 0x10000u - (LEAD_SURROGATE_MIN << 10) - TRAIL_SURROGATE_MIN
 
constexpr uint32_t utf8::internal::CODE_POINT_MAX = 0x0010ffffu