// @generated by thrift-lite.py; do not edit.

#include <array>
#include <string_view>

#include <dwarfs/thrift_lite/detail/protocol_helpers.h>

#include "compression_types.h"

using namespace std::string_view_literals;
namespace dtl = ::dwarfs::thrift_lite;
namespace dtld = ::dwarfs::thrift_lite::detail;

namespace dwarfs::thrift::compression {

flac_block_header::flac_block_header() = default;
flac_block_header::flac_block_header(flac_block_header const&) = default;
flac_block_header::flac_block_header(flac_block_header&&) noexcept = default;
auto flac_block_header::operator=(flac_block_header const&) -> flac_block_header& = default;
auto flac_block_header::operator=(flac_block_header&&) noexcept -> flac_block_header& = default;

auto flac_block_header::has_any_fields_for_write(::dtl::writer_options const& opts [[maybe_unused]]) const noexcept -> bool {
  return ::dtld::should_write_regular(opts, num_channels_) ||
         ::dtld::should_write_regular(opts, bits_per_sample_) ||
         ::dtld::should_write_regular(opts, flags_);
}

ricepp_block_header::ricepp_block_header() = default;
ricepp_block_header::ricepp_block_header(ricepp_block_header const&) = default;
ricepp_block_header::ricepp_block_header(ricepp_block_header&&) noexcept = default;
auto ricepp_block_header::operator=(ricepp_block_header const&) -> ricepp_block_header& = default;
auto ricepp_block_header::operator=(ricepp_block_header&&) noexcept -> ricepp_block_header& = default;

auto ricepp_block_header::has_any_fields_for_write(::dtl::writer_options const& opts [[maybe_unused]]) const noexcept -> bool {
  return ::dtld::should_write_regular(opts, block_size_) ||
         ::dtld::should_write_regular(opts, component_count_) ||
         ::dtld::should_write_regular(opts, bytes_per_sample_) ||
         ::dtld::should_write_regular(opts, unused_lsb_count_) ||
         ::dtld::should_write_regular(opts, big_endian_) ||
         ::dtld::should_write_regular(opts, ricepp_version_);
}

} // namespace dwarfs::thrift::compression

namespace dwarfs::thrift_lite {

} // namespace dwarfs::thrift_lite
