|
HikoGUI
A low latency retained GUI
|
#include <hikogui/unicode/grapheme.hpp>
Public Types | |
| using | value_type = uint32_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 std::u32string | decomposed () const noexcept |
| Get a list of code-point normalized to NFD. | |
| 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. | |
Data Fields | |
| value_type | _value |
| A pointer to a grapheme. | |
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 &, grapheme const &) noexcept=default |
| 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.
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.
| value_type v1::grapheme::_value |
A pointer to a grapheme.
This class will hold:
Bits [31:21] are always '0'.