blob: 889c90530ec7851e5b8dd31a41b2e534df304ac1 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#pragma once
#include <dependent/cpp/fidl.h>
#include "lib/fidl/cpp/internal/header.h"
//
// Domain objects declarations (i.e. "natural types" in unified bindings).
//
namespace fidl {
namespace test {
namespace structdefaultvalueenumlibraryreference {
class Foo;
class Foo final {
public:
static const fidl_type_t* FidlType;
::dependent::MyEnum field = ::dependent::MyEnum::A;
static inline ::std::unique_ptr<Foo> New() {
return ::std::make_unique<Foo>();
}
void Encode(::fidl::Encoder* _encoder, size_t _offset);
static void Decode(::fidl::Decoder* _decoder, Foo* value, size_t _offset);
zx_status_t Clone(Foo* result) const;
};
inline zx_status_t Clone(
const ::fidl::test::structdefaultvalueenumlibraryreference::Foo& _value,
::fidl::test::structdefaultvalueenumlibraryreference::Foo* _result) {
return _value.Clone(_result);
}
using FooPtr = ::std::unique_ptr<Foo>;
} // namespace structdefaultvalueenumlibraryreference
} // namespace test
} // namespace fidl
namespace fidl {
template <>
struct CodingTraits<::fidl::test::structdefaultvalueenumlibraryreference::Foo>
: public EncodableCodingTraits<
::fidl::test::structdefaultvalueenumlibraryreference::Foo, 4> {};
template <>
struct IsMemcpyCompatible<
::fidl::test::structdefaultvalueenumlibraryreference::Foo>
: public internal::BoolConstant<
!HasPadding<::fidl::test::structdefaultvalueenumlibraryreference::
Foo>::value &&
IsMemcpyCompatible<::dependent::MyEnum>::value> {};
inline zx_status_t Clone(
const ::fidl::test::structdefaultvalueenumlibraryreference::Foo& value,
::fidl::test::structdefaultvalueenumlibraryreference::Foo* result) {
return ::fidl::test::structdefaultvalueenumlibraryreference::Clone(value,
result);
}
template <>
struct Equality<::fidl::test::structdefaultvalueenumlibraryreference::Foo> {
bool operator()(
const ::fidl::test::structdefaultvalueenumlibraryreference::Foo& _lhs,
const ::fidl::test::structdefaultvalueenumlibraryreference::Foo& _rhs)
const {
if (!::fidl::Equals(_lhs.field, _rhs.field)) {
return false;
}
return true;
}
};
} // namespace fidl
//
// Proxies and stubs declarations
//
namespace fidl {
namespace test {
namespace structdefaultvalueenumlibraryreference {
} // namespace structdefaultvalueenumlibraryreference
} // namespace test
} // namespace fidl