libdonut  2.3.2
Application framework for cross-platform game development in C++20
Classes | Namespaces | Functions | Variables
unicode.hpp File Reference
#include <array>
#include <cstddef>
#include <iterator>
#include <optional>
#include <string_view>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  donut::unicode::EncodeUTF8FromCodePointResult
 Result of the encodeUTF8FromCodePoint() function. More...
 
struct  donut::unicode::UTF8Sentinel
 Sentinel type for UTF8Iterator. More...
 
class  donut::unicode::UTF8Iterator< It, Sentinel >
 Iterator type for decoding Unicode code points from a UTF-8 string, wrapping an existing iterator for UTF-8 code units. More...
 
class  donut::unicode::UTF8Iterator< It, Sentinel >
 Specialization of UTF8Iterator that works even for input iterators. More...
 
class  donut::unicode::UTF8View
 Non-owning view type for decoding Unicode code points from a contiguous UTF-8 string. More...
 

Namespaces

 donut
 
 donut::unicode
 

Functions

constexpr bool donut::unicode::isValidCodePoint (char32_t codePoint) noexcept
 Check if a 32-bit unsigned integer value falls within the valid ranges for a Unicode code point. More...
 
template<typename InputIt , typename Sentinel >
constexpr std::pair< char32_t, InputIt > donut::unicode::decodeCodePointFromUTF8 (InputIt it, Sentinel end)
 Decode a single Unicode code point from an iterator of UTF-8 code units in a UTF-8-encoded string. More...
 
constexpr EncodeUTF8FromCodePointResult donut::unicode::encodeUTF8FromCodePoint (char32_t codePoint) noexcept
 Encode a Unicode code point into a sequence of UTF-8 code units. More...
 

Variables

constexpr char32_t donut::unicode::CODE_POINT_ERROR {0xFFFFFFFF}
 Invalid code point value, used as a return value in Unicode decoding algorithms for conveying encoding errors. More...