blob: a7b026702a882c1af8d336b99d94e59bc04b94e0 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#include <fidl/test/vectors/cpp/natural_types.h>
#include "lib/fidl/cpp/internal/natural_types_implementation.h"
//
// Domain objects definitions (i.e. "natural types" in unified bindings)
//
namespace fidl {
namespace test {
namespace vectors {
extern "C" const fidl_type_t fidl_test_vectors_ExampleUseOfVectorsTable;
const fidl_type_t* ExampleUseOfVectors::FidlType =
&fidl_test_vectors_ExampleUseOfVectorsTable;
void ExampleUseOfVectors::Encode(
::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info) {
if (::fidl::IsMemcpyCompatible<ExampleUseOfVectors>::value) {
memcpy(_encoder->template GetPtr<ExampleUseOfVectors>(_offset), this,
sizeof(ExampleUseOfVectors));
} else {
::fidl::Encode(_encoder, &vector_of_uint8, _offset + 0);
::fidl::Encode(_encoder, &vector_of_vector_of_bool, _offset + 16);
}
}
void ExampleUseOfVectors::Decode(::fidl::Decoder* _decoder,
ExampleUseOfVectors* _value, size_t _offset) {
if (::fidl::IsMemcpyCompatible<ExampleUseOfVectors>::value) {
memcpy(_value, _decoder->template GetPtr<ExampleUseOfVectors>(_offset),
sizeof(ExampleUseOfVectors));
} else {
::fidl::Decode(_decoder, &_value->vector_of_uint8, _offset + 0);
::fidl::Decode(_decoder, &_value->vector_of_vector_of_bool, _offset + 16);
}
}
zx_status_t ExampleUseOfVectors::Clone(ExampleUseOfVectors* _result) const {
zx_status_t _status =
::fidl::Clone(vector_of_uint8, &_result->vector_of_uint8);
if (_status != ZX_OK) return _status;
_status = ::fidl::Clone(vector_of_vector_of_bool,
&_result->vector_of_vector_of_bool);
if (_status != ZX_OK) return _status;
return ZX_OK;
}
} // namespace vectors
} // namespace test
} // namespace fidl