7#include "../utility/module.hpp"
12namespace hi::inline
v1 {
25 constexpr iso_15924(std::integral
auto number) : _v(0)
28 _v = narrow_cast<uint16_t>(number);
56 [[nodiscard]]
constexpr static iso_15924 inherited() noexcept
61 constexpr iso_15924(intrinsic_t, uint16_t v) noexcept : _v(v)
66 [[nodiscard]]
constexpr uint16_t
const& intrinsic() const noexcept
71 [[nodiscard]]
constexpr uint16_t& intrinsic() noexcept
76 [[nodiscard]]
constexpr bool empty() const noexcept
81 explicit operator bool() const noexcept
88 [[nodiscard]]
constexpr uint16_t
number() const noexcept
95 [[nodiscard]] std::string_view
code4() const noexcept;
99 [[nodiscard]]
std::string_view code4_open_type() const noexcept;
103 [[nodiscard]]
bool left_to_right() const noexcept;
105 [[nodiscard]] constexpr friend
bool operator==(
iso_15924 const& lhs,
iso_15924 const& rhs) noexcept = default;
106 [[nodiscard]] constexpr friend auto operator<=>(
iso_15924 const& lhs,
iso_15924 const& rhs) noexcept = default;
116 return lhs.empty() or lhs == rhs;
127 [[nodiscard]]
size_t operator()(hi::iso_15924
const& rhs)
const noexcept
#define hi_axiom_bounds(x,...)
Specify an axiom that the value is within bounds.
Definition assert.hpp:264
#define hi_check_bounds(x,...)
Assert if a value is within bounds, or throw a parse_error.
Definition assert.hpp:132
DOXYGEN BUG.
Definition algorithm.hpp:13
geometry/margins.hpp
Definition cache.hpp:11
ISO-15924 script code.
Definition iso_15924.hpp:17
static constexpr iso_15924 common() noexcept
Common script is used for characters that are common in different scripts.
Definition iso_15924.hpp:44
std::string_view code4() const noexcept
Get the iso-15924 4-letter code.
constexpr uint16_t number() const noexcept
Get the iso-15924 numeric value.
Definition iso_15924.hpp:88
static constexpr iso_15924 uncoded() noexcept
Used when the script was not encoded with the text.
Definition iso_15924.hpp:51
static constexpr iso_15924 wildcard() noexcept
When any script is allowed.
Definition iso_15924.hpp:35