blob: 493532b16ab53978e24850747f5a2b83b6cac1aa [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#pragma once
#include <fidl/test.union/cpp/markers.h>
#include <fidl/test.union/cpp/natural_types.h>
#include <fidl/test.union/cpp/wire_types.h>
#ifdef __Fuchsia__
#include <fidl/test.union/cpp/natural_messaging.h>
#include <fidl/test.union/cpp/wire_messaging.h>
#endif // __Fuchsia__
#include <lib/fidl/cpp/wire_natural_conversions.h>
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wshadow"
namespace fidl {
namespace internal {
template <>
struct WireNaturalConversionTraits<::test_union::wire::Pizza, ::test_union::Pizza> {
static ::test_union::Pizza ToNatural(::test_union::wire::Pizza src);
static ::test_union::wire::Pizza ToWire(fidl::AnyArena& arena, ::test_union::Pizza src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::Pizza> {
using type = ::test_union::Pizza;
};
template <>
struct WireTypeForNaturalType<::test_union::Pizza> {
using type = ::test_union::wire::Pizza;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::Pasta, ::test_union::Pasta> {
static ::test_union::Pasta ToNatural(::test_union::wire::Pasta src);
static ::test_union::wire::Pasta ToWire(fidl::AnyArena& arena, ::test_union::Pasta src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::Pasta> {
using type = ::test_union::Pasta;
};
template <>
struct WireTypeForNaturalType<::test_union::Pasta> {
using type = ::test_union::wire::Pasta;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::NullableUnionStruct, ::test_union::NullableUnionStruct> {
static ::test_union::NullableUnionStruct ToNatural(::test_union::wire::NullableUnionStruct src);
static ::test_union::wire::NullableUnionStruct ToWire(fidl::AnyArena& arena, ::test_union::NullableUnionStruct src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::NullableUnionStruct> {
using type = ::test_union::NullableUnionStruct;
};
template <>
struct WireTypeForNaturalType<::test_union::NullableUnionStruct> {
using type = ::test_union::wire::NullableUnionStruct;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::Empty, ::test_union::Empty> {
static ::test_union::Empty ToNatural(::test_union::wire::Empty src);
static ::test_union::wire::Empty ToWire(fidl::AnyArena& arena, ::test_union::Empty src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::Empty> {
using type = ::test_union::Empty;
};
template <>
struct WireTypeForNaturalType<::test_union::Empty> {
using type = ::test_union::wire::Empty;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse, ::test_union::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse> {
static ::test_union::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse ToNatural(::test_union::wire::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse src);
static ::test_union::wire::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse ToWire(fidl::AnyArena& arena, ::test_union::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse> {
using type = ::test_union::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse;
};
template <>
struct WireTypeForNaturalType<::test_union::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse> {
using type = ::test_union::wire::TestProtocolStrictUnionHenceResponseMayBeStackAllocatedResponse;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse, ::test_union::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse> {
static ::test_union::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse ToNatural(::test_union::wire::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse src);
static ::test_union::wire::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse ToWire(fidl::AnyArena& arena, ::test_union::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse> {
using type = ::test_union::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse;
};
template <>
struct WireTypeForNaturalType<::test_union::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse> {
using type = ::test_union::wire::TestProtocolFlexibleUnionHenceResponseMustBeHeapAllocatedResponse;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::StructWithNullableUnion, ::test_union::StructWithNullableUnion> {
static ::test_union::StructWithNullableUnion ToNatural(::test_union::wire::StructWithNullableUnion src);
static ::test_union::wire::StructWithNullableUnion ToWire(fidl::AnyArena& arena, ::test_union::StructWithNullableUnion src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StructWithNullableUnion> {
using type = ::test_union::StructWithNullableUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::StructWithNullableUnion> {
using type = ::test_union::wire::StructWithNullableUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::UnionSandwich, ::test_union::UnionSandwich> {
static ::test_union::UnionSandwich ToNatural(::test_union::wire::UnionSandwich src);
static ::test_union::wire::UnionSandwich ToWire(fidl::AnyArena& arena, ::test_union::UnionSandwich src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::UnionSandwich> {
using type = ::test_union::UnionSandwich;
};
template <>
struct WireTypeForNaturalType<::test_union::UnionSandwich> {
using type = ::test_union::wire::UnionSandwich;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::PizzaOrPasta, ::test_union::PizzaOrPasta> {
static ::test_union::PizzaOrPasta ToNatural(::test_union::wire::PizzaOrPasta src);
static ::test_union::wire::PizzaOrPasta ToWire(fidl::AnyArena& arena, ::test_union::PizzaOrPasta src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::PizzaOrPasta>, std::unique_ptr<::test_union::PizzaOrPasta>> {
static std::unique_ptr<::test_union::PizzaOrPasta> ToNatural(::fidl::WireOptional<::test_union::wire::PizzaOrPasta> src);
static ::fidl::WireOptional<::test_union::wire::PizzaOrPasta> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::PizzaOrPasta> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::PizzaOrPasta> {
using type = ::test_union::PizzaOrPasta;
};
template <>
struct WireTypeForNaturalType<::test_union::PizzaOrPasta> {
using type = ::test_union::wire::PizzaOrPasta;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::ExplicitPizzaOrPasta, ::test_union::ExplicitPizzaOrPasta> {
static ::test_union::ExplicitPizzaOrPasta ToNatural(::test_union::wire::ExplicitPizzaOrPasta src);
static ::test_union::wire::ExplicitPizzaOrPasta ToWire(fidl::AnyArena& arena, ::test_union::ExplicitPizzaOrPasta src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::ExplicitPizzaOrPasta>, std::unique_ptr<::test_union::ExplicitPizzaOrPasta>> {
static std::unique_ptr<::test_union::ExplicitPizzaOrPasta> ToNatural(::fidl::WireOptional<::test_union::wire::ExplicitPizzaOrPasta> src);
static ::fidl::WireOptional<::test_union::wire::ExplicitPizzaOrPasta> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::ExplicitPizzaOrPasta> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitPizzaOrPasta> {
using type = ::test_union::ExplicitPizzaOrPasta;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitPizzaOrPasta> {
using type = ::test_union::wire::ExplicitPizzaOrPasta;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::FlexiblePizzaOrPasta, ::test_union::FlexiblePizzaOrPasta> {
static ::test_union::FlexiblePizzaOrPasta ToNatural(::test_union::wire::FlexiblePizzaOrPasta src);
static ::test_union::wire::FlexiblePizzaOrPasta ToWire(fidl::AnyArena& arena, ::test_union::FlexiblePizzaOrPasta src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::FlexiblePizzaOrPasta>, std::unique_ptr<::test_union::FlexiblePizzaOrPasta>> {
static std::unique_ptr<::test_union::FlexiblePizzaOrPasta> ToNatural(::fidl::WireOptional<::test_union::wire::FlexiblePizzaOrPasta> src);
static ::fidl::WireOptional<::test_union::wire::FlexiblePizzaOrPasta> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::FlexiblePizzaOrPasta> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::FlexiblePizzaOrPasta> {
using type = ::test_union::FlexiblePizzaOrPasta;
};
template <>
struct WireTypeForNaturalType<::test_union::FlexiblePizzaOrPasta> {
using type = ::test_union::wire::FlexiblePizzaOrPasta;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::StrictPizzaOrPasta, ::test_union::StrictPizzaOrPasta> {
static ::test_union::StrictPizzaOrPasta ToNatural(::test_union::wire::StrictPizzaOrPasta src);
static ::test_union::wire::StrictPizzaOrPasta ToWire(fidl::AnyArena& arena, ::test_union::StrictPizzaOrPasta src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::StrictPizzaOrPasta>, std::unique_ptr<::test_union::StrictPizzaOrPasta>> {
static std::unique_ptr<::test_union::StrictPizzaOrPasta> ToNatural(::fidl::WireOptional<::test_union::wire::StrictPizzaOrPasta> src);
static ::fidl::WireOptional<::test_union::wire::StrictPizzaOrPasta> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::StrictPizzaOrPasta> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictPizzaOrPasta> {
using type = ::test_union::StrictPizzaOrPasta;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictPizzaOrPasta> {
using type = ::test_union::wire::StrictPizzaOrPasta;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::Union, ::test_union::Union> {
static ::test_union::Union ToNatural(::test_union::wire::Union src);
static ::test_union::wire::Union ToWire(fidl::AnyArena& arena, ::test_union::Union src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::Union>, std::unique_ptr<::test_union::Union>> {
static std::unique_ptr<::test_union::Union> ToNatural(::fidl::WireOptional<::test_union::wire::Union> src);
static ::fidl::WireOptional<::test_union::wire::Union> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::Union> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::Union> {
using type = ::test_union::Union;
};
template <>
struct WireTypeForNaturalType<::test_union::Union> {
using type = ::test_union::wire::Union;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::FlexibleUnion, ::test_union::FlexibleUnion> {
static ::test_union::FlexibleUnion ToNatural(::test_union::wire::FlexibleUnion src);
static ::test_union::wire::FlexibleUnion ToWire(fidl::AnyArena& arena, ::test_union::FlexibleUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::FlexibleUnion>, std::unique_ptr<::test_union::FlexibleUnion>> {
static std::unique_ptr<::test_union::FlexibleUnion> ToNatural(::fidl::WireOptional<::test_union::wire::FlexibleUnion> src);
static ::fidl::WireOptional<::test_union::wire::FlexibleUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::FlexibleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::FlexibleUnion> {
using type = ::test_union::FlexibleUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::FlexibleUnion> {
using type = ::test_union::wire::FlexibleUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::StrictUnion, ::test_union::StrictUnion> {
static ::test_union::StrictUnion ToNatural(::test_union::wire::StrictUnion src);
static ::test_union::wire::StrictUnion ToWire(fidl::AnyArena& arena, ::test_union::StrictUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::StrictUnion>, std::unique_ptr<::test_union::StrictUnion>> {
static std::unique_ptr<::test_union::StrictUnion> ToNatural(::fidl::WireOptional<::test_union::wire::StrictUnion> src);
static ::fidl::WireOptional<::test_union::wire::StrictUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::StrictUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictUnion> {
using type = ::test_union::StrictUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictUnion> {
using type = ::test_union::wire::StrictUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::FieldCollision, ::test_union::FieldCollision> {
static ::test_union::FieldCollision ToNatural(::test_union::wire::FieldCollision src);
static ::test_union::wire::FieldCollision ToWire(fidl::AnyArena& arena, ::test_union::FieldCollision src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::FieldCollision>, std::unique_ptr<::test_union::FieldCollision>> {
static std::unique_ptr<::test_union::FieldCollision> ToNatural(::fidl::WireOptional<::test_union::wire::FieldCollision> src);
static ::fidl::WireOptional<::test_union::wire::FieldCollision> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::FieldCollision> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::FieldCollision> {
using type = ::test_union::FieldCollision;
};
template <>
struct WireTypeForNaturalType<::test_union::FieldCollision> {
using type = ::test_union::wire::FieldCollision;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::ExplicitUnion, ::test_union::ExplicitUnion> {
static ::test_union::ExplicitUnion ToNatural(::test_union::wire::ExplicitUnion src);
static ::test_union::wire::ExplicitUnion ToWire(fidl::AnyArena& arena, ::test_union::ExplicitUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::ExplicitUnion>, std::unique_ptr<::test_union::ExplicitUnion>> {
static std::unique_ptr<::test_union::ExplicitUnion> ToNatural(::fidl::WireOptional<::test_union::wire::ExplicitUnion> src);
static ::fidl::WireOptional<::test_union::wire::ExplicitUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::ExplicitUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitUnion> {
using type = ::test_union::ExplicitUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitUnion> {
using type = ::test_union::wire::ExplicitUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::ReverseOrdinalUnion, ::test_union::ReverseOrdinalUnion> {
static ::test_union::ReverseOrdinalUnion ToNatural(::test_union::wire::ReverseOrdinalUnion src);
static ::test_union::wire::ReverseOrdinalUnion ToWire(fidl::AnyArena& arena, ::test_union::ReverseOrdinalUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::ReverseOrdinalUnion>, std::unique_ptr<::test_union::ReverseOrdinalUnion>> {
static std::unique_ptr<::test_union::ReverseOrdinalUnion> ToNatural(::fidl::WireOptional<::test_union::wire::ReverseOrdinalUnion> src);
static ::fidl::WireOptional<::test_union::wire::ReverseOrdinalUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::ReverseOrdinalUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ReverseOrdinalUnion> {
using type = ::test_union::ReverseOrdinalUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::ReverseOrdinalUnion> {
using type = ::test_union::wire::ReverseOrdinalUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::FlexibleFoo, ::test_union::FlexibleFoo> {
static ::test_union::FlexibleFoo ToNatural(::test_union::wire::FlexibleFoo src);
static ::test_union::wire::FlexibleFoo ToWire(fidl::AnyArena& arena, ::test_union::FlexibleFoo src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::FlexibleFoo>, std::unique_ptr<::test_union::FlexibleFoo>> {
static std::unique_ptr<::test_union::FlexibleFoo> ToNatural(::fidl::WireOptional<::test_union::wire::FlexibleFoo> src);
static ::fidl::WireOptional<::test_union::wire::FlexibleFoo> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::FlexibleFoo> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::FlexibleFoo> {
using type = ::test_union::FlexibleFoo;
};
template <>
struct WireTypeForNaturalType<::test_union::FlexibleFoo> {
using type = ::test_union::wire::FlexibleFoo;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::StrictFoo, ::test_union::StrictFoo> {
static ::test_union::StrictFoo ToNatural(::test_union::wire::StrictFoo src);
static ::test_union::wire::StrictFoo ToWire(fidl::AnyArena& arena, ::test_union::StrictFoo src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::StrictFoo>, std::unique_ptr<::test_union::StrictFoo>> {
static std::unique_ptr<::test_union::StrictFoo> ToNatural(::fidl::WireOptional<::test_union::wire::StrictFoo> src);
static ::fidl::WireOptional<::test_union::wire::StrictFoo> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::StrictFoo> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictFoo> {
using type = ::test_union::StrictFoo;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictFoo> {
using type = ::test_union::wire::StrictFoo;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::ExplicitFoo, ::test_union::ExplicitFoo> {
static ::test_union::ExplicitFoo ToNatural(::test_union::wire::ExplicitFoo src);
static ::test_union::wire::ExplicitFoo ToWire(fidl::AnyArena& arena, ::test_union::ExplicitFoo src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::ExplicitFoo>, std::unique_ptr<::test_union::ExplicitFoo>> {
static std::unique_ptr<::test_union::ExplicitFoo> ToNatural(::fidl::WireOptional<::test_union::wire::ExplicitFoo> src);
static ::fidl::WireOptional<::test_union::wire::ExplicitFoo> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::ExplicitFoo> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitFoo> {
using type = ::test_union::ExplicitFoo;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitFoo> {
using type = ::test_union::wire::ExplicitFoo;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::ExplicitStrictFoo, ::test_union::ExplicitStrictFoo> {
static ::test_union::ExplicitStrictFoo ToNatural(::test_union::wire::ExplicitStrictFoo src);
static ::test_union::wire::ExplicitStrictFoo ToWire(fidl::AnyArena& arena, ::test_union::ExplicitStrictFoo src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::ExplicitStrictFoo>, std::unique_ptr<::test_union::ExplicitStrictFoo>> {
static std::unique_ptr<::test_union::ExplicitStrictFoo> ToNatural(::fidl::WireOptional<::test_union::wire::ExplicitStrictFoo> src);
static ::fidl::WireOptional<::test_union::wire::ExplicitStrictFoo> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::ExplicitStrictFoo> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitStrictFoo> {
using type = ::test_union::ExplicitStrictFoo;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitStrictFoo> {
using type = ::test_union::wire::ExplicitStrictFoo;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::OlderSimpleUnion, ::test_union::OlderSimpleUnion> {
static ::test_union::OlderSimpleUnion ToNatural(::test_union::wire::OlderSimpleUnion src);
static ::test_union::wire::OlderSimpleUnion ToWire(fidl::AnyArena& arena, ::test_union::OlderSimpleUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::OlderSimpleUnion>, std::unique_ptr<::test_union::OlderSimpleUnion>> {
static std::unique_ptr<::test_union::OlderSimpleUnion> ToNatural(::fidl::WireOptional<::test_union::wire::OlderSimpleUnion> src);
static ::fidl::WireOptional<::test_union::wire::OlderSimpleUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::OlderSimpleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::OlderSimpleUnion> {
using type = ::test_union::OlderSimpleUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::OlderSimpleUnion> {
using type = ::test_union::wire::OlderSimpleUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::NewerSimpleUnion, ::test_union::NewerSimpleUnion> {
static ::test_union::NewerSimpleUnion ToNatural(::test_union::wire::NewerSimpleUnion src);
static ::test_union::wire::NewerSimpleUnion ToWire(fidl::AnyArena& arena, ::test_union::NewerSimpleUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::NewerSimpleUnion>, std::unique_ptr<::test_union::NewerSimpleUnion>> {
static std::unique_ptr<::test_union::NewerSimpleUnion> ToNatural(::fidl::WireOptional<::test_union::wire::NewerSimpleUnion> src);
static ::fidl::WireOptional<::test_union::wire::NewerSimpleUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::NewerSimpleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::NewerSimpleUnion> {
using type = ::test_union::NewerSimpleUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::NewerSimpleUnion> {
using type = ::test_union::wire::NewerSimpleUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::StrictSimpleUnion, ::test_union::StrictSimpleUnion> {
static ::test_union::StrictSimpleUnion ToNatural(::test_union::wire::StrictSimpleUnion src);
static ::test_union::wire::StrictSimpleUnion ToWire(fidl::AnyArena& arena, ::test_union::StrictSimpleUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::StrictSimpleUnion>, std::unique_ptr<::test_union::StrictSimpleUnion>> {
static std::unique_ptr<::test_union::StrictSimpleUnion> ToNatural(::fidl::WireOptional<::test_union::wire::StrictSimpleUnion> src);
static ::fidl::WireOptional<::test_union::wire::StrictSimpleUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::StrictSimpleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictSimpleUnion> {
using type = ::test_union::StrictSimpleUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictSimpleUnion> {
using type = ::test_union::wire::StrictSimpleUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::UnionContainingEmptyStruct, ::test_union::UnionContainingEmptyStruct> {
static ::test_union::UnionContainingEmptyStruct ToNatural(::test_union::wire::UnionContainingEmptyStruct src);
static ::test_union::wire::UnionContainingEmptyStruct ToWire(fidl::AnyArena& arena, ::test_union::UnionContainingEmptyStruct src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::UnionContainingEmptyStruct>, std::unique_ptr<::test_union::UnionContainingEmptyStruct>> {
static std::unique_ptr<::test_union::UnionContainingEmptyStruct> ToNatural(::fidl::WireOptional<::test_union::wire::UnionContainingEmptyStruct> src);
static ::fidl::WireOptional<::test_union::wire::UnionContainingEmptyStruct> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::UnionContainingEmptyStruct> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::UnionContainingEmptyStruct> {
using type = ::test_union::UnionContainingEmptyStruct;
};
template <>
struct WireTypeForNaturalType<::test_union::UnionContainingEmptyStruct> {
using type = ::test_union::wire::UnionContainingEmptyStruct;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::StrictBoundedUnion, ::test_union::StrictBoundedUnion> {
static ::test_union::StrictBoundedUnion ToNatural(::test_union::wire::StrictBoundedUnion src);
static ::test_union::wire::StrictBoundedUnion ToWire(fidl::AnyArena& arena, ::test_union::StrictBoundedUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::StrictBoundedUnion>, std::unique_ptr<::test_union::StrictBoundedUnion>> {
static std::unique_ptr<::test_union::StrictBoundedUnion> ToNatural(::fidl::WireOptional<::test_union::wire::StrictBoundedUnion> src);
static ::fidl::WireOptional<::test_union::wire::StrictBoundedUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::StrictBoundedUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictBoundedUnion> {
using type = ::test_union::StrictBoundedUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictBoundedUnion> {
using type = ::test_union::wire::StrictBoundedUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::ExplicitFlexibleUnion, ::test_union::ExplicitFlexibleUnion> {
static ::test_union::ExplicitFlexibleUnion ToNatural(::test_union::wire::ExplicitFlexibleUnion src);
static ::test_union::wire::ExplicitFlexibleUnion ToWire(fidl::AnyArena& arena, ::test_union::ExplicitFlexibleUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::ExplicitFlexibleUnion>, std::unique_ptr<::test_union::ExplicitFlexibleUnion>> {
static std::unique_ptr<::test_union::ExplicitFlexibleUnion> ToNatural(::fidl::WireOptional<::test_union::wire::ExplicitFlexibleUnion> src);
static ::fidl::WireOptional<::test_union::wire::ExplicitFlexibleUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::ExplicitFlexibleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitFlexibleUnion> {
using type = ::test_union::ExplicitFlexibleUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitFlexibleUnion> {
using type = ::test_union::wire::ExplicitFlexibleUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::UnionWithAttributes, ::test_union::UnionWithAttributes> {
static ::test_union::UnionWithAttributes ToNatural(::test_union::wire::UnionWithAttributes src);
static ::test_union::wire::UnionWithAttributes ToWire(fidl::AnyArena& arena, ::test_union::UnionWithAttributes src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::UnionWithAttributes>, std::unique_ptr<::test_union::UnionWithAttributes>> {
static std::unique_ptr<::test_union::UnionWithAttributes> ToNatural(::fidl::WireOptional<::test_union::wire::UnionWithAttributes> src);
static ::fidl::WireOptional<::test_union::wire::UnionWithAttributes> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::UnionWithAttributes> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::UnionWithAttributes> {
using type = ::test_union::UnionWithAttributes;
};
template <>
struct WireTypeForNaturalType<::test_union::UnionWithAttributes> {
using type = ::test_union::wire::UnionWithAttributes;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::EmptyFlexibleUnion, ::test_union::EmptyFlexibleUnion> {
static ::test_union::EmptyFlexibleUnion ToNatural(::test_union::wire::EmptyFlexibleUnion src);
static ::test_union::wire::EmptyFlexibleUnion ToWire(fidl::AnyArena& arena, ::test_union::EmptyFlexibleUnion src);
};
template <>
struct WireNaturalConversionTraits<::fidl::WireOptional<::test_union::wire::EmptyFlexibleUnion>, std::unique_ptr<::test_union::EmptyFlexibleUnion>> {
static std::unique_ptr<::test_union::EmptyFlexibleUnion> ToNatural(::fidl::WireOptional<::test_union::wire::EmptyFlexibleUnion> src);
static ::fidl::WireOptional<::test_union::wire::EmptyFlexibleUnion> ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::EmptyFlexibleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::EmptyFlexibleUnion> {
using type = ::test_union::EmptyFlexibleUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::EmptyFlexibleUnion> {
using type = ::test_union::wire::EmptyFlexibleUnion;
};
#ifdef __Fuchsia__
template <>
struct WireNaturalConversionTraits<::fidl::WireResponse<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated>, ::fidl::Response<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated>> {
static ::fidl::Response<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated> ToNatural(::fidl::WireResponse<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated> src);
static ::fidl::WireResponse<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated> ToWire(fidl::AnyArena& arena, ::fidl::Response<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated> src);
};
template <>
struct NaturalTypeForWireType<::fidl::WireResponse<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated>> {
using type = ::fidl::Response<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated>;
};
template <>
struct WireTypeForNaturalType<::fidl::Response<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated>> {
using type = ::fidl::WireResponse<::test_union::TestProtocol::StrictUnionHenceResponseMayBeStackAllocated>;
};
template <>
struct WireNaturalConversionTraits<::fidl::WireResponse<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated>, ::fidl::Response<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated>> {
static ::fidl::Response<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated> ToNatural(::fidl::WireResponse<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated> src);
static ::fidl::WireResponse<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated> ToWire(fidl::AnyArena& arena, ::fidl::Response<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated> src);
};
template <>
struct NaturalTypeForWireType<::fidl::WireResponse<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated>> {
using type = ::fidl::Response<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated>;
};
template <>
struct WireTypeForNaturalType<::fidl::Response<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated>> {
using type = ::fidl::WireResponse<::test_union::TestProtocol::FlexibleUnionHenceResponseMustBeHeapAllocated>;
};
#endif // __Fuchsia__
#pragma clang diagnostic pop
} // namespace internal
} // namespace fidl