17 uint16_t num_channels = 0;
18 uint32_t min_sample_rate = 0;
19 uint32_t max_sample_rate = 0;
20 surround_mode surround_mode_mask = surround_mode::none;
31 if (
auto tmp = lhs.num_channels <=> rhs.num_channels; tmp != std::strong_ordering::equal) {
34 if (
auto tmp = lhs.min_sample_rate <=> rhs.min_sample_rate; tmp != std::strong_ordering::equal) {
37 if (
auto tmp = lhs.surround_mode_mask <=> rhs.surround_mode_mask; tmp != std::strong_ordering::equal) {
40 return lhs.format <=> rhs.format;
43 [[nodiscard]]
constexpr friend bool
46 return std::tie(lhs.num_channels, lhs.min_sample_rate, lhs.max_sample_rate, lhs.surround_mode_mask) ==
47 std::tie(rhs.num_channels, rhs.min_sample_rate, rhs.max_sample_rate, rhs.surround_mode_mask) and
48 equal_except_bit_depth(lhs.format, rhs.format);
53 uint16_t num_channels,
54 uint32_t min_sample_rate,
55 uint32_t max_sample_rate,
56 surround_mode surround_mode_mask) noexcept :
58 num_channels(num_channels),
59 min_sample_rate(min_sample_rate),
60 max_sample_rate(max_sample_rate),
61 surround_mode_mask(surround_mode_mask)
65 [[nodiscard]]
constexpr bool empty()
const noexcept
67 return format.empty();
70 constexpr explicit operator bool()
const noexcept
78 "format={}, ch={}, rate={}:{}, surround={}",
83 rhs.surround_mode_mask);