FIFE  be64c707dea6b3250bd4355bf5c825d25920087d
core.h File Reference
#include <iterator>
+ Include dependency graph for core.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 utf8
 
 utf8::internal
 

Macros

#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 char utf8::uint8_t
 
typedef unsigned short utf8::uint16_t
 
typedef unsigned int utf8::uint32_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_type >
uint8_t utf8::internal::mask8 (octet_type oc)
 
template<typename u16_type >
uint16_t utf8::internal::mask16 (u16_type oc)
 
template<typename octet_type >
bool utf8::internal::is_trail (octet_type oc)
 
template<typename u16 >
bool utf8::internal::is_lead_surrogate (u16 cp)
 
template<typename u16 >
bool utf8::internal::is_trail_surrogate (u16 cp)
 
template<typename u16 >
bool utf8::internal::is_surrogate (u16 cp)
 
template<typename u32 >
bool utf8::internal::is_code_point_valid (u32 cp)
 
template<typename octet_iterator >
std::iterator_traits< octet_iterator >::difference_type utf8::internal::sequence_length (octet_iterator lead_it)
 
template<typename octet_difference_type >
bool utf8::internal::is_overlong_sequence (uint32_t cp, octet_difference_type length)
 
template<typename octet_iterator >
utf_error utf8::internal::increase_safely (octet_iterator &it, octet_iterator end)
 Helper for get_sequence_x. More...
 
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 More...
 
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::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)
 
template<typename octet_iterator >
octet_iterator utf8::find_invalid (octet_iterator start, octet_iterator end)
 
template<typename octet_iterator >
bool utf8::is_valid (octet_iterator start, octet_iterator end)
 
template<typename octet_iterator >
bool utf8::starts_with_bom (octet_iterator it, octet_iterator end)
 
template<typename octet_iterator >
bool utf8::is_bom (octet_iterator it)
 

Variables

const uint16_t utf8::internal::LEAD_SURROGATE_MIN = 0xd800u
 
const uint16_t utf8::internal::LEAD_SURROGATE_MAX = 0xdbffu
 
const uint16_t utf8::internal::TRAIL_SURROGATE_MIN = 0xdc00u
 
const uint16_t utf8::internal::TRAIL_SURROGATE_MAX = 0xdfffu
 
const uint16_t utf8::internal::LEAD_OFFSET = LEAD_SURROGATE_MIN - (0x10000 >> 10)
 
const uint32_t utf8::internal::SURROGATE_OFFSET = 0x10000u - (LEAD_SURROGATE_MIN << 10) - TRAIL_SURROGATE_MIN
 
const uint32_t utf8::internal::CODE_POINT_MAX = 0x0010ffffu
 
const uint8_t utf8::bom [] = {0xef, 0xbb, 0xbf}
 The library API - functions intended to be called by the users. More...
 

Macro Definition Documentation

◆ UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR

#define UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR (   IT,
  END 
)    {utf_error ret = increase_safely(IT, END); if (ret != UTF8_OK) return ret;}