|
| basic_string () noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_default_constructible< Allocator >()) |
|
| basic_string (const allocator_type &alloc) noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_copy_constructible< Allocator >()) |
|
template<typename T > |
| basic_string (T &&str, const allocator_type &alloc=allocator_type(), enable_if_ptr< T, data_type > *={}) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (const data_type *str, size_type len, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (const data_type *str, size_type pos, size_type len, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<size_type LITLEN> |
| basic_string (const data_type(&str)[LITLEN], const allocator_type &alloc=allocator_type(), enable_if_small_string< LITLEN >={}) noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_copy_constructible< Allocator >()) |
|
template<size_type LITLEN> |
| basic_string (const data_type(&str)[LITLEN], const allocator_type &alloc=allocator_type(), enable_if_not_small_string< LITLEN >={}) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<size_type LITLEN> |
| basic_string (const data_type(&str)[LITLEN], size_type len, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<size_type LITLEN> |
| basic_string (const data_type(&str)[LITLEN], size_type pos, size_type len, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<typename C , typename A > |
| basic_string (std::basic_string< data_type, C, A > str, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<typename C , typename A > |
| basic_string (std::basic_string< data_type, C, A > str, size_type len, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<typename C , typename A > |
| basic_string (std::basic_string< data_type, C, A > str, size_type pos, size_type len, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (size_type n, value_type cp, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (size_type n, data_type cp, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (const basic_string &str, size_type pos, size_type count=basic_string::npos, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<typename InputIt > |
| basic_string (InputIt first, InputIt last, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (const basic_string &str) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (const basic_string &str, const allocator_type &alloc) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (const value_type *str, size_type len, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<typename T > |
| basic_string (T &&str, const allocator_type &alloc=allocator_type(), enable_if_ptr< T, value_type > *={}) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<size_type LITLEN> |
| basic_string (const value_type(&str)[LITLEN], const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (std::initializer_list< value_type > ilist, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (value_type cp, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (data_type ch, const allocator_type &alloc=allocator_type()) noexcept(TINY_UTF8_NOEXCEPT) |
|
| basic_string (basic_string &&str) noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_move_constructible< Allocator >()) |
|
| basic_string (basic_string &&str, const allocator_type &alloc) noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_copy_constructible< Allocator >()) |
|
| ~basic_string () noexcept |
|
basic_string & | operator= (const basic_string &str) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | operator= (basic_string &&str) noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_move_assignable< Allocator >()) |
|
void | clear () noexcept |
|
allocator_type | get_allocator () const noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_copy_constructible< Allocator >()) |
|
void | shrink_to_fit () noexcept(TINY_UTF8_NOEXCEPT) |
|
void | swap (basic_string &str) noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_move_assignable< Allocator >()) |
|
size_type | capacity () const noexcept |
|
value_type | at (size_type n) const noexcept(TINY_UTF8_NOEXCEPT) |
|
value_type | at (size_type n, std::nothrow_t) const noexcept |
|
checked_reference | at (size_type n) noexcept(TINY_UTF8_NOEXCEPT) |
|
reference | at (size_type n, std::nothrow_t) noexcept |
|
raw_checked_reference | raw_at (size_type byte_index) noexcept(TINY_UTF8_NOEXCEPT) |
|
raw_reference | raw_at (size_type byte_index, std::nothrow_t) noexcept |
|
value_type | raw_at (size_type byte_index) const noexcept(TINY_UTF8_NOEXCEPT) |
|
value_type | raw_at (size_type byte_index, std::nothrow_t) const noexcept |
|
iterator | get (size_type n) noexcept |
|
const_iterator | get (size_type n) const noexcept |
|
raw_iterator | raw_get (size_type n) noexcept |
|
raw_const_iterator | raw_get (size_type n) const noexcept |
|
reverse_iterator | rget (size_type n) noexcept |
|
const_reverse_iterator | rget (size_type n) const noexcept |
|
raw_reverse_iterator | raw_rget (size_type n) noexcept |
|
raw_const_reverse_iterator | raw_rget (size_type n) const noexcept |
|
reference | operator[] (size_type n) noexcept |
|
value_type | operator[] (size_type n) const noexcept |
|
raw_reference | operator() (size_type n) noexcept |
|
value_type | operator() (size_type n) const noexcept |
|
const data_type * | c_str () const noexcept |
|
const data_type * | data () const noexcept |
|
data_type * | data () noexcept |
|
size_type | length () const noexcept |
|
size_type | size () const noexcept |
|
bool | empty () const noexcept |
|
iterator | begin () noexcept |
|
const_iterator | begin () const noexcept |
|
raw_iterator | raw_begin () noexcept |
|
raw_const_iterator | raw_begin () const noexcept |
|
iterator | end () noexcept |
|
const_iterator | end () const noexcept |
|
raw_iterator | raw_end () noexcept |
|
raw_const_iterator | raw_end () const noexcept |
|
reverse_iterator | rbegin () noexcept |
|
const_reverse_iterator | rbegin () const noexcept |
|
raw_reverse_iterator | raw_rbegin () noexcept |
|
raw_const_reverse_iterator | raw_rbegin () const noexcept |
|
reverse_iterator | rend () noexcept |
|
const_reverse_iterator | rend () const noexcept |
|
raw_reverse_iterator | raw_rend () noexcept |
|
raw_const_reverse_iterator | raw_rend () const noexcept |
|
const_iterator | cbegin () const noexcept |
|
raw_const_iterator | raw_cbegin () const noexcept |
|
const_iterator | cend () const noexcept |
|
raw_const_iterator | raw_cend () const noexcept |
|
const_reverse_iterator | crbegin () const noexcept |
|
raw_const_reverse_iterator | raw_crbegin () const noexcept |
|
const_reverse_iterator | crend () const noexcept |
|
raw_const_reverse_iterator | raw_crend () const noexcept |
|
raw_reference | front () noexcept |
|
value_type | front () const noexcept |
|
raw_reference | back () noexcept |
|
value_type | back () const noexcept |
|
basic_string & | replace (size_type index, value_type repl, size_type n=1) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (size_type index, size_type len, value_type repl, size_type n) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (size_type index, size_type len, value_type repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (raw_iterator first, raw_iterator last, value_type repl, size_type n) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (raw_iterator first, raw_iterator last, value_type repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (raw_iterator first, iterator last, value_type repl, size_type n) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (iterator first, raw_iterator last, value_type repl, size_type n) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (iterator first, iterator last, value_type repl, size_type n) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (raw_iterator first, iterator last, value_type repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (iterator first, raw_iterator last, value_type repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (iterator first, iterator last, value_type repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (raw_iterator first, raw_iterator last, const basic_string &repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (raw_iterator first, iterator last, const basic_string &repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (iterator first, raw_iterator last, const basic_string &repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (iterator first, iterator last, const basic_string &repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | replace (size_type index, size_type count, const basic_string &repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | raw_replace (size_type start_byte, size_type byte_count, const basic_string &repl) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | prepend (const basic_string &prependix) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | append (const basic_string &appendix) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | operator+= (const basic_string &appendix) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | push_back (value_type cp) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | operator+= (value_type cp) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string | operator+ (basic_string summand) const &noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string | operator+ (const basic_string &summand) &&noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | assign (size_type count, value_type cp) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | assign (const basic_string &str) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | assign (const basic_string &str, size_type pos, size_type count) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | assign (basic_string &&str) noexcept(TINY_UTF8_NOEXCEPT &&std::is_nothrow_move_assignable< Allocator >()) |
|
template<typename T > |
basic_string & | assign (T &&str, enable_if_ptr< T, data_type > *={}) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | assign (const data_type *str, size_type len) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<size_type LITLEN> |
basic_string & | assign (const data_type(&str)[LITLEN]) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<typename T > |
basic_string & | assign (T &&str, enable_if_ptr< T, value_type > *={}) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | assign (const value_type *str, size_type len) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<size_type LITLEN> |
basic_string & | assign (const value_type(&str)[LITLEN]) noexcept(TINY_UTF8_NOEXCEPT) |
|
template<typename InputIt > |
basic_string & | assign (InputIt first, InputIt last) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | assign (std::initializer_list< value_type > ilist) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | insert (size_type pos, value_type cp) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | insert (size_type pos, const basic_string &str) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | insert (raw_iterator it, value_type cp) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | insert (raw_iterator it, const basic_string &str) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | raw_insert (size_type pos, const basic_string &str) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | raw_insert (size_type pos, value_type cp) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | pop_back () noexcept(TINY_UTF8_NOEXCEPT) |
| Removes the last codepoint in the basic_string.
|
|
basic_string & | erase (raw_iterator pos) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | erase (raw_iterator first, raw_iterator last) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | erase (raw_iterator first, iterator last) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | erase (iterator first, raw_iterator last) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | erase (iterator first, iterator last) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | erase (size_type pos, size_type len=1) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string & | raw_erase (size_type pos, size_type len) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string | substr (raw_iterator first, raw_iterator last) const noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string | substr (raw_iterator first, iterator last) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string | substr (iterator first, raw_iterator last) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string | substr (iterator first, iterator last) noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string | substr (size_type pos, size_type len=basic_string::npos) const noexcept(TINY_UTF8_NOEXCEPT) |
|
basic_string | raw_substr (size_type start_byte, size_type byte_count) const noexcept(TINY_UTF8_NOEXCEPT) |
|
size_type | find (value_type cp, size_type start_codepoint=0) const noexcept |
|
size_type | find (const basic_string &pattern, size_type start_codepoint=0) const noexcept |
|
size_type | find (const data_type *pattern, size_type start_codepoint=0) const noexcept |
|
size_type | raw_find (value_type cp, size_type start_byte=0) const noexcept |
|
size_type | raw_find (const basic_string &pattern, size_type start_byte=0) const noexcept |
|
size_type | raw_find (const data_type *pattern, size_type start_byte=0) const noexcept |
|
size_type | rfind (value_type cp, size_type start_codepoint=basic_string::npos) const noexcept |
|
size_type | raw_rfind (value_type cp, size_type start_byte=basic_string::npos) const noexcept |
|
size_type | find_first_of (const value_type *str, size_type start_codepoint=0) const noexcept |
| Find characters in string.
|
|
size_type | raw_find_first_of (const value_type *str, size_type start_byte=0) const noexcept |
|
size_type | find_last_of (const value_type *str, size_type start_codepoint=basic_string::npos) const noexcept |
|
size_type | raw_find_last_of (const value_type *str, size_type start_byte=basic_string::npos) const noexcept |
|
size_type | find_first_not_of (const value_type *str, size_type start_codepoint=0) const noexcept |
| Find absence of characters in string.
|
|
size_type | raw_find_first_not_of (const value_type *str, size_type start_byte=0) const noexcept |
|
size_type | find_last_not_of (const value_type *str, size_type start_codepoint=basic_string::npos) const noexcept |
|
size_type | raw_find_last_not_of (const value_type *str, size_type start_byte=basic_string::npos) const noexcept |
|
bool | starts_with (const basic_string &str) const noexcept |
|
bool | starts_with (const std::string &str) const noexcept |
|
bool | starts_with (value_type cp) const noexcept |
|
template<typename T > |
bool | starts_with (T str, enable_if_ptr< T, data_type > *={}) const noexcept |
|
template<size_type LITLEN> |
bool | starts_with (const data_type(&str)[LITLEN]) const noexcept |
|
template<typename T > |
bool | starts_with (T str, enable_if_ptr< T, value_type > *={}) const noexcept |
|
template<size_type LITLEN> |
bool | starts_with (const value_type(&str)[LITLEN]) const noexcept |
|
bool | ends_with (const basic_string &str) const noexcept |
|
bool | ends_with (const std::string &str) const noexcept |
|
bool | ends_with (value_type cp) const noexcept |
|
template<typename T > |
bool | ends_with (T str, enable_if_ptr< T, data_type > *={}) const noexcept |
|
template<size_type LITLEN> |
bool | ends_with (const data_type(&str)[LITLEN]) const noexcept |
|
template<typename T > |
bool | ends_with (T str, enable_if_ptr< T, value_type > *={}) const noexcept |
|
template<size_type LITLEN> |
bool | ends_with (const value_type(&str)[LITLEN]) const noexcept |
|
int | compare (const basic_string &str) const noexcept |
|
int | compare (const std::string &str) const noexcept |
|
template<typename T > |
int | compare (T str, enable_if_ptr< T, data_type > *={}) const noexcept |
|
template<size_type LITLEN> |
int | compare (const data_type(&str)[LITLEN]) const noexcept |
|
template<typename T > |
int | compare (T str, enable_if_ptr< T, value_type > *={}) const noexcept |
|
template<size_type LITLEN> |
int | compare (const value_type(&str)[LITLEN]) const noexcept |
|
bool | operator== (const basic_string &str) const noexcept |
| Equality Comparison Operators.
|
|
bool | operator!= (const basic_string &str) const noexcept |
|
bool | operator== (const std::string &str) const noexcept |
|
bool | operator!= (const std::string &str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, data_type > | operator== (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, data_type > | operator!= (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, value_type > | operator== (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, value_type > | operator!= (T &&str) const noexcept |
|
template<size_type LITLEN> |
bool | operator== (const data_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator!= (const data_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator== (const value_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator!= (const value_type(&str)[LITLEN]) const noexcept |
|
bool | operator> (const basic_string &str) const noexcept |
| Lexicographical comparison Operators.
|
|
bool | operator>= (const basic_string &str) const noexcept |
|
bool | operator< (const basic_string &str) const noexcept |
|
bool | operator<= (const basic_string &str) const noexcept |
|
bool | operator> (const std::string &str) const noexcept |
|
bool | operator>= (const std::string &str) const noexcept |
|
bool | operator< (const std::string &str) const noexcept |
|
bool | operator<= (const std::string &str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, data_type > | operator> (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, data_type > | operator>= (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, data_type > | operator< (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, data_type > | operator<= (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, value_type > | operator> (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, value_type > | operator>= (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, value_type > | operator< (T &&str) const noexcept |
|
template<typename T > |
enable_if_ptr< T, value_type > | operator<= (T &&str) const noexcept |
|
template<size_type LITLEN> |
bool | operator> (const data_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator>= (const data_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator< (const data_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator<= (const data_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator> (const value_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator>= (const value_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator< (const value_type(&str)[LITLEN]) const noexcept |
|
template<size_type LITLEN> |
bool | operator<= (const value_type(&str)[LITLEN]) const noexcept |
|
width_type | get_index_bytes (size_type byte_index) const noexcept |
| Get the number of bytes of codepoint in basic_string.
|
|
width_type | get_codepoint_bytes (size_type codepoint_index) const noexcept |
|
width_type | get_index_pre_bytes (size_type byte_index) const noexcept |
| Get the number of bytes before a codepoint, that build up a new codepoint.
|
|
width_type | get_codepoint_pre_bytes (size_type codepoint_index) const noexcept |
|
size_type | raw_back_index () const noexcept |
| Get the byte index of the last codepoint.
|
|
size_type | get_num_codepoints (size_type byte_start, size_type byte_count) const noexcept |
|
size_type | get_num_bytes (size_type byte_start, size_type cp_count) const noexcept |
|
size_type | get_num_bytes_from_start (size_type cp_count) const noexcept |
|
bool | requires_unicode () const noexcept |
| tinyutf8-specific features
|
|
bool | sso_active () const noexcept |
|
bool | lut_active () const noexcept |
|
void | to_wide_literal (value_type *dest) const noexcept |
|
std::basic_string< data_type > | cpp_str (bool prepend_bom=false) const noexcept(TINY_UTF8_NOEXCEPT) |
|
|
static constexpr size_type | get_sso_capacity () noexcept |
| Static helper methods.
|
|
static bool | is_lut_active (const data_type *lut_base_ptr) noexcept |
| Check, if the lut is active using the lut base ptr.
|
|
static size_type | round_up_to_align (size_type val) noexcept |
| Rounds the supplied value to a multiple of sizeof(size_type)
|
|
static data_type * | get_lut_base_ptr (data_type *buffer, size_type buffer_size) noexcept |
| Get the LUT base pointer from buffer and buffer size.
|
|
static const data_type * | get_lut_base_ptr (const data_type *buffer, size_type buffer_size) noexcept |
|
static void | set_lut_indiciator (data_type *lut_base_ptr, bool active, size_type lut_len=0) noexcept |
| Construct the lut mode indicator.
|
|
static void | copy_lut_indicator (data_type *dest, const data_type *source) noexcept |
| Copy lut indicator.
|
|
static width_type | get_lut_width (size_type buffer_size) noexcept |
|
static bool | is_lut_worth (size_type pot_lut_len, size_type string_len, bool lut_present, bool biased=true) noexcept |
| Determine, whether or not a LUT is worth to set up. General case: worth below 25%. If LUT present <33,3%, otherwise <16,7%.
|
|
static size_type | determine_main_buffer_size (size_type data_len, size_type lut_len, width_type *lut_width) noexcept |
| Determine the needed buffer size and the needed lut width (excluding the trailling LUT indicator)
|
|
static size_type | determine_main_buffer_size (size_type data_len, size_type lut_len, width_type lut_width) noexcept |
| Determine the needed buffer size if the lut width is known (excluding the trailling LUT indicator)
|
|
static size_type | determine_main_buffer_size (size_type data_len) noexcept |
| Determine the needed buffer size if the lut is empty (excluding the trailling LUT indicator)
|
|
static size_type | determine_total_buffer_size (size_type main_buffer_size) noexcept |
| Same as above but this time including the LUT indicator.
|
|
static size_type | get_lut (const data_type *iter, width_type lut_width) noexcept |
| Get the nth index within a multibyte index table.
|
|
static void | set_lut (data_type *iter, width_type lut_width, size_type value) noexcept |
|
static size_type | get_lut_len (const data_type *lut_base_ptr) noexcept |
| Get the LUT size (given the lut is active!)
|
|
static width_type | get_codepoint_bytes (data_type first_byte, size_type data_left) noexcept |
|
static width_type | get_codepoint_bytes (value_type cp) noexcept |
|
static width_type | get_num_bytes_of_utf8_char_before (const data_type *data_start, size_type index) noexcept |
| Returns the number of bytes to expect before this one (including this one) that belong to this utf8 char.
|
|
static value_type | decode_utf8 (const data_type *data, width_type num_bytes) noexcept |
| Decodes a given input of rle utf8 data to a unicode codepoint, given the number of bytes it's made of.
|
|
static width_type | decode_utf8_and_len (const data_type *data, value_type &dest, size_type data_left) noexcept |
|
static void | encode_utf8 (value_type cp, data_type *dest, width_type cp_bytes) noexcept |
|
static width_type | encode_utf8 (value_type cp, data_type *dest) noexcept |
|
template<typename T > |
static constexpr T | get_msb_mask (width_type bytes=sizeof(T)) noexcept |
|