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);
33 constexpr iso_15924(intrinsic_t, uint16_t v) noexcept : _v(v)
38 [[nodiscard]]
constexpr uint16_t
const& intrinsic()
const noexcept
43 [[nodiscard]]
constexpr uint16_t& intrinsic()
noexcept
48 [[nodiscard]]
constexpr bool empty()
const noexcept
53 explicit operator bool()
const noexcept
60 [[nodiscard]]
constexpr uint16_t
number() const noexcept
67 [[nodiscard]] std::string_view
code4() const noexcept;
71 [[nodiscard]]
std::string_view code4_open_type() const noexcept;
75 [[nodiscard]]
bool left_to_right() const noexcept;
77 [[nodiscard]] constexpr friend
bool operator==(
iso_15924 const& lhs,
iso_15924 const& rhs) noexcept = default;
78 [[nodiscard]] constexpr friend auto operator<=>(
iso_15924 const& lhs,
iso_15924 const& rhs) noexcept = default;
88 return lhs.empty() or lhs == rhs;
99 [[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
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:60