blob: 216058985c48d798e9dc04cc8cc323858e321291 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#pragma once
#include <fidl/test.requestflexibleenvelope/cpp/common_types.h>
#include <fidl/test.requestflexibleenvelope/cpp/markers.h>
#include <lib/fidl/cpp/natural_coding_traits.h>
#include <lib/fidl/cpp/natural_types.h>
#include <cinttypes>
#include <string>
#ifdef __Fuchsia__
#include <lib/zx/channel.h>
#endif // __Fuchsia__
namespace test_requestflexibleenvelope {
class ProtocolRequestStrictResponseFlexibleRequest;
class ProtocolRequestFlexibleResponseStrictTopResponse;
class ProtocolRequestStrictResponseFlexibleTopResponse;
class ProtocolRequestFlexibleResponseStrictRequest;
class StrictFoo;
class FlexibleFoo;
extern "C" const fidl_type_t test_requestflexibleenvelope_StrictFooTable;
class StrictFoo {
private:
using Storage_ =
std::variant<
std::monostate, ::std::string, int32_t>;
public:
// TODO: share union tag types between wire & natural.
enum class Tag : fidl_union_tag_t {
kS = 1, // 0x1
kI = 2, // 0x2
};
StrictFoo(StrictFoo&& other) noexcept
: StrictFoo(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag{}) {
*storage_ = std::move(*other.storage_);
}
StrictFoo& operator=(StrictFoo&& other) noexcept {
if (this != &other) {
*storage_ = std::move(*other.storage_);
}
return *this;
}
StrictFoo(const StrictFoo& other) noexcept : StrictFoo(other.CloneStorage_()) {}
StrictFoo& operator=(const StrictFoo& other) noexcept {
if (this != &other) {
storage_ = other.CloneStorage_();
}
return *this;
}
bool operator==(const StrictFoo& other) const noexcept {
return *storage_ == *other.storage_;
}
bool operator!=(const StrictFoo& other) const noexcept {
return *storage_ != *other.storage_;
}
constexpr ::test_requestflexibleenvelope::StrictFoo::Tag Which() const {
return StrictFoo::IndexToTag(storage_->index()).value();
}
static StrictFoo WithS(::std::string val) {
return StrictFoo(std::make_shared<Storage_>(
std::in_place_index_t<1>{},
std::move(val)));
}
const ::fidl::internal::UnionMemberView<1, Storage_> s() const {
return ::fidl::internal::UnionMemberView<1, Storage_>(storage_);
}
::fidl::internal::UnionMemberView<1, Storage_> s() {
return ::fidl::internal::UnionMemberView<1, Storage_>(storage_);
}
static StrictFoo WithI(int32_t val) {
return StrictFoo(std::make_shared<Storage_>(
std::in_place_index_t<2>{},
std::move(val)));
}
const ::fidl::internal::UnionMemberView<2, Storage_> i() const {
return ::fidl::internal::UnionMemberView<2, Storage_>(storage_);
}
::fidl::internal::UnionMemberView<2, Storage_> i() {
return ::fidl::internal::UnionMemberView<2, Storage_>(storage_);
}
StrictFoo(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) : storage_(std::make_shared<Storage_>()) {}
private:
std::shared_ptr<Storage_> storage_;
std::shared_ptr<Storage_> CloneStorage_() const;
friend struct ::fidl::internal::NaturalUnionCodingTraits<::test_requestflexibleenvelope::StrictFoo>;
static constexpr auto kMembers = std::make_tuple(
::fidl::internal::NaturalUnionMember<::fidl::internal::NaturalCodingConstraintEmpty>(), ::fidl::internal::NaturalUnionMember<fidl::internal::NaturalCodingConstraintString<>>(), ::fidl::internal::NaturalUnionMember<fidl::internal::NaturalCodingConstraintEmpty>());
explicit StrictFoo(std::shared_ptr<Storage_> storage) : storage_(std::move(storage)) {}
static constexpr size_t TagToIndex(::fidl::internal::NaturalDecoder* decoder, ::test_requestflexibleenvelope::StrictFoo::Tag tag) {
switch (tag) {
case ::test_requestflexibleenvelope::StrictFoo::Tag::kS:
return 1;
case ::test_requestflexibleenvelope::StrictFoo::Tag::kI:
return 2;
default: {
decoder->SetError(::fidl::internal::kCodingErrorUnknownUnionTag);
return 0;
}
}
}
static constexpr std::optional<::test_requestflexibleenvelope::StrictFoo::Tag> IndexToTag(size_t index) {
switch (index) {
case 1:
return ::test_requestflexibleenvelope::StrictFoo::Tag::kS;
case 2:
return ::test_requestflexibleenvelope::StrictFoo::Tag::kI;
default:
return std::nullopt;
}
}
};
extern "C" const fidl_type_t test_requestflexibleenvelope_ProtocolRequestStrictResponseFlexibleRequestTable;
class ProtocolRequestStrictResponseFlexibleRequest {
private:
struct Storage_;
public:
ProtocolRequestStrictResponseFlexibleRequest(Storage_ storage) noexcept : storage_(std::move(storage)) {}
ProtocolRequestStrictResponseFlexibleRequest(::test_requestflexibleenvelope::StrictFoo s) noexcept
: storage_({.s = std::move(s)}) {}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
// Default constructs a |ProtocolRequestStrictResponseFlexibleRequest| only if all of its members are default constructible.
ProtocolRequestStrictResponseFlexibleRequest() = default;
#pragma clang diagnostic pop
ProtocolRequestStrictResponseFlexibleRequest(ProtocolRequestStrictResponseFlexibleRequest&&) noexcept = default;
ProtocolRequestStrictResponseFlexibleRequest& operator=(ProtocolRequestStrictResponseFlexibleRequest&&) noexcept = default;
ProtocolRequestStrictResponseFlexibleRequest(const ProtocolRequestStrictResponseFlexibleRequest& other) noexcept : ProtocolRequestStrictResponseFlexibleRequest(other.CloneStorage_()) {}
ProtocolRequestStrictResponseFlexibleRequest& operator=(const ProtocolRequestStrictResponseFlexibleRequest& other) noexcept {
storage_ = other.CloneStorage_();
return *this;
}
bool operator==(const ProtocolRequestStrictResponseFlexibleRequest& other) const noexcept {
return ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleRequest, 16>::Equal(this, &other);
}
bool operator!=(const ProtocolRequestStrictResponseFlexibleRequest& other) const noexcept {
return !::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleRequest, 16>::Equal(this, &other);
}
const ::test_requestflexibleenvelope::StrictFoo&
s() const {
return storage_.s;
}
::test_requestflexibleenvelope::StrictFoo& s() {
return storage_.s;
}
ProtocolRequestStrictResponseFlexibleRequest(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) : ProtocolRequestStrictResponseFlexibleRequest(Storage_{
.s = ::fidl::internal::DefaultConstructPossiblyInvalidObjectTag{},
}) {}
private:
struct Storage_ final {
::test_requestflexibleenvelope::StrictFoo s;
};
Storage_ storage_;
Storage_ CloneStorage_() const;
friend struct ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleRequest, 16>;
friend struct ::fidl::internal::MemberVisitor<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleRequest>;
static constexpr auto kMembers = std::make_tuple(::fidl::internal::NaturalStructMember<Storage_, ::test_requestflexibleenvelope::StrictFoo, fidl::internal::NaturalCodingConstraintEmpty>{
&Storage_::s, 0});
static constexpr auto kPadding = std::make_tuple();
};
extern "C" const fidl_type_t test_requestflexibleenvelope_ProtocolRequestFlexibleResponseStrictTopResponseTable;
class ProtocolRequestFlexibleResponseStrictTopResponse {
private:
struct Storage_;
public:
ProtocolRequestFlexibleResponseStrictTopResponse(Storage_ storage) noexcept : storage_(std::move(storage)) {}
ProtocolRequestFlexibleResponseStrictTopResponse(::test_requestflexibleenvelope::StrictFoo f) noexcept
: storage_({.f = std::move(f)}) {}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
// Default constructs a |ProtocolRequestFlexibleResponseStrictTopResponse| only if all of its members are default constructible.
ProtocolRequestFlexibleResponseStrictTopResponse() = default;
#pragma clang diagnostic pop
ProtocolRequestFlexibleResponseStrictTopResponse(ProtocolRequestFlexibleResponseStrictTopResponse&&) noexcept = default;
ProtocolRequestFlexibleResponseStrictTopResponse& operator=(ProtocolRequestFlexibleResponseStrictTopResponse&&) noexcept = default;
ProtocolRequestFlexibleResponseStrictTopResponse(const ProtocolRequestFlexibleResponseStrictTopResponse& other) noexcept : ProtocolRequestFlexibleResponseStrictTopResponse(other.CloneStorage_()) {}
ProtocolRequestFlexibleResponseStrictTopResponse& operator=(const ProtocolRequestFlexibleResponseStrictTopResponse& other) noexcept {
storage_ = other.CloneStorage_();
return *this;
}
bool operator==(const ProtocolRequestFlexibleResponseStrictTopResponse& other) const noexcept {
return ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictTopResponse, 16>::Equal(this, &other);
}
bool operator!=(const ProtocolRequestFlexibleResponseStrictTopResponse& other) const noexcept {
return !::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictTopResponse, 16>::Equal(this, &other);
}
const ::test_requestflexibleenvelope::StrictFoo&
f() const {
return storage_.f;
}
::test_requestflexibleenvelope::StrictFoo& f() {
return storage_.f;
}
ProtocolRequestFlexibleResponseStrictTopResponse(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) : ProtocolRequestFlexibleResponseStrictTopResponse(Storage_{
.f = ::fidl::internal::DefaultConstructPossiblyInvalidObjectTag{},
}) {}
private:
struct Storage_ final {
::test_requestflexibleenvelope::StrictFoo f;
};
Storage_ storage_;
Storage_ CloneStorage_() const;
friend struct ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictTopResponse, 16>;
friend struct ::fidl::internal::MemberVisitor<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictTopResponse>;
static constexpr auto kMembers = std::make_tuple(::fidl::internal::NaturalStructMember<Storage_, ::test_requestflexibleenvelope::StrictFoo, fidl::internal::NaturalCodingConstraintEmpty>{
&Storage_::f, 0});
static constexpr auto kPadding = std::make_tuple();
};
extern "C" const fidl_type_t test_requestflexibleenvelope_FlexibleFooTable;
class FlexibleFoo {
private:
using Storage_ =
std::variant<
std::monostate, ::std::string, int32_t>;
public:
// TODO: share union tag types between wire & natural.
enum class Tag : fidl_union_tag_t {
kS = 1, // 0x1
kI = 2, // 0x2
kUnknown = ::std::numeric_limits<::fidl_union_tag_t>::max(),
};
// Create an unknown value of this union.
FlexibleFoo() : storage_(std::make_shared<Storage_>()) {}
FlexibleFoo(FlexibleFoo&& other) noexcept
: FlexibleFoo(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag{}) {
*storage_ = std::move(*other.storage_);
}
FlexibleFoo& operator=(FlexibleFoo&& other) noexcept {
if (this != &other) {
*storage_ = std::move(*other.storage_);
}
return *this;
}
FlexibleFoo(const FlexibleFoo& other) noexcept : FlexibleFoo(other.CloneStorage_()) {}
FlexibleFoo& operator=(const FlexibleFoo& other) noexcept {
if (this != &other) {
storage_ = other.CloneStorage_();
}
return *this;
}
bool operator==(const FlexibleFoo& other) const noexcept {
return *storage_ == *other.storage_;
}
bool operator!=(const FlexibleFoo& other) const noexcept {
return *storage_ != *other.storage_;
}
constexpr ::test_requestflexibleenvelope::FlexibleFoo::Tag Which() const {
return FlexibleFoo::IndexToTag(storage_->index()).value();
}
static FlexibleFoo WithS(::std::string val) {
return FlexibleFoo(std::make_shared<Storage_>(
std::in_place_index_t<1>{},
std::move(val)));
}
const ::fidl::internal::UnionMemberView<1, Storage_> s() const {
return ::fidl::internal::UnionMemberView<1, Storage_>(storage_);
}
::fidl::internal::UnionMemberView<1, Storage_> s() {
return ::fidl::internal::UnionMemberView<1, Storage_>(storage_);
}
static FlexibleFoo WithI(int32_t val) {
return FlexibleFoo(std::make_shared<Storage_>(
std::in_place_index_t<2>{},
std::move(val)));
}
const ::fidl::internal::UnionMemberView<2, Storage_> i() const {
return ::fidl::internal::UnionMemberView<2, Storage_>(storage_);
}
::fidl::internal::UnionMemberView<2, Storage_> i() {
return ::fidl::internal::UnionMemberView<2, Storage_>(storage_);
}
FlexibleFoo(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) : storage_(std::make_shared<Storage_>()) {}
private:
std::shared_ptr<Storage_> storage_;
std::shared_ptr<Storage_> CloneStorage_() const;
friend struct ::fidl::internal::NaturalUnionCodingTraits<::test_requestflexibleenvelope::FlexibleFoo>;
static constexpr auto kMembers = std::make_tuple(
::fidl::internal::NaturalUnionMember<::fidl::internal::NaturalCodingConstraintEmpty>(), ::fidl::internal::NaturalUnionMember<fidl::internal::NaturalCodingConstraintString<>>(), ::fidl::internal::NaturalUnionMember<fidl::internal::NaturalCodingConstraintEmpty>());
explicit FlexibleFoo(std::shared_ptr<Storage_> storage) : storage_(std::move(storage)) {}
static constexpr size_t TagToIndex(::fidl::internal::NaturalDecoder* decoder, ::test_requestflexibleenvelope::FlexibleFoo::Tag tag) {
switch (tag) {
case ::test_requestflexibleenvelope::FlexibleFoo::Tag::kS:
return 1;
case ::test_requestflexibleenvelope::FlexibleFoo::Tag::kI:
return 2;
case ::test_requestflexibleenvelope::FlexibleFoo::Tag::kUnknown:
return 0;
default: {
decoder->SetError(::fidl::internal::kCodingErrorUnknownUnionTag);
return 0;
}
}
}
static constexpr std::optional<::test_requestflexibleenvelope::FlexibleFoo::Tag> IndexToTag(size_t index) {
switch (index) {
case 1:
return ::test_requestflexibleenvelope::FlexibleFoo::Tag::kS;
case 2:
return ::test_requestflexibleenvelope::FlexibleFoo::Tag::kI;
default:
return ::test_requestflexibleenvelope::FlexibleFoo::Tag::kUnknown;
}
}
};
extern "C" const fidl_type_t test_requestflexibleenvelope_ProtocolRequestStrictResponseFlexibleTopResponseTable;
class ProtocolRequestStrictResponseFlexibleTopResponse {
private:
struct Storage_;
public:
ProtocolRequestStrictResponseFlexibleTopResponse(Storage_ storage) noexcept : storage_(std::move(storage)) {}
ProtocolRequestStrictResponseFlexibleTopResponse(::test_requestflexibleenvelope::FlexibleFoo f) noexcept
: storage_({.f = std::move(f)}) {}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
// Default constructs a |ProtocolRequestStrictResponseFlexibleTopResponse| only if all of its members are default constructible.
ProtocolRequestStrictResponseFlexibleTopResponse() = default;
#pragma clang diagnostic pop
ProtocolRequestStrictResponseFlexibleTopResponse(ProtocolRequestStrictResponseFlexibleTopResponse&&) noexcept = default;
ProtocolRequestStrictResponseFlexibleTopResponse& operator=(ProtocolRequestStrictResponseFlexibleTopResponse&&) noexcept = default;
ProtocolRequestStrictResponseFlexibleTopResponse(const ProtocolRequestStrictResponseFlexibleTopResponse& other) noexcept : ProtocolRequestStrictResponseFlexibleTopResponse(other.CloneStorage_()) {}
ProtocolRequestStrictResponseFlexibleTopResponse& operator=(const ProtocolRequestStrictResponseFlexibleTopResponse& other) noexcept {
storage_ = other.CloneStorage_();
return *this;
}
bool operator==(const ProtocolRequestStrictResponseFlexibleTopResponse& other) const noexcept {
return ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleTopResponse, 16>::Equal(this, &other);
}
bool operator!=(const ProtocolRequestStrictResponseFlexibleTopResponse& other) const noexcept {
return !::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleTopResponse, 16>::Equal(this, &other);
}
const ::test_requestflexibleenvelope::FlexibleFoo&
f() const {
return storage_.f;
}
::test_requestflexibleenvelope::FlexibleFoo& f() {
return storage_.f;
}
ProtocolRequestStrictResponseFlexibleTopResponse(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) : ProtocolRequestStrictResponseFlexibleTopResponse(Storage_{
.f = ::fidl::internal::DefaultConstructPossiblyInvalidObjectTag{},
}) {}
private:
struct Storage_ final {
::test_requestflexibleenvelope::FlexibleFoo f;
};
Storage_ storage_;
Storage_ CloneStorage_() const;
friend struct ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleTopResponse, 16>;
friend struct ::fidl::internal::MemberVisitor<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleTopResponse>;
static constexpr auto kMembers = std::make_tuple(::fidl::internal::NaturalStructMember<Storage_, ::test_requestflexibleenvelope::FlexibleFoo, fidl::internal::NaturalCodingConstraintEmpty>{
&Storage_::f, 0});
static constexpr auto kPadding = std::make_tuple();
};
extern "C" const fidl_type_t test_requestflexibleenvelope_ProtocolRequestFlexibleResponseStrictRequestTable;
class ProtocolRequestFlexibleResponseStrictRequest {
private:
struct Storage_;
public:
ProtocolRequestFlexibleResponseStrictRequest(Storage_ storage) noexcept : storage_(std::move(storage)) {}
ProtocolRequestFlexibleResponseStrictRequest(::test_requestflexibleenvelope::FlexibleFoo s) noexcept
: storage_({.s = std::move(s)}) {}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
// Default constructs a |ProtocolRequestFlexibleResponseStrictRequest| only if all of its members are default constructible.
ProtocolRequestFlexibleResponseStrictRequest() = default;
#pragma clang diagnostic pop
ProtocolRequestFlexibleResponseStrictRequest(ProtocolRequestFlexibleResponseStrictRequest&&) noexcept = default;
ProtocolRequestFlexibleResponseStrictRequest& operator=(ProtocolRequestFlexibleResponseStrictRequest&&) noexcept = default;
ProtocolRequestFlexibleResponseStrictRequest(const ProtocolRequestFlexibleResponseStrictRequest& other) noexcept : ProtocolRequestFlexibleResponseStrictRequest(other.CloneStorage_()) {}
ProtocolRequestFlexibleResponseStrictRequest& operator=(const ProtocolRequestFlexibleResponseStrictRequest& other) noexcept {
storage_ = other.CloneStorage_();
return *this;
}
bool operator==(const ProtocolRequestFlexibleResponseStrictRequest& other) const noexcept {
return ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictRequest, 16>::Equal(this, &other);
}
bool operator!=(const ProtocolRequestFlexibleResponseStrictRequest& other) const noexcept {
return !::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictRequest, 16>::Equal(this, &other);
}
const ::test_requestflexibleenvelope::FlexibleFoo&
s() const {
return storage_.s;
}
::test_requestflexibleenvelope::FlexibleFoo& s() {
return storage_.s;
}
ProtocolRequestFlexibleResponseStrictRequest(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) : ProtocolRequestFlexibleResponseStrictRequest(Storage_{
.s = ::fidl::internal::DefaultConstructPossiblyInvalidObjectTag{},
}) {}
private:
struct Storage_ final {
::test_requestflexibleenvelope::FlexibleFoo s;
};
Storage_ storage_;
Storage_ CloneStorage_() const;
friend struct ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictRequest, 16>;
friend struct ::fidl::internal::MemberVisitor<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictRequest>;
static constexpr auto kMembers = std::make_tuple(::fidl::internal::NaturalStructMember<Storage_, ::test_requestflexibleenvelope::FlexibleFoo, fidl::internal::NaturalCodingConstraintEmpty>{
&Storage_::s, 0});
static constexpr auto kPadding = std::make_tuple();
};
} // namespace test_requestflexibleenvelope
namespace fidl {
extern "C" const fidl_type_t test_requestflexibleenvelope_ProtocolRequestStrictResponseFlexibleRequestTable;
template <>
struct IsFidlType<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleRequest> : public std::true_type {};
template <>
struct internal::NaturalCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleRequest, ::fidl::internal::NaturalCodingConstraintEmpty> final
: public ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleRequest, 16> {};
extern "C" const fidl_type_t test_requestflexibleenvelope_ProtocolRequestFlexibleResponseStrictTopResponseTable;
template <>
struct IsFidlType<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictTopResponse> : public std::true_type {};
template <>
struct internal::NaturalCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictTopResponse, ::fidl::internal::NaturalCodingConstraintEmpty> final
: public ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictTopResponse, 16> {};
extern "C" const fidl_type_t test_requestflexibleenvelope_ProtocolRequestStrictResponseFlexibleTopResponseTable;
template <>
struct IsFidlType<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleTopResponse> : public std::true_type {};
template <>
struct internal::NaturalCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleTopResponse, ::fidl::internal::NaturalCodingConstraintEmpty> final
: public ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestStrictResponseFlexibleTopResponse, 16> {};
extern "C" const fidl_type_t test_requestflexibleenvelope_ProtocolRequestFlexibleResponseStrictRequestTable;
template <>
struct IsFidlType<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictRequest> : public std::true_type {};
template <>
struct internal::NaturalCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictRequest, ::fidl::internal::NaturalCodingConstraintEmpty> final
: public ::fidl::internal::NaturalStructCodingTraits<::test_requestflexibleenvelope::ProtocolRequestFlexibleResponseStrictRequest, 16> {};
extern "C" const fidl_type_t test_requestflexibleenvelope_StrictFooTable;
template <>
struct IsFidlType<::test_requestflexibleenvelope::StrictFoo> : public std::true_type {};
template <>
struct IsUnion<::test_requestflexibleenvelope::StrictFoo> : public std::true_type {};
template <>
struct internal::NaturalCodingTraits<::test_requestflexibleenvelope::StrictFoo, ::fidl::internal::NaturalCodingConstraintEmpty> final
: public ::fidl::internal::NaturalUnionCodingTraits<::test_requestflexibleenvelope::StrictFoo> {};
extern "C" const fidl_type_t test_requestflexibleenvelope_FlexibleFooTable;
template <>
struct IsFidlType<::test_requestflexibleenvelope::FlexibleFoo> : public std::true_type {};
template <>
struct IsUnion<::test_requestflexibleenvelope::FlexibleFoo> : public std::true_type {};
template <>
struct internal::NaturalCodingTraits<::test_requestflexibleenvelope::FlexibleFoo, ::fidl::internal::NaturalCodingConstraintEmpty> final
: public ::fidl::internal::NaturalUnionCodingTraits<::test_requestflexibleenvelope::FlexibleFoo> {};
} // namespace fidl