blob: 6600b7c4a0e0610818c3b180ebb82139c675653c [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#pragma once
#include <test/table/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 EmptyTable = ::test::table::EmptyTable;
using SimpleTable = ::test::table::SimpleTable;
using OlderSimpleTable = ::test::table::OlderSimpleTable;
using NewerSimpleTable = ::test::table::NewerSimpleTable;
using ReverseOrdinalTable = ::test::table::ReverseOrdinalTable;
using TableWithAttributes = ::test::table::TableWithAttributes;
using ExtensionTable = ::test::table::ExtensionTable;
using SixtyFourOrdinalTable = ::test::table::SixtyFourOrdinalTable;
template <>
struct MinSize<EmptyTable> {
operator size_t() {
return 0;
}
};
template <>
struct Allocate<EmptyTable> {
EmptyTable operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<EmptyTable>());
EmptyTable out;
return out;
}
};
template <>
struct MinSize<SimpleTable> {
operator size_t() {
return MinSize<int64_t>() + MinSize<int64_t>();
}
};
template <>
struct Allocate<SimpleTable> {
SimpleTable operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<SimpleTable>());
SimpleTable out;
const size_t slack_per_member = (*size - MinSize<SimpleTable>()) / 2;
size_t out_size;
out_size = MinSize<int64_t>() + slack_per_member;
out.set_x(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_y(Allocate<int64_t>{}(src, &out_size));
return out;
}
};
template <>
struct MinSize<OlderSimpleTable> {
operator size_t() {
return MinSize<int64_t>();
}
};
template <>
struct Allocate<OlderSimpleTable> {
OlderSimpleTable operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<OlderSimpleTable>());
OlderSimpleTable out;
const size_t slack_per_member = (*size - MinSize<OlderSimpleTable>()) / 1;
size_t out_size;
out_size = MinSize<int64_t>() + slack_per_member;
out.set_x(Allocate<int64_t>{}(src, &out_size));
return out;
}
};
template <>
struct MinSize<NewerSimpleTable> {
operator size_t() {
return MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>();
}
};
template <>
struct Allocate<NewerSimpleTable> {
NewerSimpleTable operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<NewerSimpleTable>());
NewerSimpleTable out;
const size_t slack_per_member = (*size - MinSize<NewerSimpleTable>()) / 3;
size_t out_size;
out_size = MinSize<int64_t>() + slack_per_member;
out.set_x(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_y(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_z(Allocate<int64_t>{}(src, &out_size));
return out;
}
};
template <>
struct MinSize<ReverseOrdinalTable> {
operator size_t() {
return MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>();
}
};
template <>
struct Allocate<ReverseOrdinalTable> {
ReverseOrdinalTable operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<ReverseOrdinalTable>());
ReverseOrdinalTable out;
const size_t slack_per_member = (*size - MinSize<ReverseOrdinalTable>()) / 3;
size_t out_size;
out_size = MinSize<int64_t>() + slack_per_member;
out.set_z(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_y(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_x(Allocate<int64_t>{}(src, &out_size));
return out;
}
};
template <>
struct MinSize<TableWithAttributes> {
operator size_t() {
return MinSize<int64_t>();
}
};
template <>
struct Allocate<TableWithAttributes> {
TableWithAttributes operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<TableWithAttributes>());
TableWithAttributes out;
const size_t slack_per_member = (*size - MinSize<TableWithAttributes>()) / 1;
size_t out_size;
out_size = MinSize<int64_t>() + slack_per_member;
out.set_x(Allocate<int64_t>{}(src, &out_size));
return out;
}
};
template <>
struct MinSize<ExtensionTable> {
operator size_t() {
return 0;
}
};
template <>
struct Allocate<ExtensionTable> {
ExtensionTable operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<ExtensionTable>());
ExtensionTable out;
return out;
}
};
template <>
struct MinSize<SixtyFourOrdinalTable> {
operator size_t() {
return MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<int64_t>() + MinSize<::test::table::ExtensionTable>();
}
};
template <>
struct Allocate<SixtyFourOrdinalTable> {
SixtyFourOrdinalTable operator()(FuzzInput* src, size_t* size) {
ZX_ASSERT(*size >= MinSize<SixtyFourOrdinalTable>());
SixtyFourOrdinalTable out;
const size_t slack_per_member = (*size - MinSize<SixtyFourOrdinalTable>()) / 64;
size_t out_size;
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v1(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v2(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v3(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v4(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v5(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v6(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v7(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v8(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v9(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v10(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v11(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v12(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v13(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v14(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v15(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v16(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v17(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v18(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v19(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v20(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v21(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v22(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v23(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v24(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v25(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v26(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v27(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v28(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v29(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v30(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v31(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v32(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v33(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v34(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v35(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v36(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v37(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v38(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v39(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v40(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v41(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v42(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v43(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v44(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v45(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v46(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v47(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v48(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v49(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v50(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v51(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v52(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v53(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v54(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v55(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v56(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v57(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v58(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v59(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v60(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v61(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v62(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<int64_t>() + slack_per_member;
out.set_v63(Allocate<int64_t>{}(src, &out_size));
out_size = MinSize<::test::table::ExtensionTable>() + slack_per_member;
out.set_v64(Allocate<::test::table::ExtensionTable>{}(src, &out_size));
return out;
}
};
} // namespace fuzzing