...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Boost.Nowide
|
UTF Traits class - functions to convert UTF sequences to and from Unicode code points. More...
#include <boost/nowide/utf/utf.hpp>
Public Types | |
using | char_type = CharType |
Static Public Member Functions | |
template<typename Iterator > | |
static code_point | decode (Iterator &p, Iterator e) |
static int | width (code_point value) |
static int | trail_length (char_type c) |
static bool | is_trail (char_type c) |
static bool | is_lead (char_type c) |
template<typename Iterator > | |
static Iterator | encode (code_point value, Iterator out) |
template<typename Iterator > | |
static code_point | decode_valid (Iterator &p) |
Static Public Attributes | |
static const int | max_width |
UTF Traits class - functions to convert UTF sequences to and from Unicode code points.
using boost::nowide::utf::utf_traits< CharType, size >::char_type = CharType |
The type of the character
|
static |
Read one code point from the range [p,e) and return it.
Requirements
Postconditions
|
static |
Decodes valid UTF sequence that is pointed by p into code point.
If the sequence is invalid or points to end the behavior is undefined
|
static |
Convert valid Unicode code point value to the UTF sequence.
Requirements:
Returns the iterator past the last written code unit.
|
static |
Returns true if c is lead code unit, always true of UTF-32
|
static |
Returns true if c is trail code unit, always false for UTF-32
|
static |
Get the size of the trail part of variable length encoded sequence.
Returns -1 if C is not valid lead character
|
static |
The width of specific code point in the code units.
Requirement: value is a valid Unicode code point Returns value in range [1..max_width]
|
static |
Maximal width of valid sequence in the code units: