blob: bb99e87d090ea43b5fc613afc2e4678a1f5a735f [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#pragma once
#include <test/middle/cpp/libfuzzer.h>
#include <test/transitivedependencies/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 Baz = ::test::transitivedependencies::Baz;
template <>
struct MinSize<Baz> {
operator size_t() {
return MinSize<::test::middle::Bar>();
}
};
template <>
struct Allocate<Baz> {
Baz operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<Baz>());
Baz out;
const size_t slack_per_member = (*size - MinSize<Baz>()) / 1;
size_t out_size;
out_size = MinSize<::test::middle::Bar>() + slack_per_member;
out.g = Allocate<::test::middle::Bar>{}(src, &out_size);
return out;
}
};
} // namespace fuzzing