// WARNING: This file is machine generated by fidlgen.

#pragma once

#include <fidl/test/emptystruct/llcpp/fidl.h>

// For ::fidl::fuzzing::DecoderEncoderImpl.
#include <lib/fidl/cpp/fuzzing/decoder_encoder.h>

namespace fuzzing {

inline constexpr ::std::array<::fidl::fuzzing::DecoderEncoder, 5>
    fidl_test_emptystruct_decoder_encoders = {
        ::fidl::fuzzing::DecoderEncoderImpl<
            ::fidl_test_emptystruct::wire::Empty>,
        ::fidl::fuzzing::DecoderEncoderImpl<
            ::fidl::WireRequest<::fidl_test_emptystruct::EmptyProtocol::Send>>,
        ::fidl::fuzzing::DecoderEncoderImpl<::fidl::WireResponse<
            ::fidl_test_emptystruct::EmptyProtocol::Receive>>,
        ::fidl::fuzzing::DecoderEncoderImpl<::fidl::WireRequest<
            ::fidl_test_emptystruct::EmptyProtocol::SendAndReceive>>,
        ::fidl::fuzzing::DecoderEncoderImpl<::fidl::WireResponse<
            ::fidl_test_emptystruct::EmptyProtocol::SendAndReceive>>,
};

}  // namespace fuzzing
