blob: e528c23167f077f26021fe1584ca7a89553fde8d [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#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>
namespace fidl {
namespace internal {
template <>
struct WireNaturalConversionTraits<::test_union::wire::StructWithNullableXUnion,
::test_union::StructWithNullableXUnion> {
static ::test_union::StructWithNullableXUnion ToNatural(
::test_union::wire::StructWithNullableXUnion src);
static ::test_union::wire::StructWithNullableXUnion ToWire(
fidl::AnyArena& arena, ::test_union::StructWithNullableXUnion src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StructWithNullableXUnion> {
using type = ::test_union::StructWithNullableXUnion;
};
template <>
struct WireTypeForNaturalType<::test_union::StructWithNullableXUnion> {
using type = ::test_union::wire::StructWithNullableXUnion;
};
template <>
struct WireNaturalConversionTraits<
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse,
::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse> {
static ::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse
ToNatural(
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse
src);
static ::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse
ToWire(
fidl::AnyArena& arena,
::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse
src);
};
template <>
struct NaturalTypeForWireType<
::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse> {
using type = ::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse;
};
template <>
struct WireTypeForNaturalType<
::test_union::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse> {
using type = ::test_union::wire::
TestProtocolStrictXUnionHenceResponseMayBeStackAllocatedTopResponse;
};
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::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse,
::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse> {
static ::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse
ToNatural(
::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse
src);
static ::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse
ToWire(
fidl::AnyArena& arena,
::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse
src);
};
template <>
struct NaturalTypeForWireType<
::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse> {
using type = ::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse;
};
template <>
struct WireTypeForNaturalType<
::test_union::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse> {
using type = ::test_union::wire::
TestProtocolFlexibleXUnionHenceResponseMustBeHeapAllocatedTopResponse;
};
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::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::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::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<
::test_union::wire::UnionWithAttributes,
std::unique_ptr<::test_union::UnionWithAttributes>> {
static std::unique_ptr<::test_union::UnionWithAttributes> ToNatural(
::test_union::wire::UnionWithAttributes src);
static ::test_union::wire::UnionWithAttributes ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::UnionWithAttributes> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::UnionWithAttributes> {
using type = std::unique_ptr<::test_union::UnionWithAttributes>;
};
template <>
struct WireTypeForNaturalType<::test_union::UnionWithAttributes> {
using type = ::test_union::wire::UnionWithAttributes;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::UnionWithAttributes>> {
using type = ::test_union::wire::UnionWithAttributes;
};
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<::test_union::wire::Union,
std::unique_ptr<::test_union::Union>> {
static std::unique_ptr<::test_union::Union> ToNatural(
::test_union::wire::Union src);
static ::test_union::wire::Union ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::Union> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::Union> {
using type = std::unique_ptr<::test_union::Union>;
};
template <>
struct WireTypeForNaturalType<::test_union::Union> {
using type = ::test_union::wire::Union;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::Union>> {
using type = ::test_union::wire::Union;
};
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<::test_union::wire::StrictUnion,
std::unique_ptr<::test_union::StrictUnion>> {
static std::unique_ptr<::test_union::StrictUnion> ToNatural(
::test_union::wire::StrictUnion src);
static ::test_union::wire::StrictUnion ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::StrictUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictUnion> {
using type = std::unique_ptr<::test_union::StrictUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictUnion> {
using type = ::test_union::wire::StrictUnion;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::StrictUnion>> {
using type = ::test_union::wire::StrictUnion;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::StrictSimpleXUnion,
::test_union::StrictSimpleXUnion> {
static ::test_union::StrictSimpleXUnion ToNatural(
::test_union::wire::StrictSimpleXUnion src);
static ::test_union::wire::StrictSimpleXUnion ToWire(
fidl::AnyArena& arena, ::test_union::StrictSimpleXUnion src);
};
template <>
struct WireNaturalConversionTraits<
::test_union::wire::StrictSimpleXUnion,
std::unique_ptr<::test_union::StrictSimpleXUnion>> {
static std::unique_ptr<::test_union::StrictSimpleXUnion> ToNatural(
::test_union::wire::StrictSimpleXUnion src);
static ::test_union::wire::StrictSimpleXUnion ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::StrictSimpleXUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictSimpleXUnion> {
using type = std::unique_ptr<::test_union::StrictSimpleXUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictSimpleXUnion> {
using type = ::test_union::wire::StrictSimpleXUnion;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::StrictSimpleXUnion>> {
using type = ::test_union::wire::StrictSimpleXUnion;
};
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<::test_union::wire::StrictFoo,
std::unique_ptr<::test_union::StrictFoo>> {
static std::unique_ptr<::test_union::StrictFoo> ToNatural(
::test_union::wire::StrictFoo src);
static ::test_union::wire::StrictFoo ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::StrictFoo> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictFoo> {
using type = std::unique_ptr<::test_union::StrictFoo>;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictFoo> {
using type = ::test_union::wire::StrictFoo;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::StrictFoo>> {
using type = ::test_union::wire::StrictFoo;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::StrictBoundedXUnion,
::test_union::StrictBoundedXUnion> {
static ::test_union::StrictBoundedXUnion ToNatural(
::test_union::wire::StrictBoundedXUnion src);
static ::test_union::wire::StrictBoundedXUnion ToWire(
fidl::AnyArena& arena, ::test_union::StrictBoundedXUnion src);
};
template <>
struct WireNaturalConversionTraits<
::test_union::wire::StrictBoundedXUnion,
std::unique_ptr<::test_union::StrictBoundedXUnion>> {
static std::unique_ptr<::test_union::StrictBoundedXUnion> ToNatural(
::test_union::wire::StrictBoundedXUnion src);
static ::test_union::wire::StrictBoundedXUnion ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::StrictBoundedXUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictBoundedXUnion> {
using type = std::unique_ptr<::test_union::StrictBoundedXUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictBoundedXUnion> {
using type = ::test_union::wire::StrictBoundedXUnion;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::StrictBoundedXUnion>> {
using type = ::test_union::wire::StrictBoundedXUnion;
};
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<
::test_union::wire::ReverseOrdinalUnion,
std::unique_ptr<::test_union::ReverseOrdinalUnion>> {
static std::unique_ptr<::test_union::ReverseOrdinalUnion> ToNatural(
::test_union::wire::ReverseOrdinalUnion src);
static ::test_union::wire::ReverseOrdinalUnion ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::ReverseOrdinalUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ReverseOrdinalUnion> {
using type = std::unique_ptr<::test_union::ReverseOrdinalUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::ReverseOrdinalUnion> {
using type = ::test_union::wire::ReverseOrdinalUnion;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::ReverseOrdinalUnion>> {
using type = ::test_union::wire::ReverseOrdinalUnion;
};
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<
::test_union::wire::StrictPizzaOrPasta,
std::unique_ptr<::test_union::StrictPizzaOrPasta>> {
static std::unique_ptr<::test_union::StrictPizzaOrPasta> ToNatural(
::test_union::wire::StrictPizzaOrPasta src);
static ::test_union::wire::StrictPizzaOrPasta ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::StrictPizzaOrPasta> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::StrictPizzaOrPasta> {
using type = std::unique_ptr<::test_union::StrictPizzaOrPasta>;
};
template <>
struct WireTypeForNaturalType<::test_union::StrictPizzaOrPasta> {
using type = ::test_union::wire::StrictPizzaOrPasta;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::StrictPizzaOrPasta>> {
using type = ::test_union::wire::StrictPizzaOrPasta;
};
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<
::test_union::wire::PizzaOrPasta,
std::unique_ptr<::test_union::PizzaOrPasta>> {
static std::unique_ptr<::test_union::PizzaOrPasta> ToNatural(
::test_union::wire::PizzaOrPasta src);
static ::test_union::wire::PizzaOrPasta ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::PizzaOrPasta> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::PizzaOrPasta> {
using type = std::unique_ptr<::test_union::PizzaOrPasta>;
};
template <>
struct WireTypeForNaturalType<::test_union::PizzaOrPasta> {
using type = ::test_union::wire::PizzaOrPasta;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::PizzaOrPasta>> {
using type = ::test_union::wire::PizzaOrPasta;
};
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<
::test_union::wire::FlexiblePizzaOrPasta,
std::unique_ptr<::test_union::FlexiblePizzaOrPasta>> {
static std::unique_ptr<::test_union::FlexiblePizzaOrPasta> ToNatural(
::test_union::wire::FlexiblePizzaOrPasta src);
static ::test_union::wire::FlexiblePizzaOrPasta ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::FlexiblePizzaOrPasta> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::FlexiblePizzaOrPasta> {
using type = std::unique_ptr<::test_union::FlexiblePizzaOrPasta>;
};
template <>
struct WireTypeForNaturalType<::test_union::FlexiblePizzaOrPasta> {
using type = ::test_union::wire::FlexiblePizzaOrPasta;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::FlexiblePizzaOrPasta>> {
using type = ::test_union::wire::FlexiblePizzaOrPasta;
};
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<
::test_union::wire::ExplicitPizzaOrPasta,
std::unique_ptr<::test_union::ExplicitPizzaOrPasta>> {
static std::unique_ptr<::test_union::ExplicitPizzaOrPasta> ToNatural(
::test_union::wire::ExplicitPizzaOrPasta src);
static ::test_union::wire::ExplicitPizzaOrPasta ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::ExplicitPizzaOrPasta> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitPizzaOrPasta> {
using type = std::unique_ptr<::test_union::ExplicitPizzaOrPasta>;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitPizzaOrPasta> {
using type = ::test_union::wire::ExplicitPizzaOrPasta;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::ExplicitPizzaOrPasta>> {
using type = ::test_union::wire::ExplicitPizzaOrPasta;
};
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<
::test_union::wire::OlderSimpleUnion,
std::unique_ptr<::test_union::OlderSimpleUnion>> {
static std::unique_ptr<::test_union::OlderSimpleUnion> ToNatural(
::test_union::wire::OlderSimpleUnion src);
static ::test_union::wire::OlderSimpleUnion ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::OlderSimpleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::OlderSimpleUnion> {
using type = std::unique_ptr<::test_union::OlderSimpleUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::OlderSimpleUnion> {
using type = ::test_union::wire::OlderSimpleUnion;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::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<
::test_union::wire::NewerSimpleUnion,
std::unique_ptr<::test_union::NewerSimpleUnion>> {
static std::unique_ptr<::test_union::NewerSimpleUnion> ToNatural(
::test_union::wire::NewerSimpleUnion src);
static ::test_union::wire::NewerSimpleUnion ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::NewerSimpleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::NewerSimpleUnion> {
using type = std::unique_ptr<::test_union::NewerSimpleUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::NewerSimpleUnion> {
using type = ::test_union::wire::NewerSimpleUnion;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::NewerSimpleUnion>> {
using type = ::test_union::wire::NewerSimpleUnion;
};
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<
::test_union::wire::FlexibleUnion,
std::unique_ptr<::test_union::FlexibleUnion>> {
static std::unique_ptr<::test_union::FlexibleUnion> ToNatural(
::test_union::wire::FlexibleUnion src);
static ::test_union::wire::FlexibleUnion ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::FlexibleUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::FlexibleUnion> {
using type = std::unique_ptr<::test_union::FlexibleUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::FlexibleUnion> {
using type = ::test_union::wire::FlexibleUnion;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::FlexibleUnion>> {
using type = ::test_union::wire::FlexibleUnion;
};
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<::test_union::wire::FlexibleFoo,
std::unique_ptr<::test_union::FlexibleFoo>> {
static std::unique_ptr<::test_union::FlexibleFoo> ToNatural(
::test_union::wire::FlexibleFoo src);
static ::test_union::wire::FlexibleFoo ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::FlexibleFoo> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::FlexibleFoo> {
using type = std::unique_ptr<::test_union::FlexibleFoo>;
};
template <>
struct WireTypeForNaturalType<::test_union::FlexibleFoo> {
using type = ::test_union::wire::FlexibleFoo;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::FlexibleFoo>> {
using type = ::test_union::wire::FlexibleFoo;
};
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<
::test_union::wire::FieldCollision,
std::unique_ptr<::test_union::FieldCollision>> {
static std::unique_ptr<::test_union::FieldCollision> ToNatural(
::test_union::wire::FieldCollision src);
static ::test_union::wire::FieldCollision ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::FieldCollision> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::FieldCollision> {
using type = std::unique_ptr<::test_union::FieldCollision>;
};
template <>
struct WireTypeForNaturalType<::test_union::FieldCollision> {
using type = ::test_union::wire::FieldCollision;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::FieldCollision>> {
using type = ::test_union::wire::FieldCollision;
};
template <>
struct WireNaturalConversionTraits<::test_union::wire::ExplicitXUnion,
::test_union::ExplicitXUnion> {
static ::test_union::ExplicitXUnion ToNatural(
::test_union::wire::ExplicitXUnion src);
static ::test_union::wire::ExplicitXUnion ToWire(
fidl::AnyArena& arena, ::test_union::ExplicitXUnion src);
};
template <>
struct WireNaturalConversionTraits<
::test_union::wire::ExplicitXUnion,
std::unique_ptr<::test_union::ExplicitXUnion>> {
static std::unique_ptr<::test_union::ExplicitXUnion> ToNatural(
::test_union::wire::ExplicitXUnion src);
static ::test_union::wire::ExplicitXUnion ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::ExplicitXUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitXUnion> {
using type = std::unique_ptr<::test_union::ExplicitXUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitXUnion> {
using type = ::test_union::wire::ExplicitXUnion;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::ExplicitXUnion>> {
using type = ::test_union::wire::ExplicitXUnion;
};
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<
::test_union::wire::ExplicitUnion,
std::unique_ptr<::test_union::ExplicitUnion>> {
static std::unique_ptr<::test_union::ExplicitUnion> ToNatural(
::test_union::wire::ExplicitUnion src);
static ::test_union::wire::ExplicitUnion ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::ExplicitUnion> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitUnion> {
using type = std::unique_ptr<::test_union::ExplicitUnion>;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitUnion> {
using type = ::test_union::wire::ExplicitUnion;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::ExplicitUnion>> {
using type = ::test_union::wire::ExplicitUnion;
};
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<
::test_union::wire::ExplicitStrictFoo,
std::unique_ptr<::test_union::ExplicitStrictFoo>> {
static std::unique_ptr<::test_union::ExplicitStrictFoo> ToNatural(
::test_union::wire::ExplicitStrictFoo src);
static ::test_union::wire::ExplicitStrictFoo ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::ExplicitStrictFoo> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitStrictFoo> {
using type = std::unique_ptr<::test_union::ExplicitStrictFoo>;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitStrictFoo> {
using type = ::test_union::wire::ExplicitStrictFoo;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::ExplicitStrictFoo>> {
using type = ::test_union::wire::ExplicitStrictFoo;
};
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<::test_union::wire::ExplicitFoo,
std::unique_ptr<::test_union::ExplicitFoo>> {
static std::unique_ptr<::test_union::ExplicitFoo> ToNatural(
::test_union::wire::ExplicitFoo src);
static ::test_union::wire::ExplicitFoo ToWire(
fidl::AnyArena& arena, std::unique_ptr<::test_union::ExplicitFoo> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::ExplicitFoo> {
using type = std::unique_ptr<::test_union::ExplicitFoo>;
};
template <>
struct WireTypeForNaturalType<::test_union::ExplicitFoo> {
using type = ::test_union::wire::ExplicitFoo;
};
template <>
struct WireTypeForNaturalType<std::unique_ptr<::test_union::ExplicitFoo>> {
using type = ::test_union::wire::ExplicitFoo;
};
template <>
struct WireNaturalConversionTraits<
::test_union::wire::XUnionContainingEmptyStruct,
::test_union::XUnionContainingEmptyStruct> {
static ::test_union::XUnionContainingEmptyStruct ToNatural(
::test_union::wire::XUnionContainingEmptyStruct src);
static ::test_union::wire::XUnionContainingEmptyStruct ToWire(
fidl::AnyArena& arena, ::test_union::XUnionContainingEmptyStruct src);
};
template <>
struct WireNaturalConversionTraits<
::test_union::wire::XUnionContainingEmptyStruct,
std::unique_ptr<::test_union::XUnionContainingEmptyStruct>> {
static std::unique_ptr<::test_union::XUnionContainingEmptyStruct> ToNatural(
::test_union::wire::XUnionContainingEmptyStruct src);
static ::test_union::wire::XUnionContainingEmptyStruct ToWire(
fidl::AnyArena& arena,
std::unique_ptr<::test_union::XUnionContainingEmptyStruct> src);
};
template <>
struct NaturalTypeForWireType<::test_union::wire::XUnionContainingEmptyStruct> {
using type = std::unique_ptr<::test_union::XUnionContainingEmptyStruct>;
};
template <>
struct WireTypeForNaturalType<::test_union::XUnionContainingEmptyStruct> {
using type = ::test_union::wire::XUnionContainingEmptyStruct;
};
template <>
struct WireTypeForNaturalType<
std::unique_ptr<::test_union::XUnionContainingEmptyStruct>> {
using type = ::test_union::wire::XUnionContainingEmptyStruct;
};
#ifdef __Fuchsia__
template <>
struct WireNaturalConversionTraits<
::fidl::WireRequest<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>,
::fidl::Request<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>> {
static ::fidl::Request<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>
ToNatural(
::fidl::WireRequest<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>
src);
static ::fidl::WireRequest<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>
ToWire(fidl::AnyArena& arena,
::fidl::Request<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>
src);
};
template <>
struct NaturalTypeForWireType<::fidl::WireRequest<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>> {
using type = ::fidl::Request<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>;
};
template <>
struct WireTypeForNaturalType<::fidl::Request<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>> {
using type = ::fidl::WireRequest<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>;
};
template <>
struct WireNaturalConversionTraits<
::fidl::WireRequest<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>,
::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>> {
static ::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
ToNatural(
::fidl::WireRequest<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
src);
static ::fidl::WireRequest<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
ToWire(fidl::AnyArena& arena,
::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
src);
};
template <>
struct NaturalTypeForWireType<
::fidl::WireRequest<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>> {
using type =
::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>;
};
template <>
struct WireTypeForNaturalType<
::fidl::Request<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>> {
using type =
::fidl::WireRequest<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>;
};
template <>
struct WireNaturalConversionTraits<
::fidl::WireResponse<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>,
::fidl::Response<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>> {
static ::fidl::Response<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>
ToNatural(
::fidl::WireResponse<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>
src);
static ::fidl::WireResponse<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>
ToWire(fidl::AnyArena& arena,
::fidl::Response<::test_union::TestProtocol::
StrictXUnionHenceResponseMayBeStackAllocated>
src);
};
template <>
struct NaturalTypeForWireType<::fidl::WireResponse<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>> {
using type = ::fidl::Response<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>;
};
template <>
struct WireTypeForNaturalType<::fidl::Response<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>> {
using type = ::fidl::WireResponse<
::test_union::TestProtocol::StrictXUnionHenceResponseMayBeStackAllocated>;
};
template <>
struct WireNaturalConversionTraits<
::fidl::WireResponse<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>,
::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>> {
static ::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
ToNatural(
::fidl::WireResponse<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
src);
static ::fidl::WireResponse<
::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
ToWire(fidl::AnyArena& arena,
::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>
src);
};
template <>
struct NaturalTypeForWireType<
::fidl::WireResponse<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>> {
using type =
::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>;
};
template <>
struct WireTypeForNaturalType<
::fidl::Response<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>> {
using type =
::fidl::WireResponse<::test_union::TestProtocol::
FlexibleXUnionHenceResponseMustBeHeapAllocated>;
};
#endif // __Fuchsia__
} // namespace internal
} // namespace fidl