blob: 0bbf7680b1fe7902994cf3d9fd62ae2d3470311f [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#pragma once
#include <test/inheritancewithrecursivedecl/cpp/fidl.h>
#include "lib/fidl/cpp/fuzzing/traits.h"
#include "lib/fidl/cpp/internal/header.h"
// For ::std::max_element().
#include <algorithm>
// For uint64_t.
#include <stdint.h>
namespace fuzzing {
using ParentFirstRequest = ::test::inheritancewithrecursivedecl::ParentFirstRequest;
using ChildSecondRequest = ::test::inheritancewithrecursivedecl::ChildSecondRequest;
template <>
struct MinSize<ParentFirstRequest> {
operator size_t() {
return MinSize<::fidl::InterfaceRequest<::test::inheritancewithrecursivedecl::Parent>>();
}
};
template <>
struct Allocate<ParentFirstRequest> {
ParentFirstRequest operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<ParentFirstRequest>());
ParentFirstRequest out;
const size_t slack_per_member = (*size - MinSize<ParentFirstRequest>()) / 1;
size_t out_size;
out_size = MinSize<::fidl::InterfaceRequest<::test::inheritancewithrecursivedecl::Parent>>() + slack_per_member;
out.request = Allocate<::fidl::InterfaceRequest<::test::inheritancewithrecursivedecl::Parent>>{}(src, &out_size);
return out;
}
};
template <>
struct MinSize<ChildSecondRequest> {
operator size_t() {
return MinSize<::fidl::InterfaceRequest<::test::inheritancewithrecursivedecl::Parent>>();
}
};
template <>
struct Allocate<ChildSecondRequest> {
ChildSecondRequest operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<ChildSecondRequest>());
ChildSecondRequest out;
const size_t slack_per_member = (*size - MinSize<ChildSecondRequest>()) / 1;
size_t out_size;
out_size = MinSize<::fidl::InterfaceRequest<::test::inheritancewithrecursivedecl::Parent>>() + slack_per_member;
out.request = Allocate<::fidl::InterfaceRequest<::test::inheritancewithrecursivedecl::Parent>>{}(src, &out_size);
return out;
}
};
} // namespace fuzzing