8#include "../enum_metadata.hpp"
10namespace hi::inline
v1 {
12enum class audio_direction :
unsigned char { none = 0b00, input = 0b01, output = 0b10, bidirectional = 0b11 };
14[[nodiscard]]
constexpr audio_direction operator&(audio_direction
const& lhs, audio_direction
const& rhs)
noexcept
16 return static_cast<audio_direction
>(to_underlying(lhs) & to_underlying(rhs));
19[[nodiscard]]
constexpr audio_direction
operator|(audio_direction
const& lhs, audio_direction
const& rhs)
noexcept
21 return static_cast<audio_direction
>(to_underlying(lhs) | to_underlying(rhs));
24[[nodiscard]]
constexpr bool any(audio_direction
const &rhs)
noexcept
26 return to_bool(to_underlying(rhs));
30constexpr auto audio_direction_metadata = enum_metadata{
31 audio_direction::none,
"none",
32 audio_direction::input,
"input",
33 audio_direction::output,
"output",
34 audio_direction::bidirectional,
"bidirectional"
40template<
typename CharT>
41struct std::formatter<
hi::audio_direction, CharT> : std::formatter<std::string_view, CharT> {
42 auto format(hi::audio_direction
const& t,
auto& fc)
44 return std::formatter<std::string_view, CharT>::format(hi::audio_direction_metadata[t], fc);
DOXYGEN BUG.
Definition algorithm.hpp:15
constexpr alignment operator|(horizontal_alignment lhs, vertical_alignment rhs) noexcept
Combine vertical and horizontal alignment.
Definition alignment.hpp:200
The HikoGUI namespace.
Definition ascii.hpp:19