blob: 67038e6235042ceeed13de0aac58d6645e048133 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#include <fidl/test.union/cpp/type_conversions.h>
namespace fidl {
namespace internal {
::test_union::StructWithNullableXUnion
WireNaturalConversionTraits<::test_union::wire::StructWithNullableXUnion,
::test_union::StructWithNullableXUnion>::
ToNatural(::test_union::wire::StructWithNullableXUnion src) {
return ::test_union::StructWithNullableXUnion(
WireNaturalConversionTraits<
::test_union::wire::OlderSimpleUnion,
::std::unique_ptr<::test_union::OlderSimpleUnion>>::
ToNatural(std::move(src.x1)));
}
::test_union::wire::StructWithNullableXUnion
WireNaturalConversionTraits<::test_union::wire::StructWithNullableXUnion,
::test_union::StructWithNullableXUnion>::
ToWire(fidl::AnyArena& arena, ::test_union::StructWithNullableXUnion src) {
return ::test_union::wire::StructWithNullableXUnion{
.x1 = WireNaturalConversionTraits<
::test_union::wire::OlderSimpleUnion,
::std::unique_ptr<::test_union::OlderSimpleUnion>>::
ToWire(arena, std::move(src.x1())),
};
}
::test_union::TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse
WireNaturalConversionTraits<
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse,
::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse>::
ToNatural(
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse
src) {
return ::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse(
WireNaturalConversionTraits<
::test_union::wire::StrictBoundedXUnion,
::test_union::StrictBoundedXUnion>::ToNatural(std::move(src.xu)));
}
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse
WireNaturalConversionTraits<
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse,
::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse>::
ToWire(
fidl::AnyArena& arena,
::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse
src) {
return ::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse{
.xu = WireNaturalConversionTraits<
::test_union::wire::StrictBoundedXUnion,
::test_union::StrictBoundedXUnion>::ToWire(arena,
std::move(src.xu())),
};
}
::test_union::Pizza WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToNatural(::test_union::wire::Pizza src) {
return ::test_union::Pizza(
WireNaturalConversionTraits<
::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::ToNatural(std::move(src.toppings)));
}
::test_union::wire::Pizza WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToWire(fidl::AnyArena& arena,
::test_union::Pizza src) {
return ::test_union::wire::Pizza{
.toppings = WireNaturalConversionTraits<
::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::ToWire(arena,
std::move(src.toppings())),
};
}
::test_union::Pasta WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToNatural(::test_union::wire::Pasta src) {
return ::test_union::Pasta(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::ToNatural(
std::move(src.sauce)));
}
::test_union::wire::Pasta WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToWire(fidl::AnyArena& arena,
::test_union::Pasta src) {
return ::test_union::wire::Pasta{
.sauce = WireNaturalConversionTraits<
::fidl::StringView, ::std::string>::ToWire(arena,
std::move(src.sauce())),
};
}
::test_union::TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse
WireNaturalConversionTraits<
::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse,
::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse>::
ToNatural(
::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse
src) {
return ::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse(
WireNaturalConversionTraits<
::test_union::wire::OlderSimpleUnion,
::test_union::OlderSimpleUnion>::ToNatural(std::move(src.xu)));
}
::test_union::wire::TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse
WireNaturalConversionTraits<
::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse,
::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse>::
ToWire(
fidl::AnyArena& arena,
::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse
src) {
return ::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse{
.xu = WireNaturalConversionTraits<
::test_union::wire::OlderSimpleUnion,
::test_union::OlderSimpleUnion>::ToWire(arena,
std::move(src.xu())),
};
}
::test_union::NullableUnionStruct
WireNaturalConversionTraits<::test_union::wire::NullableUnionStruct,
::test_union::NullableUnionStruct>::
ToNatural(::test_union::wire::NullableUnionStruct src) {
return ::test_union::NullableUnionStruct(
WireNaturalConversionTraits<::test_union::wire::Union,
::std::unique_ptr<::test_union::Union>>::
ToNatural(std::move(src.the_union)));
}
::test_union::wire::NullableUnionStruct WireNaturalConversionTraits<
::test_union::wire::NullableUnionStruct,
::test_union::NullableUnionStruct>::ToWire(fidl::AnyArena& arena,
::test_union::NullableUnionStruct
src) {
return ::test_union::wire::NullableUnionStruct{
.the_union = WireNaturalConversionTraits<
::test_union::wire::Union,
::std::unique_ptr<::test_union::Union>>::ToWire(arena,
std::move(
src.the_union())),
};
}
::test_union::UnionSandwich WireNaturalConversionTraits<
::test_union::wire::UnionSandwich,
::test_union::UnionSandwich>::ToNatural(::test_union::wire::UnionSandwich
src) {
return ::test_union::UnionSandwich({
.a = WireNaturalConversionTraits<uint32_t, uint32_t>::ToNatural(
std::move(src.a)),
.u = WireNaturalConversionTraits<
::test_union::wire::ExplicitXUnion,
::test_union::ExplicitXUnion>::ToNatural(std::move(src.u)),
.b = WireNaturalConversionTraits<uint32_t, uint32_t>::ToNatural(
std::move(src.b)),
});
}
::test_union::wire::UnionSandwich WireNaturalConversionTraits<
::test_union::wire::UnionSandwich,
::test_union::UnionSandwich>::ToWire(fidl::AnyArena& arena,
::test_union::UnionSandwich src) {
return ::test_union::wire::UnionSandwich{
.a = WireNaturalConversionTraits<uint32_t, uint32_t>::ToWire(
arena, std::move(src.a())),
.u = WireNaturalConversionTraits<
::test_union::wire::ExplicitXUnion,
::test_union::ExplicitXUnion>::ToWire(arena, std::move(src.u())),
.b = WireNaturalConversionTraits<uint32_t, uint32_t>::ToWire(
arena, std::move(src.b())),
};
}
::test_union::Empty WireNaturalConversionTraits<
::test_union::wire::Empty,
::test_union::Empty>::ToNatural(::test_union::wire::Empty src) {
return ::test_union::Empty(
WireNaturalConversionTraits<uint8_t, uint8_t>::ToNatural(
std::move(src.__reserved)));
}
::test_union::wire::Empty WireNaturalConversionTraits<
::test_union::wire::Empty,
::test_union::Empty>::ToWire(fidl::AnyArena& arena,
::test_union::Empty src) {
return ::test_union::wire::Empty{
.__reserved = WireNaturalConversionTraits<uint8_t, uint8_t>::ToWire(
arena, std::move(src.__reserved())),
};
}
::test_union::UnionWithAttributes
WireNaturalConversionTraits<::test_union::wire::UnionWithAttributes,
::test_union::UnionWithAttributes>::
ToNatural(::test_union::wire::UnionWithAttributes src) {
switch (src.Which()) {
case ::test_union::wire::UnionWithAttributes::Tag::kX:
return ::test_union::UnionWithAttributes::WithX(
WireNaturalConversionTraits<int64_t, int64_t>::ToNatural(
std::move(src.x())));
default:
return ::test_union::UnionWithAttributes();
}
}
::test_union::wire::UnionWithAttributes WireNaturalConversionTraits<
::test_union::wire::UnionWithAttributes,
::test_union::UnionWithAttributes>::ToWire(fidl::AnyArena& arena,
::test_union::UnionWithAttributes
src) {
switch (src.Which()) {
case ::test_union::UnionWithAttributes::Tag::kX:
return ::test_union::wire::UnionWithAttributes::WithX(
arena, WireNaturalConversionTraits<int64_t, int64_t>::ToWire(
arena, std::move(src.x().value())));
default:
return ::test_union::wire::UnionWithAttributes();
}
}
std::unique_ptr<::test_union::UnionWithAttributes> WireNaturalConversionTraits<
::test_union::wire::UnionWithAttributes,
std::unique_ptr<::test_union::UnionWithAttributes>>::
ToNatural(::test_union::wire::UnionWithAttributes src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::UnionWithAttributes>(
WireNaturalConversionTraits<
::test_union::wire::UnionWithAttributes,
::test_union::UnionWithAttributes>::ToNatural(std::move(src)));
}
::test_union::wire::UnionWithAttributes WireNaturalConversionTraits<
::test_union::wire::UnionWithAttributes,
std::unique_ptr<::test_union::UnionWithAttributes>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::UnionWithAttributes> src) {
if (!src) {
return ::test_union::wire::UnionWithAttributes();
}
return WireNaturalConversionTraits<
::test_union::wire::UnionWithAttributes,
::test_union::UnionWithAttributes>::ToWire(arena, std::move(*src));
}
::test_union::Union WireNaturalConversionTraits<
::test_union::wire::Union,
::test_union::Union>::ToNatural(::test_union::wire::Union src) {
switch (src.Which()) {
case ::test_union::wire::Union::Tag::kPrimitive:
return ::test_union::Union::WithPrimitive(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.primitive())));
case ::test_union::wire::Union::Tag::kStringNeedsConstructor:
return ::test_union::Union::WithStringNeedsConstructor(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.string_needs_constructor())));
case ::test_union::wire::Union::Tag::kVectorStringAlsoNeedsConstructor:
return ::test_union::Union::WithVectorStringAlsoNeedsConstructor(
WireNaturalConversionTraits<::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::
ToNatural(std::move(src.vector_string_also_needs_constructor())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::Union WireNaturalConversionTraits<
::test_union::wire::Union,
::test_union::Union>::ToWire(fidl::AnyArena& arena,
::test_union::Union src) {
switch (src.Which()) {
case ::test_union::Union::Tag::kPrimitive:
return ::test_union::wire::Union::WithPrimitive(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.primitive().value())));
case ::test_union::Union::Tag::kStringNeedsConstructor:
return ::test_union::wire::Union::WithStringNeedsConstructor(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.string_needs_constructor().value())));
case ::test_union::Union::Tag::kVectorStringAlsoNeedsConstructor:
return ::test_union::wire::Union::WithVectorStringAlsoNeedsConstructor(
arena,
WireNaturalConversionTraits<::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::
ToWire(arena,
std::move(
src.vector_string_also_needs_constructor().value())));
}
}
std::unique_ptr<::test_union::Union> WireNaturalConversionTraits<
::test_union::wire::Union,
std::unique_ptr<::test_union::Union>>::ToNatural(::test_union::wire::Union
src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::Union>(
WireNaturalConversionTraits<
::test_union::wire::Union,
::test_union::Union>::ToNatural(std::move(src)));
}
::test_union::wire::Union WireNaturalConversionTraits<
::test_union::wire::Union, std::unique_ptr<::test_union::Union>>::
ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_union::Union> src) {
if (!src) {
return ::test_union::wire::Union();
}
return WireNaturalConversionTraits<::test_union::wire::Union,
::test_union::Union>::ToWire(arena,
std::move(
*src));
}
::test_union::StrictUnion WireNaturalConversionTraits<
::test_union::wire::StrictUnion,
::test_union::StrictUnion>::ToNatural(::test_union::wire::StrictUnion src) {
switch (src.Which()) {
case ::test_union::wire::StrictUnion::Tag::kPrimitive:
return ::test_union::StrictUnion::WithPrimitive(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.primitive())));
case ::test_union::wire::StrictUnion::Tag::kStringNeedsConstructor:
return ::test_union::StrictUnion::WithStringNeedsConstructor(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.string_needs_constructor())));
case ::test_union::wire::StrictUnion::Tag::
kVectorStringAlsoNeedsConstructor:
return ::test_union::StrictUnion::WithVectorStringAlsoNeedsConstructor(
WireNaturalConversionTraits<::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::
ToNatural(std::move(src.vector_string_also_needs_constructor())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::StrictUnion WireNaturalConversionTraits<
::test_union::wire::StrictUnion,
::test_union::StrictUnion>::ToWire(fidl::AnyArena& arena,
::test_union::StrictUnion src) {
switch (src.Which()) {
case ::test_union::StrictUnion::Tag::kPrimitive:
return ::test_union::wire::StrictUnion::WithPrimitive(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.primitive().value())));
case ::test_union::StrictUnion::Tag::kStringNeedsConstructor:
return ::test_union::wire::StrictUnion::WithStringNeedsConstructor(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.string_needs_constructor().value())));
case ::test_union::StrictUnion::Tag::kVectorStringAlsoNeedsConstructor:
return ::test_union::wire::StrictUnion::
WithVectorStringAlsoNeedsConstructor(
arena,
WireNaturalConversionTraits<
::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::
ToWire(
arena,
std::move(
src.vector_string_also_needs_constructor().value())));
}
}
std::unique_ptr<::test_union::StrictUnion>
WireNaturalConversionTraits<::test_union::wire::StrictUnion,
std::unique_ptr<::test_union::StrictUnion>>::
ToNatural(::test_union::wire::StrictUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::StrictUnion>(
WireNaturalConversionTraits<
::test_union::wire::StrictUnion,
::test_union::StrictUnion>::ToNatural(std::move(src)));
}
::test_union::wire::StrictUnion
WireNaturalConversionTraits<::test_union::wire::StrictUnion,
std::unique_ptr<::test_union::StrictUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::StrictUnion> src) {
if (!src) {
return ::test_union::wire::StrictUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::StrictUnion,
::test_union::StrictUnion>::ToWire(arena, std::move(*src));
}
::test_union::StrictSimpleXUnion WireNaturalConversionTraits<
::test_union::wire::StrictSimpleXUnion, ::test_union::StrictSimpleXUnion>::
ToNatural(::test_union::wire::StrictSimpleXUnion src) {
switch (src.Which()) {
case ::test_union::wire::StrictSimpleXUnion::Tag::kI:
return ::test_union::StrictSimpleXUnion::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.i())));
case ::test_union::wire::StrictSimpleXUnion::Tag::kF:
return ::test_union::StrictSimpleXUnion::WithF(
WireNaturalConversionTraits<float, float>::ToNatural(
std::move(src.f())));
case ::test_union::wire::StrictSimpleXUnion::Tag::kS:
return ::test_union::StrictSimpleXUnion::WithS(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.s())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::StrictSimpleXUnion WireNaturalConversionTraits<
::test_union::wire::StrictSimpleXUnion, ::test_union::StrictSimpleXUnion>::
ToWire(fidl::AnyArena& arena, ::test_union::StrictSimpleXUnion src) {
switch (src.Which()) {
case ::test_union::StrictSimpleXUnion::Tag::kI:
return ::test_union::wire::StrictSimpleXUnion::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.i().value())));
case ::test_union::StrictSimpleXUnion::Tag::kF:
return ::test_union::wire::StrictSimpleXUnion::WithF(
WireNaturalConversionTraits<float, float>::ToWire(
arena, std::move(src.f().value())));
case ::test_union::StrictSimpleXUnion::Tag::kS:
return ::test_union::wire::StrictSimpleXUnion::WithS(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.s().value())));
}
}
std::unique_ptr<::test_union::StrictSimpleXUnion>
WireNaturalConversionTraits<::test_union::wire::StrictSimpleXUnion,
std::unique_ptr<::test_union::StrictSimpleXUnion>>::
ToNatural(::test_union::wire::StrictSimpleXUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::StrictSimpleXUnion>(
WireNaturalConversionTraits<
::test_union::wire::StrictSimpleXUnion,
::test_union::StrictSimpleXUnion>::ToNatural(std::move(src)));
}
::test_union::wire::StrictSimpleXUnion
WireNaturalConversionTraits<::test_union::wire::StrictSimpleXUnion,
std::unique_ptr<::test_union::StrictSimpleXUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::StrictSimpleXUnion> src) {
if (!src) {
return ::test_union::wire::StrictSimpleXUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::StrictSimpleXUnion,
::test_union::StrictSimpleXUnion>::ToWire(arena, std::move(*src));
}
::test_union::StrictFoo WireNaturalConversionTraits<
::test_union::wire::StrictFoo,
::test_union::StrictFoo>::ToNatural(::test_union::wire::StrictFoo src) {
switch (src.Which()) {
case ::test_union::wire::StrictFoo::Tag::kS:
return ::test_union::StrictFoo::WithS(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.s())));
case ::test_union::wire::StrictFoo::Tag::kI:
return ::test_union::StrictFoo::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.i())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::StrictFoo WireNaturalConversionTraits<
::test_union::wire::StrictFoo,
::test_union::StrictFoo>::ToWire(fidl::AnyArena& arena,
::test_union::StrictFoo src) {
switch (src.Which()) {
case ::test_union::StrictFoo::Tag::kS:
return ::test_union::wire::StrictFoo::WithS(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.s().value())));
case ::test_union::StrictFoo::Tag::kI:
return ::test_union::wire::StrictFoo::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.i().value())));
}
}
std::unique_ptr<::test_union::StrictFoo> WireNaturalConversionTraits<
::test_union::wire::StrictFoo, std::unique_ptr<::test_union::StrictFoo>>::
ToNatural(::test_union::wire::StrictFoo src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::StrictFoo>(
WireNaturalConversionTraits<
::test_union::wire::StrictFoo,
::test_union::StrictFoo>::ToNatural(std::move(src)));
}
::test_union::wire::StrictFoo WireNaturalConversionTraits<
::test_union::wire::StrictFoo, std::unique_ptr<::test_union::StrictFoo>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::StrictFoo> src) {
if (!src) {
return ::test_union::wire::StrictFoo();
}
return WireNaturalConversionTraits<
::test_union::wire::StrictFoo,
::test_union::StrictFoo>::ToWire(arena, std::move(*src));
}
::test_union::StrictBoundedXUnion
WireNaturalConversionTraits<::test_union::wire::StrictBoundedXUnion,
::test_union::StrictBoundedXUnion>::
ToNatural(::test_union::wire::StrictBoundedXUnion src) {
switch (src.Which()) {
case ::test_union::wire::StrictBoundedXUnion::Tag::kV:
return ::test_union::StrictBoundedXUnion::WithV(
WireNaturalConversionTraits<
::fidl::VectorView<uint8_t>,
::std::vector<uint8_t>>::ToNatural(std::move(src.v())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::StrictBoundedXUnion WireNaturalConversionTraits<
::test_union::wire::StrictBoundedXUnion,
::test_union::StrictBoundedXUnion>::ToWire(fidl::AnyArena& arena,
::test_union::StrictBoundedXUnion
src) {
switch (src.Which()) {
case ::test_union::StrictBoundedXUnion::Tag::kV:
return ::test_union::wire::StrictBoundedXUnion::WithV(
arena,
WireNaturalConversionTraits<
::fidl::VectorView<uint8_t>,
::std::vector<uint8_t>>::ToWire(arena,
std::move(src.v().value())));
}
}
std::unique_ptr<::test_union::StrictBoundedXUnion> WireNaturalConversionTraits<
::test_union::wire::StrictBoundedXUnion,
std::unique_ptr<::test_union::StrictBoundedXUnion>>::
ToNatural(::test_union::wire::StrictBoundedXUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::StrictBoundedXUnion>(
WireNaturalConversionTraits<
::test_union::wire::StrictBoundedXUnion,
::test_union::StrictBoundedXUnion>::ToNatural(std::move(src)));
}
::test_union::wire::StrictBoundedXUnion WireNaturalConversionTraits<
::test_union::wire::StrictBoundedXUnion,
std::unique_ptr<::test_union::StrictBoundedXUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::StrictBoundedXUnion> src) {
if (!src) {
return ::test_union::wire::StrictBoundedXUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::StrictBoundedXUnion,
::test_union::StrictBoundedXUnion>::ToWire(arena, std::move(*src));
}
::test_union::ReverseOrdinalUnion
WireNaturalConversionTraits<::test_union::wire::ReverseOrdinalUnion,
::test_union::ReverseOrdinalUnion>::
ToNatural(::test_union::wire::ReverseOrdinalUnion src) {
switch (src.Which()) {
case ::test_union::wire::ReverseOrdinalUnion::Tag::kSecond:
return ::test_union::ReverseOrdinalUnion::WithSecond(
WireNaturalConversionTraits<uint32_t, uint32_t>::ToNatural(
std::move(src.second())));
case ::test_union::wire::ReverseOrdinalUnion::Tag::kFirst:
return ::test_union::ReverseOrdinalUnion::WithFirst(
WireNaturalConversionTraits<uint32_t, uint32_t>::ToNatural(
std::move(src.first())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::ReverseOrdinalUnion WireNaturalConversionTraits<
::test_union::wire::ReverseOrdinalUnion,
::test_union::ReverseOrdinalUnion>::ToWire(fidl::AnyArena& arena,
::test_union::ReverseOrdinalUnion
src) {
switch (src.Which()) {
case ::test_union::ReverseOrdinalUnion::Tag::kSecond:
return ::test_union::wire::ReverseOrdinalUnion::WithSecond(
WireNaturalConversionTraits<uint32_t, uint32_t>::ToWire(
arena, std::move(src.second().value())));
case ::test_union::ReverseOrdinalUnion::Tag::kFirst:
return ::test_union::wire::ReverseOrdinalUnion::WithFirst(
WireNaturalConversionTraits<uint32_t, uint32_t>::ToWire(
arena, std::move(src.first().value())));
}
}
std::unique_ptr<::test_union::ReverseOrdinalUnion> WireNaturalConversionTraits<
::test_union::wire::ReverseOrdinalUnion,
std::unique_ptr<::test_union::ReverseOrdinalUnion>>::
ToNatural(::test_union::wire::ReverseOrdinalUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::ReverseOrdinalUnion>(
WireNaturalConversionTraits<
::test_union::wire::ReverseOrdinalUnion,
::test_union::ReverseOrdinalUnion>::ToNatural(std::move(src)));
}
::test_union::wire::ReverseOrdinalUnion WireNaturalConversionTraits<
::test_union::wire::ReverseOrdinalUnion,
std::unique_ptr<::test_union::ReverseOrdinalUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::ReverseOrdinalUnion> src) {
if (!src) {
return ::test_union::wire::ReverseOrdinalUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::ReverseOrdinalUnion,
::test_union::ReverseOrdinalUnion>::ToWire(arena, std::move(*src));
}
::test_union::StrictPizzaOrPasta WireNaturalConversionTraits<
::test_union::wire::StrictPizzaOrPasta, ::test_union::StrictPizzaOrPasta>::
ToNatural(::test_union::wire::StrictPizzaOrPasta src) {
switch (src.Which()) {
case ::test_union::wire::StrictPizzaOrPasta::Tag::kPizza:
return ::test_union::StrictPizzaOrPasta::WithPizza(
WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToNatural(std::move(src.pizza())));
case ::test_union::wire::StrictPizzaOrPasta::Tag::kPasta:
return ::test_union::StrictPizzaOrPasta::WithPasta(
WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToNatural(std::move(src.pasta())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::StrictPizzaOrPasta WireNaturalConversionTraits<
::test_union::wire::StrictPizzaOrPasta, ::test_union::StrictPizzaOrPasta>::
ToWire(fidl::AnyArena& arena, ::test_union::StrictPizzaOrPasta src) {
switch (src.Which()) {
case ::test_union::StrictPizzaOrPasta::Tag::kPizza:
return ::test_union::wire::StrictPizzaOrPasta::WithPizza(
arena,
WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToWire(arena,
std::move(src.pizza().value())));
case ::test_union::StrictPizzaOrPasta::Tag::kPasta:
return ::test_union::wire::StrictPizzaOrPasta::WithPasta(
arena,
WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToWire(arena,
std::move(src.pasta().value())));
}
}
std::unique_ptr<::test_union::StrictPizzaOrPasta>
WireNaturalConversionTraits<::test_union::wire::StrictPizzaOrPasta,
std::unique_ptr<::test_union::StrictPizzaOrPasta>>::
ToNatural(::test_union::wire::StrictPizzaOrPasta src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::StrictPizzaOrPasta>(
WireNaturalConversionTraits<
::test_union::wire::StrictPizzaOrPasta,
::test_union::StrictPizzaOrPasta>::ToNatural(std::move(src)));
}
::test_union::wire::StrictPizzaOrPasta
WireNaturalConversionTraits<::test_union::wire::StrictPizzaOrPasta,
std::unique_ptr<::test_union::StrictPizzaOrPasta>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::StrictPizzaOrPasta> src) {
if (!src) {
return ::test_union::wire::StrictPizzaOrPasta();
}
return WireNaturalConversionTraits<
::test_union::wire::StrictPizzaOrPasta,
::test_union::StrictPizzaOrPasta>::ToWire(arena, std::move(*src));
}
::test_union::PizzaOrPasta WireNaturalConversionTraits<
::test_union::wire::PizzaOrPasta,
::test_union::PizzaOrPasta>::ToNatural(::test_union::wire::PizzaOrPasta
src) {
switch (src.Which()) {
case ::test_union::wire::PizzaOrPasta::Tag::kPizza:
return ::test_union::PizzaOrPasta::WithPizza(
WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToNatural(std::move(src.pizza())));
case ::test_union::wire::PizzaOrPasta::Tag::kPasta:
return ::test_union::PizzaOrPasta::WithPasta(
WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToNatural(std::move(src.pasta())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::PizzaOrPasta WireNaturalConversionTraits<
::test_union::wire::PizzaOrPasta,
::test_union::PizzaOrPasta>::ToWire(fidl::AnyArena& arena,
::test_union::PizzaOrPasta src) {
switch (src.Which()) {
case ::test_union::PizzaOrPasta::Tag::kPizza:
return ::test_union::wire::PizzaOrPasta::WithPizza(
arena,
WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToWire(arena,
std::move(src.pizza().value())));
case ::test_union::PizzaOrPasta::Tag::kPasta:
return ::test_union::wire::PizzaOrPasta::WithPasta(
arena,
WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToWire(arena,
std::move(src.pasta().value())));
}
}
std::unique_ptr<::test_union::PizzaOrPasta>
WireNaturalConversionTraits<::test_union::wire::PizzaOrPasta,
std::unique_ptr<::test_union::PizzaOrPasta>>::
ToNatural(::test_union::wire::PizzaOrPasta src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::PizzaOrPasta>(
WireNaturalConversionTraits<
::test_union::wire::PizzaOrPasta,
::test_union::PizzaOrPasta>::ToNatural(std::move(src)));
}
::test_union::wire::PizzaOrPasta
WireNaturalConversionTraits<::test_union::wire::PizzaOrPasta,
std::unique_ptr<::test_union::PizzaOrPasta>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::PizzaOrPasta> src) {
if (!src) {
return ::test_union::wire::PizzaOrPasta();
}
return WireNaturalConversionTraits<
::test_union::wire::PizzaOrPasta,
::test_union::PizzaOrPasta>::ToWire(arena, std::move(*src));
}
::test_union::FlexiblePizzaOrPasta
WireNaturalConversionTraits<::test_union::wire::FlexiblePizzaOrPasta,
::test_union::FlexiblePizzaOrPasta>::
ToNatural(::test_union::wire::FlexiblePizzaOrPasta src) {
switch (src.Which()) {
case ::test_union::wire::FlexiblePizzaOrPasta::Tag::kPizza:
return ::test_union::FlexiblePizzaOrPasta::WithPizza(
WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToNatural(std::move(src.pizza())));
case ::test_union::wire::FlexiblePizzaOrPasta::Tag::kPasta:
return ::test_union::FlexiblePizzaOrPasta::WithPasta(
WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToNatural(std::move(src.pasta())));
default:
return ::test_union::FlexiblePizzaOrPasta();
}
}
::test_union::wire::FlexiblePizzaOrPasta
WireNaturalConversionTraits<::test_union::wire::FlexiblePizzaOrPasta,
::test_union::FlexiblePizzaOrPasta>::
ToWire(fidl::AnyArena& arena, ::test_union::FlexiblePizzaOrPasta src) {
switch (src.Which()) {
case ::test_union::FlexiblePizzaOrPasta::Tag::kPizza:
return ::test_union::wire::FlexiblePizzaOrPasta::WithPizza(
arena,
WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToWire(arena,
std::move(src.pizza().value())));
case ::test_union::FlexiblePizzaOrPasta::Tag::kPasta:
return ::test_union::wire::FlexiblePizzaOrPasta::WithPasta(
arena,
WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToWire(arena,
std::move(src.pasta().value())));
default:
return ::test_union::wire::FlexiblePizzaOrPasta();
}
}
std::unique_ptr<::test_union::FlexiblePizzaOrPasta> WireNaturalConversionTraits<
::test_union::wire::FlexiblePizzaOrPasta,
std::unique_ptr<::test_union::FlexiblePizzaOrPasta>>::
ToNatural(::test_union::wire::FlexiblePizzaOrPasta src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::FlexiblePizzaOrPasta>(
WireNaturalConversionTraits<
::test_union::wire::FlexiblePizzaOrPasta,
::test_union::FlexiblePizzaOrPasta>::ToNatural(std::move(src)));
}
::test_union::wire::FlexiblePizzaOrPasta WireNaturalConversionTraits<
::test_union::wire::FlexiblePizzaOrPasta,
std::unique_ptr<::test_union::FlexiblePizzaOrPasta>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::FlexiblePizzaOrPasta> src) {
if (!src) {
return ::test_union::wire::FlexiblePizzaOrPasta();
}
return WireNaturalConversionTraits<
::test_union::wire::FlexiblePizzaOrPasta,
::test_union::FlexiblePizzaOrPasta>::ToWire(arena, std::move(*src));
}
::test_union::ExplicitPizzaOrPasta
WireNaturalConversionTraits<::test_union::wire::ExplicitPizzaOrPasta,
::test_union::ExplicitPizzaOrPasta>::
ToNatural(::test_union::wire::ExplicitPizzaOrPasta src) {
switch (src.Which()) {
case ::test_union::wire::ExplicitPizzaOrPasta::Tag::kPizza:
return ::test_union::ExplicitPizzaOrPasta::WithPizza(
WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToNatural(std::move(src.pizza())));
case ::test_union::wire::ExplicitPizzaOrPasta::Tag::kPasta:
return ::test_union::ExplicitPizzaOrPasta::WithPasta(
WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToNatural(std::move(src.pasta())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::ExplicitPizzaOrPasta
WireNaturalConversionTraits<::test_union::wire::ExplicitPizzaOrPasta,
::test_union::ExplicitPizzaOrPasta>::
ToWire(fidl::AnyArena& arena, ::test_union::ExplicitPizzaOrPasta src) {
switch (src.Which()) {
case ::test_union::ExplicitPizzaOrPasta::Tag::kPizza:
return ::test_union::wire::ExplicitPizzaOrPasta::WithPizza(
arena,
WireNaturalConversionTraits<
::test_union::wire::Pizza,
::test_union::Pizza>::ToWire(arena,
std::move(src.pizza().value())));
case ::test_union::ExplicitPizzaOrPasta::Tag::kPasta:
return ::test_union::wire::ExplicitPizzaOrPasta::WithPasta(
arena,
WireNaturalConversionTraits<
::test_union::wire::Pasta,
::test_union::Pasta>::ToWire(arena,
std::move(src.pasta().value())));
}
}
std::unique_ptr<::test_union::ExplicitPizzaOrPasta> WireNaturalConversionTraits<
::test_union::wire::ExplicitPizzaOrPasta,
std::unique_ptr<::test_union::ExplicitPizzaOrPasta>>::
ToNatural(::test_union::wire::ExplicitPizzaOrPasta src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::ExplicitPizzaOrPasta>(
WireNaturalConversionTraits<
::test_union::wire::ExplicitPizzaOrPasta,
::test_union::ExplicitPizzaOrPasta>::ToNatural(std::move(src)));
}
::test_union::wire::ExplicitPizzaOrPasta WireNaturalConversionTraits<
::test_union::wire::ExplicitPizzaOrPasta,
std::unique_ptr<::test_union::ExplicitPizzaOrPasta>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::ExplicitPizzaOrPasta> src) {
if (!src) {
return ::test_union::wire::ExplicitPizzaOrPasta();
}
return WireNaturalConversionTraits<
::test_union::wire::ExplicitPizzaOrPasta,
::test_union::ExplicitPizzaOrPasta>::ToWire(arena, std::move(*src));
}
::test_union::OlderSimpleUnion WireNaturalConversionTraits<
::test_union::wire::OlderSimpleUnion, ::test_union::OlderSimpleUnion>::
ToNatural(::test_union::wire::OlderSimpleUnion src) {
switch (src.Which()) {
case ::test_union::wire::OlderSimpleUnion::Tag::kI:
return ::test_union::OlderSimpleUnion::WithI(
WireNaturalConversionTraits<int64_t, int64_t>::ToNatural(
std::move(src.i())));
case ::test_union::wire::OlderSimpleUnion::Tag::kF:
return ::test_union::OlderSimpleUnion::WithF(
WireNaturalConversionTraits<float, float>::ToNatural(
std::move(src.f())));
default:
return ::test_union::OlderSimpleUnion();
}
}
::test_union::wire::OlderSimpleUnion WireNaturalConversionTraits<
::test_union::wire::OlderSimpleUnion, ::test_union::OlderSimpleUnion>::
ToWire(fidl::AnyArena& arena, ::test_union::OlderSimpleUnion src) {
switch (src.Which()) {
case ::test_union::OlderSimpleUnion::Tag::kI:
return ::test_union::wire::OlderSimpleUnion::WithI(
arena, WireNaturalConversionTraits<int64_t, int64_t>::ToWire(
arena, std::move(src.i().value())));
case ::test_union::OlderSimpleUnion::Tag::kF:
return ::test_union::wire::OlderSimpleUnion::WithF(
WireNaturalConversionTraits<float, float>::ToWire(
arena, std::move(src.f().value())));
default:
return ::test_union::wire::OlderSimpleUnion();
}
}
std::unique_ptr<::test_union::OlderSimpleUnion>
WireNaturalConversionTraits<::test_union::wire::OlderSimpleUnion,
std::unique_ptr<::test_union::OlderSimpleUnion>>::
ToNatural(::test_union::wire::OlderSimpleUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::OlderSimpleUnion>(
WireNaturalConversionTraits<
::test_union::wire::OlderSimpleUnion,
::test_union::OlderSimpleUnion>::ToNatural(std::move(src)));
}
::test_union::wire::OlderSimpleUnion
WireNaturalConversionTraits<::test_union::wire::OlderSimpleUnion,
std::unique_ptr<::test_union::OlderSimpleUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::OlderSimpleUnion> src) {
if (!src) {
return ::test_union::wire::OlderSimpleUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::OlderSimpleUnion,
::test_union::OlderSimpleUnion>::ToWire(arena, std::move(*src));
}
::test_union::NewerSimpleUnion WireNaturalConversionTraits<
::test_union::wire::NewerSimpleUnion, ::test_union::NewerSimpleUnion>::
ToNatural(::test_union::wire::NewerSimpleUnion src) {
switch (src.Which()) {
case ::test_union::wire::NewerSimpleUnion::Tag::kI:
return ::test_union::NewerSimpleUnion::WithI(
WireNaturalConversionTraits<int64_t, int64_t>::ToNatural(
std::move(src.i())));
case ::test_union::wire::NewerSimpleUnion::Tag::kS:
return ::test_union::NewerSimpleUnion::WithS(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.s())));
case ::test_union::wire::NewerSimpleUnion::Tag::kV:
return ::test_union::NewerSimpleUnion::WithV(
WireNaturalConversionTraits<
::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::ToNatural(std::move(src.v())));
default:
return ::test_union::NewerSimpleUnion();
}
}
::test_union::wire::NewerSimpleUnion WireNaturalConversionTraits<
::test_union::wire::NewerSimpleUnion, ::test_union::NewerSimpleUnion>::
ToWire(fidl::AnyArena& arena, ::test_union::NewerSimpleUnion src) {
switch (src.Which()) {
case ::test_union::NewerSimpleUnion::Tag::kI:
return ::test_union::wire::NewerSimpleUnion::WithI(
arena, WireNaturalConversionTraits<int64_t, int64_t>::ToWire(
arena, std::move(src.i().value())));
case ::test_union::NewerSimpleUnion::Tag::kS:
return ::test_union::wire::NewerSimpleUnion::WithS(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.s().value())));
case ::test_union::NewerSimpleUnion::Tag::kV:
return ::test_union::wire::NewerSimpleUnion::WithV(
arena,
WireNaturalConversionTraits<::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::
ToWire(arena, std::move(src.v().value())));
default:
return ::test_union::wire::NewerSimpleUnion();
}
}
std::unique_ptr<::test_union::NewerSimpleUnion>
WireNaturalConversionTraits<::test_union::wire::NewerSimpleUnion,
std::unique_ptr<::test_union::NewerSimpleUnion>>::
ToNatural(::test_union::wire::NewerSimpleUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::NewerSimpleUnion>(
WireNaturalConversionTraits<
::test_union::wire::NewerSimpleUnion,
::test_union::NewerSimpleUnion>::ToNatural(std::move(src)));
}
::test_union::wire::NewerSimpleUnion
WireNaturalConversionTraits<::test_union::wire::NewerSimpleUnion,
std::unique_ptr<::test_union::NewerSimpleUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::NewerSimpleUnion> src) {
if (!src) {
return ::test_union::wire::NewerSimpleUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::NewerSimpleUnion,
::test_union::NewerSimpleUnion>::ToWire(arena, std::move(*src));
}
::test_union::FlexibleUnion WireNaturalConversionTraits<
::test_union::wire::FlexibleUnion,
::test_union::FlexibleUnion>::ToNatural(::test_union::wire::FlexibleUnion
src) {
switch (src.Which()) {
case ::test_union::wire::FlexibleUnion::Tag::kPrimitive:
return ::test_union::FlexibleUnion::WithPrimitive(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.primitive())));
case ::test_union::wire::FlexibleUnion::Tag::kStringNeedsConstructor:
return ::test_union::FlexibleUnion::WithStringNeedsConstructor(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.string_needs_constructor())));
case ::test_union::wire::FlexibleUnion::Tag::
kVectorStringAlsoNeedsConstructor:
return ::test_union::FlexibleUnion::WithVectorStringAlsoNeedsConstructor(
WireNaturalConversionTraits<::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::
ToNatural(std::move(src.vector_string_also_needs_constructor())));
default:
return ::test_union::FlexibleUnion();
}
}
::test_union::wire::FlexibleUnion WireNaturalConversionTraits<
::test_union::wire::FlexibleUnion,
::test_union::FlexibleUnion>::ToWire(fidl::AnyArena& arena,
::test_union::FlexibleUnion src) {
switch (src.Which()) {
case ::test_union::FlexibleUnion::Tag::kPrimitive:
return ::test_union::wire::FlexibleUnion::WithPrimitive(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.primitive().value())));
case ::test_union::FlexibleUnion::Tag::kStringNeedsConstructor:
return ::test_union::wire::FlexibleUnion::WithStringNeedsConstructor(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.string_needs_constructor().value())));
case ::test_union::FlexibleUnion::Tag::kVectorStringAlsoNeedsConstructor:
return ::test_union::wire::FlexibleUnion::
WithVectorStringAlsoNeedsConstructor(
arena,
WireNaturalConversionTraits<
::fidl::VectorView<::fidl::StringView>,
::std::vector<::std::string>>::
ToWire(
arena,
std::move(
src.vector_string_also_needs_constructor().value())));
default:
return ::test_union::wire::FlexibleUnion();
}
}
std::unique_ptr<::test_union::FlexibleUnion>
WireNaturalConversionTraits<::test_union::wire::FlexibleUnion,
std::unique_ptr<::test_union::FlexibleUnion>>::
ToNatural(::test_union::wire::FlexibleUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::FlexibleUnion>(
WireNaturalConversionTraits<
::test_union::wire::FlexibleUnion,
::test_union::FlexibleUnion>::ToNatural(std::move(src)));
}
::test_union::wire::FlexibleUnion
WireNaturalConversionTraits<::test_union::wire::FlexibleUnion,
std::unique_ptr<::test_union::FlexibleUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::FlexibleUnion> src) {
if (!src) {
return ::test_union::wire::FlexibleUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::FlexibleUnion,
::test_union::FlexibleUnion>::ToWire(arena, std::move(*src));
}
::test_union::FlexibleFoo WireNaturalConversionTraits<
::test_union::wire::FlexibleFoo,
::test_union::FlexibleFoo>::ToNatural(::test_union::wire::FlexibleFoo src) {
switch (src.Which()) {
case ::test_union::wire::FlexibleFoo::Tag::kS:
return ::test_union::FlexibleFoo::WithS(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.s())));
case ::test_union::wire::FlexibleFoo::Tag::kI:
return ::test_union::FlexibleFoo::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.i())));
default:
return ::test_union::FlexibleFoo();
}
}
::test_union::wire::FlexibleFoo WireNaturalConversionTraits<
::test_union::wire::FlexibleFoo,
::test_union::FlexibleFoo>::ToWire(fidl::AnyArena& arena,
::test_union::FlexibleFoo src) {
switch (src.Which()) {
case ::test_union::FlexibleFoo::Tag::kS:
return ::test_union::wire::FlexibleFoo::WithS(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.s().value())));
case ::test_union::FlexibleFoo::Tag::kI:
return ::test_union::wire::FlexibleFoo::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.i().value())));
default:
return ::test_union::wire::FlexibleFoo();
}
}
std::unique_ptr<::test_union::FlexibleFoo>
WireNaturalConversionTraits<::test_union::wire::FlexibleFoo,
std::unique_ptr<::test_union::FlexibleFoo>>::
ToNatural(::test_union::wire::FlexibleFoo src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::FlexibleFoo>(
WireNaturalConversionTraits<
::test_union::wire::FlexibleFoo,
::test_union::FlexibleFoo>::ToNatural(std::move(src)));
}
::test_union::wire::FlexibleFoo
WireNaturalConversionTraits<::test_union::wire::FlexibleFoo,
std::unique_ptr<::test_union::FlexibleFoo>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::FlexibleFoo> src) {
if (!src) {
return ::test_union::wire::FlexibleFoo();
}
return WireNaturalConversionTraits<
::test_union::wire::FlexibleFoo,
::test_union::FlexibleFoo>::ToWire(arena, std::move(*src));
}
::test_union::FieldCollision WireNaturalConversionTraits<
::test_union::wire::FieldCollision,
::test_union::FieldCollision>::ToNatural(::test_union::wire::FieldCollision
src) {
switch (src.Which()) {
case ::test_union::wire::FieldCollision::Tag::kFieldCollisionTag:
return ::test_union::FieldCollision::WithFieldCollisionTag(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.field_collision_tag())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::FieldCollision WireNaturalConversionTraits<
::test_union::wire::FieldCollision,
::test_union::FieldCollision>::ToWire(fidl::AnyArena& arena,
::test_union::FieldCollision src) {
switch (src.Which()) {
case ::test_union::FieldCollision::Tag::kFieldCollisionTag:
return ::test_union::wire::FieldCollision::WithFieldCollisionTag(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.field_collision_tag().value())));
}
}
std::unique_ptr<::test_union::FieldCollision>
WireNaturalConversionTraits<::test_union::wire::FieldCollision,
std::unique_ptr<::test_union::FieldCollision>>::
ToNatural(::test_union::wire::FieldCollision src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::FieldCollision>(
WireNaturalConversionTraits<
::test_union::wire::FieldCollision,
::test_union::FieldCollision>::ToNatural(std::move(src)));
}
::test_union::wire::FieldCollision
WireNaturalConversionTraits<::test_union::wire::FieldCollision,
std::unique_ptr<::test_union::FieldCollision>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::FieldCollision> src) {
if (!src) {
return ::test_union::wire::FieldCollision();
}
return WireNaturalConversionTraits<
::test_union::wire::FieldCollision,
::test_union::FieldCollision>::ToWire(arena, std::move(*src));
}
::test_union::ExplicitXUnion WireNaturalConversionTraits<
::test_union::wire::ExplicitXUnion,
::test_union::ExplicitXUnion>::ToNatural(::test_union::wire::ExplicitXUnion
src) {
switch (src.Which()) {
case ::test_union::wire::ExplicitXUnion::Tag::kI:
return ::test_union::ExplicitXUnion::WithI(
WireNaturalConversionTraits<int64_t, int64_t>::ToNatural(
std::move(src.i())));
case ::test_union::wire::ExplicitXUnion::Tag::kF:
return ::test_union::ExplicitXUnion::WithF(
WireNaturalConversionTraits<float, float>::ToNatural(
std::move(src.f())));
default:
return ::test_union::ExplicitXUnion();
}
}
::test_union::wire::ExplicitXUnion WireNaturalConversionTraits<
::test_union::wire::ExplicitXUnion,
::test_union::ExplicitXUnion>::ToWire(fidl::AnyArena& arena,
::test_union::ExplicitXUnion src) {
switch (src.Which()) {
case ::test_union::ExplicitXUnion::Tag::kI:
return ::test_union::wire::ExplicitXUnion::WithI(
arena, WireNaturalConversionTraits<int64_t, int64_t>::ToWire(
arena, std::move(src.i().value())));
case ::test_union::ExplicitXUnion::Tag::kF:
return ::test_union::wire::ExplicitXUnion::WithF(
WireNaturalConversionTraits<float, float>::ToWire(
arena, std::move(src.f().value())));
default:
return ::test_union::wire::ExplicitXUnion();
}
}
std::unique_ptr<::test_union::ExplicitXUnion>
WireNaturalConversionTraits<::test_union::wire::ExplicitXUnion,
std::unique_ptr<::test_union::ExplicitXUnion>>::
ToNatural(::test_union::wire::ExplicitXUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::ExplicitXUnion>(
WireNaturalConversionTraits<
::test_union::wire::ExplicitXUnion,
::test_union::ExplicitXUnion>::ToNatural(std::move(src)));
}
::test_union::wire::ExplicitXUnion
WireNaturalConversionTraits<::test_union::wire::ExplicitXUnion,
std::unique_ptr<::test_union::ExplicitXUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::ExplicitXUnion> src) {
if (!src) {
return ::test_union::wire::ExplicitXUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::ExplicitXUnion,
::test_union::ExplicitXUnion>::ToWire(arena, std::move(*src));
}
::test_union::ExplicitUnion WireNaturalConversionTraits<
::test_union::wire::ExplicitUnion,
::test_union::ExplicitUnion>::ToNatural(::test_union::wire::ExplicitUnion
src) {
switch (src.Which()) {
case ::test_union::wire::ExplicitUnion::Tag::kPrimitive:
return ::test_union::ExplicitUnion::WithPrimitive(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.primitive())));
case ::test_union::wire::ExplicitUnion::Tag::kStringNeedsConstructor:
return ::test_union::ExplicitUnion::WithStringNeedsConstructor(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.string_needs_constructor())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::ExplicitUnion WireNaturalConversionTraits<
::test_union::wire::ExplicitUnion,
::test_union::ExplicitUnion>::ToWire(fidl::AnyArena& arena,
::test_union::ExplicitUnion src) {
switch (src.Which()) {
case ::test_union::ExplicitUnion::Tag::kPrimitive:
return ::test_union::wire::ExplicitUnion::WithPrimitive(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.primitive().value())));
case ::test_union::ExplicitUnion::Tag::kStringNeedsConstructor:
return ::test_union::wire::ExplicitUnion::WithStringNeedsConstructor(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.string_needs_constructor().value())));
}
}
std::unique_ptr<::test_union::ExplicitUnion>
WireNaturalConversionTraits<::test_union::wire::ExplicitUnion,
std::unique_ptr<::test_union::ExplicitUnion>>::
ToNatural(::test_union::wire::ExplicitUnion src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::ExplicitUnion>(
WireNaturalConversionTraits<
::test_union::wire::ExplicitUnion,
::test_union::ExplicitUnion>::ToNatural(std::move(src)));
}
::test_union::wire::ExplicitUnion
WireNaturalConversionTraits<::test_union::wire::ExplicitUnion,
std::unique_ptr<::test_union::ExplicitUnion>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::ExplicitUnion> src) {
if (!src) {
return ::test_union::wire::ExplicitUnion();
}
return WireNaturalConversionTraits<
::test_union::wire::ExplicitUnion,
::test_union::ExplicitUnion>::ToWire(arena, std::move(*src));
}
::test_union::ExplicitStrictFoo WireNaturalConversionTraits<
::test_union::wire::ExplicitStrictFoo, ::test_union::ExplicitStrictFoo>::
ToNatural(::test_union::wire::ExplicitStrictFoo src) {
switch (src.Which()) {
case ::test_union::wire::ExplicitStrictFoo::Tag::kS:
return ::test_union::ExplicitStrictFoo::WithS(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.s())));
case ::test_union::wire::ExplicitStrictFoo::Tag::kI:
return ::test_union::ExplicitStrictFoo::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.i())));
default:
ZX_PANIC("unknown union tag in strict union");
}
}
::test_union::wire::ExplicitStrictFoo WireNaturalConversionTraits<
::test_union::wire::ExplicitStrictFoo, ::test_union::ExplicitStrictFoo>::
ToWire(fidl::AnyArena& arena, ::test_union::ExplicitStrictFoo src) {
switch (src.Which()) {
case ::test_union::ExplicitStrictFoo::Tag::kS:
return ::test_union::wire::ExplicitStrictFoo::WithS(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.s().value())));
case ::test_union::ExplicitStrictFoo::Tag::kI:
return ::test_union::wire::ExplicitStrictFoo::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.i().value())));
}
}
std::unique_ptr<::test_union::ExplicitStrictFoo>
WireNaturalConversionTraits<::test_union::wire::ExplicitStrictFoo,
std::unique_ptr<::test_union::ExplicitStrictFoo>>::
ToNatural(::test_union::wire::ExplicitStrictFoo src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::ExplicitStrictFoo>(
WireNaturalConversionTraits<
::test_union::wire::ExplicitStrictFoo,
::test_union::ExplicitStrictFoo>::ToNatural(std::move(src)));
}
::test_union::wire::ExplicitStrictFoo
WireNaturalConversionTraits<::test_union::wire::ExplicitStrictFoo,
std::unique_ptr<::test_union::ExplicitStrictFoo>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::ExplicitStrictFoo> src) {
if (!src) {
return ::test_union::wire::ExplicitStrictFoo();
}
return WireNaturalConversionTraits<
::test_union::wire::ExplicitStrictFoo,
::test_union::ExplicitStrictFoo>::ToWire(arena, std::move(*src));
}
::test_union::ExplicitFoo WireNaturalConversionTraits<
::test_union::wire::ExplicitFoo,
::test_union::ExplicitFoo>::ToNatural(::test_union::wire::ExplicitFoo src) {
switch (src.Which()) {
case ::test_union::wire::ExplicitFoo::Tag::kS:
return ::test_union::ExplicitFoo::WithS(
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToNatural(std::move(src.s())));
case ::test_union::wire::ExplicitFoo::Tag::kI:
return ::test_union::ExplicitFoo::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToNatural(
std::move(src.i())));
default:
return ::test_union::ExplicitFoo();
}
}
::test_union::wire::ExplicitFoo WireNaturalConversionTraits<
::test_union::wire::ExplicitFoo,
::test_union::ExplicitFoo>::ToWire(fidl::AnyArena& arena,
::test_union::ExplicitFoo src) {
switch (src.Which()) {
case ::test_union::ExplicitFoo::Tag::kS:
return ::test_union::wire::ExplicitFoo::WithS(
arena,
WireNaturalConversionTraits<::fidl::StringView, ::std::string>::
ToWire(arena, std::move(src.s().value())));
case ::test_union::ExplicitFoo::Tag::kI:
return ::test_union::wire::ExplicitFoo::WithI(
WireNaturalConversionTraits<int32_t, int32_t>::ToWire(
arena, std::move(src.i().value())));
default:
return ::test_union::wire::ExplicitFoo();
}
}
std::unique_ptr<::test_union::ExplicitFoo>
WireNaturalConversionTraits<::test_union::wire::ExplicitFoo,
std::unique_ptr<::test_union::ExplicitFoo>>::
ToNatural(::test_union::wire::ExplicitFoo src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::ExplicitFoo>(
WireNaturalConversionTraits<
::test_union::wire::ExplicitFoo,
::test_union::ExplicitFoo>::ToNatural(std::move(src)));
}
::test_union::wire::ExplicitFoo
WireNaturalConversionTraits<::test_union::wire::ExplicitFoo,
std::unique_ptr<::test_union::ExplicitFoo>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::ExplicitFoo> src) {
if (!src) {
return ::test_union::wire::ExplicitFoo();
}
return WireNaturalConversionTraits<
::test_union::wire::ExplicitFoo,
::test_union::ExplicitFoo>::ToWire(arena, std::move(*src));
}
::test_union::XUnionContainingEmptyStruct
WireNaturalConversionTraits<::test_union::wire::XUnionContainingEmptyStruct,
::test_union::XUnionContainingEmptyStruct>::
ToNatural(::test_union::wire::XUnionContainingEmptyStruct src) {
switch (src.Which()) {
case ::test_union::wire::XUnionContainingEmptyStruct::Tag::kEmpty:
return ::test_union::XUnionContainingEmptyStruct::WithEmpty(
WireNaturalConversionTraits<
::test_union::wire::Empty,
::test_union::Empty>::ToNatural(std::move(src.empty())));
default:
return ::test_union::XUnionContainingEmptyStruct();
}
}
::test_union::wire::XUnionContainingEmptyStruct
WireNaturalConversionTraits<::test_union::wire::XUnionContainingEmptyStruct,
::test_union::XUnionContainingEmptyStruct>::
ToWire(fidl::AnyArena& arena,
::test_union::XUnionContainingEmptyStruct src) {
switch (src.Which()) {
case ::test_union::XUnionContainingEmptyStruct::Tag::kEmpty:
return ::test_union::wire::XUnionContainingEmptyStruct::WithEmpty(
WireNaturalConversionTraits<
::test_union::wire::Empty,
::test_union::Empty>::ToWire(arena,
std::move(src.empty().value())));
default:
return ::test_union::wire::XUnionContainingEmptyStruct();
}
}
std::unique_ptr<::test_union::XUnionContainingEmptyStruct>
WireNaturalConversionTraits<
::test_union::wire::XUnionContainingEmptyStruct,
std::unique_ptr<::test_union::XUnionContainingEmptyStruct>>::
ToNatural(::test_union::wire::XUnionContainingEmptyStruct src) {
if (src.has_invalid_tag()) {
return nullptr;
}
return std::make_unique<::test_union::XUnionContainingEmptyStruct>(
WireNaturalConversionTraits<
::test_union::wire::XUnionContainingEmptyStruct,
::test_union::XUnionContainingEmptyStruct>::
ToNatural(std::move(src)));
}
::test_union::wire::XUnionContainingEmptyStruct WireNaturalConversionTraits<
::test_union::wire::XUnionContainingEmptyStruct,
std::unique_ptr<::test_union::XUnionContainingEmptyStruct>>::
ToWire(fidl::AnyArena& arena,
std::unique_ptr<::test_union::XUnionContainingEmptyStruct> src) {
if (!src) {
return ::test_union::wire::XUnionContainingEmptyStruct();
}
return WireNaturalConversionTraits<
::test_union::wire::XUnionContainingEmptyStruct,
::test_union::XUnionContainingEmptyStruct>::ToWire(arena,
std::move(*src));
}
#ifdef __Fuchsia__
::fidl::Request<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>
WireNaturalConversionTraits<
::fidl::WireRequest<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>,
::fidl::Request<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>>::
ToNatural(
::fidl::WireRequest<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>
src) {
return ::fidl::Request<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>();
}
::fidl::WireRequest<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>
WireNaturalConversionTraits<
::fidl::WireRequest<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>,
::fidl::Request<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>>::
ToWire(fidl::AnyArena& arena,
::fidl::Request<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>
src) {
return ::fidl::WireRequest<
::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>();
}
::fidl::Request<
::test_union::TestProtocol::FlexibleXUnionHenceResponseMustBeHeapAllocated>
WireNaturalConversionTraits<
::fidl::WireRequest<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>,
::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>>::
ToNatural(
::fidl::WireRequest<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
src) {
return ::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>();
}
::fidl::WireRequest<
::test_union::TestProtocol::FlexibleXUnionHenceResponseMustBeHeapAllocated>
WireNaturalConversionTraits<
::fidl::WireRequest<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>,
::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>>::
ToWire(fidl::AnyArena& arena,
::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
src) {
return ::fidl::WireRequest<
::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>();
}
::fidl::Response<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>
WireNaturalConversionTraits<
::fidl::WireResponse<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>,
::fidl::Response<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>>::
ToNatural(
::fidl::WireResponse<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>
src) {
return ::fidl::Response<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>(
WireNaturalConversionTraits<
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse,
::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse>::
ToNatural(std::move(src)));
}
::fidl::WireResponse<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>
WireNaturalConversionTraits<
::fidl::WireResponse<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>,
::fidl::Response<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>>::
ToWire(fidl::AnyArena& arena,
::fidl::Response<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>
src) {
return ::fidl::WireResponse<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>(
WireNaturalConversionTraits<
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse,
::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse>::
ToWire(arena, std::move(src)));
}
::fidl::Response<
::test_union::TestProtocol::FlexibleXUnionHenceResponseMustBeHeapAllocated>
WireNaturalConversionTraits<
::fidl::WireResponse<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>,
::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>>::
ToNatural(
::fidl::WireResponse<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
src) {
return ::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>(
WireNaturalConversionTraits<
::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse,
::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse>::
ToNatural(std::move(src)));
}
::fidl::WireResponse<
::test_union::TestProtocol::FlexibleXUnionHenceResponseMustBeHeapAllocated>
WireNaturalConversionTraits<
::fidl::WireResponse<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>,
::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>>::
ToWire(fidl::AnyArena& arena,
::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
src) {
return ::fidl::WireResponse<
::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>(
WireNaturalConversionTraits<
::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse,
::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse>::
ToWire(arena, std::move(src)));
}
#endif // __Fuchsia__
} // namespace internal
} // namespace fidl