20 uint16_t num_channels = 0;
21 uint32_t min_sample_rate = 0;
22 uint32_t max_sample_rate = 0;
23 surround_mode surround_mode_mask = surround_mode::none;
34 if (
auto tmp = lhs.num_channels <=> rhs.num_channels; tmp != std::strong_ordering::equal) {
37 if (
auto tmp = lhs.min_sample_rate <=> rhs.min_sample_rate; tmp != std::strong_ordering::equal) {
40 if (
auto tmp = lhs.surround_mode_mask <=> rhs.surround_mode_mask; tmp != std::strong_ordering::equal) {
43 return lhs.format <=> rhs.format;
46 [[nodiscard]]
constexpr friend bool
49 return std::tie(lhs.num_channels, lhs.min_sample_rate, lhs.max_sample_rate, lhs.surround_mode_mask) ==
50 std::tie(rhs.num_channels, rhs.min_sample_rate, rhs.max_sample_rate, rhs.surround_mode_mask) and
51 equal_except_bit_depth(lhs.format, rhs.format);
56 uint16_t num_channels,
57 uint32_t min_sample_rate,
58 uint32_t max_sample_rate,
59 surround_mode surround_mode_mask) noexcept :
61 num_channels(num_channels),
62 min_sample_rate(min_sample_rate),
63 max_sample_rate(max_sample_rate),
64 surround_mode_mask(surround_mode_mask)
68 [[nodiscard]]
constexpr bool empty()
const noexcept
70 return format.empty();
73 constexpr explicit operator bool()
const noexcept
81 "format={}, ch={}, rate={}:{}, surround={}",
86 rhs.surround_mode_mask);