|
HikoGUI
A low latency retained GUI
|
#include <hikogui/unicode/grapheme.hpp>
Public Types | |
| using | value_type = uint64_t |
Public Member Functions | |
| constexpr | grapheme (grapheme const &) noexcept=default |
| constexpr | grapheme (grapheme &&) noexcept=default |
| constexpr grapheme & | operator= (grapheme const &) noexcept=default |
| constexpr grapheme & | operator= (grapheme &&) noexcept=default |
| constexpr | grapheme (intrinsic_t, value_type value) |
| constexpr value_type & | intrinsic () noexcept |
| constexpr value_type const & | intrinsic () const noexcept |
| constexpr | grapheme (char32_t code_point) noexcept |
| Encode a single code-point. | |
| constexpr | grapheme (char ascii_char) noexcept |
| constexpr grapheme & | operator= (char32_t code_point) noexcept |
| Encode a single code-point. | |
| constexpr grapheme & | operator= (char ascii_char) noexcept |
| Encode a single code-point. | |
| constexpr | grapheme (composed_t, std::u32string_view code_points) noexcept |
| Encode a grapheme from a list of code-points. | |
| constexpr | grapheme (std::u32string_view code_points) noexcept |
| Encode a grapheme from a list of code-points. | |
| constexpr uint32_t | index () const noexcept |
| Get the codepoint/index part of the grapheme. | |
| constexpr iso_639 | language () const noexcept |
| constexpr void | set_language (iso_639 rhs) noexcept |
| constexpr iso_15924 | script () const noexcept |
| constexpr void | set_script (iso_15924 rhs) noexcept |
| constexpr iso_3166 | region () const noexcept |
| constexpr void | set_region (iso_3166 rhs) noexcept |
| constexpr hi::language_tag | language_tag () const noexcept |
| constexpr void | set_language_tag (hi::language_tag rhs) noexcept |
| constexpr hi::phrasing | phrasing () const noexcept |
| constexpr void | set_phrasing (hi::phrasing rhs) noexcept |
| std::u32string const & | long_grapheme () const noexcept |
| constexpr std::size_t | size () const noexcept |
| Return the number of code-points encoded in the grapheme. | |
| constexpr char32_t | operator[] (size_t i) const noexcept |
| Get the code-point at the given index. | |
| constexpr std::u32string | composed () const noexcept |
| Get a list of code-point normalized to NFC. | |
| constexpr std::u32string | decomposed (unicode_normalize_config config=unicode_normalize_config::NFD()) const noexcept |
| Get a list of code-point normalized to NFD. | |
Data Fields | |
| value_type | _value |
| The grapheme's value. | |
Friends | |
| template<size_t I> | |
| constexpr char32_t | get (grapheme const &rhs) noexcept |
| Get the code-point at the given index. | |
| constexpr bool | operator== (grapheme const &lhs, grapheme const &rhs) noexcept |
| Compare equivalence of two graphemes. | |
| constexpr bool | operator== (grapheme const &lhs, char32_t const &rhs) noexcept |
| constexpr bool | operator== (grapheme const &lhs, char const &rhs) noexcept |
| constexpr std::strong_ordering | operator<=> (grapheme const &lhs, grapheme const &rhs) noexcept |
| Compare two graphemes lexicographically. | |
| constexpr std::strong_ordering | operator<=> (grapheme const &lhs, char32_t const &rhs) noexcept |
| constexpr std::strong_ordering | operator<=> (grapheme const &lhs, char const &rhs) noexcept |
| constexpr std::string | to_string (grapheme const &rhs) noexcept |
| constexpr std::wstring | to_wstring (grapheme const &rhs) noexcept |
| constexpr std::u32string | to_u32string (grapheme const &rhs) noexcept |
A grapheme-cluster, what a user thinks a character is.
A grapheme should not include typographical ligatures such as 'fi' as the font should handle creating ligatures.
If a grapheme is initialized with more than 1 code-points a long_grapheme is allocated. This grapheme is never deleted from memory.
This class is trivial and constant-destructible so that it can be used as a character class in std::basic_string and used as a non-type template parameter.
Encode a single code-point.
|
inlineconstexprnoexcept |
Encode a grapheme from a list of code-points.
| code_points | The NFC/NKFC normalized and composed code-point of this grapheme. |
|
inlineexplicitconstexprnoexcept |
Encode a grapheme from a list of code-points.
| code_points | The non-normalized list of code-points. |
|
inlineconstexprnoexcept |
Get a list of code-point normalized to NFC.
|
inlineconstexprnoexcept |
Get a list of code-point normalized to NFD.
|
inlineconstexprnoexcept |
Get the codepoint/index part of the grapheme.
Encode a single code-point.
Encode a single code-point.
Get the code-point at the given index.
| i | Index of code-point in the grapheme. |
|
inlineconstexprnoexcept |
Return the number of code-points encoded in the grapheme.
Get the code-point at the given index.
| I | Index of code-point in the grapheme. |
| rhs | The grapheme to query. |
Compare two graphemes lexicographically.
Compare equivalence of two graphemes.
This comparision ignores language-tag and phrasing of a grapheme.
| value_type v1::grapheme::_value |
The grapheme's value.
This class will hold: