If ZTD_TEXT_UNICODE_SCALAR_VALUE_DISTINCT_TYPE is turned on, this type definition points to an internal class which implements the invariant of being a unicode scalar value. Otherwise, it is simply char32_t.

A unicode scalar value is stored as an at least 32-bit value, but may occupy more space depending on the architecture. It requires 21 bits of space to fit the required unicode code point definition. If the distinct type is used, then this type will trap (abort/assert) if the value is greater than the allowed 21 bits, or if the value results in one of the Unicode Surrogate Pair values used for UTF-16 encoding and decoding. Not recommended for ztd::text::wtf8 usage, as that encoding produces Unicode Surrogate Pair values intentionally.


doxygentypedef: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/ztdtext/checkouts/latest/documentation/source/_build/cmake-build/documentation/doxygen/xml/index.xml

Internal Type


⚠️ Names with double underscores, and within the __*detail and __*impl namespaces are reserved for the implementation. Referencing this entity directly is bad, and the name/functionality can be changed at any point in the future. Relying on anything not guaranteed by the documentation is ☢️☢️Undefined Behavior☢️☢️.


doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/ztdtext/checkouts/latest/documentation/source/_build/cmake-build/documentation/doxygen/xml/index.xml