Full Code of google/flatbuffers for AI

master 8396e00dd876 cached
1847 files
11.7 MB
3.2M tokens
22952 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (12,581K chars total). Download the full file to get everything.
Repository: google/flatbuffers
Branch: master
Commit: 8396e00dd876
Files: 1847
Total size: 11.7 MB

Directory structure:
gitextract_0i2he2td/

├── .bazelci/
│   └── presubmit.yml
├── .bazelignore
├── .bazelrc
├── .clang-format
├── .clang-tidy
├── .editorconfig
├── .gitattributes
├── .github/
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   └── 404-doc.md
│   ├── ISSUE_TEMPLATE.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   ├── labeler.yml
│   └── workflows/
│       ├── build.yml
│       ├── docs.yml
│       ├── label.yml
│       ├── main.yml
│       ├── release.yml
│       └── stale.yml
├── .gitignore
├── .npmrc
├── BUILD.bazel
├── CHANGELOG.md
├── CMake/
│   ├── BuildFlatBuffers.cmake
│   ├── DESCRIPTION.txt
│   ├── FindFlatBuffers.cmake
│   ├── PackageDebian.cmake
│   ├── PackageRedhat.cmake
│   ├── Version.cmake
│   ├── flatbuffers-config-version.cmake.in
│   ├── flatbuffers-config.cmake
│   └── flatbuffers.pc.in
├── CMakeLists.txt
├── CONTRIBUTING.md
├── FlatBuffers.podspec
├── Formatters.md
├── LICENSE
├── MODULE.bazel
├── Package.swift
├── README.md
├── SECURITY.md
├── android/
│   ├── AndroidManifest.xml
│   ├── app/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── cpp/
│   │           │   ├── CMakeLists.txt
│   │           │   ├── animals.cpp
│   │           │   ├── flatbuffers/
│   │           │   │   └── CMakeLists.txt
│   │           │   └── generated/
│   │           │       └── animal_generated.h
│   │           ├── fbs/
│   │           │   └── animal.fbs
│   │           ├── java/
│   │           │   ├── com/
│   │           │   │   └── flatbuffers/
│   │           │   │       └── app/
│   │           │   │           └── MainActivity.kt
│   │           │   └── generated/
│   │           │       └── com/
│   │           │           └── fbs/
│   │           │               └── app/
│   │           │                   └── Animal.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   └── ic_launcher_background.xml
│   │               ├── drawable-v24/
│   │               │   └── ic_launcher_foreground.xml
│   │               ├── layout/
│   │               │   └── activity_main.xml
│   │               ├── mipmap-anydpi-v26/
│   │               │   ├── ic_launcher.xml
│   │               │   └── ic_launcher_round.xml
│   │               └── values/
│   │                   ├── colors.xml
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── bazel/
│   └── BUILD.bazel
├── benchmarks/
│   ├── CMakeLists.txt
│   ├── cpp/
│   │   ├── bench.h
│   │   ├── benchmark_main.cpp
│   │   ├── flatbuffers/
│   │   │   ├── bench.fbs
│   │   │   ├── bench_generated.h
│   │   │   ├── fb_bench.cpp
│   │   │   └── fb_bench.h
│   │   └── raw/
│   │       ├── raw_bench.cpp
│   │       └── raw_bench.h
│   └── swift/
│       ├── Benchmarks/
│       │   └── FlatbuffersBenchmarks/
│       │       └── FlatbuffersBenchmarks.swift
│       ├── Package.swift
│       └── README.md
├── build_defs.bzl
├── composer.json
├── dart/
│   ├── CHANGELOG.md
│   ├── LICENSE
│   ├── README.md
│   ├── analysis_options.yaml
│   ├── example/
│   │   ├── example.dart
│   │   └── monster_my_game.sample_generated.dart
│   ├── lib/
│   │   ├── flat_buffers.dart
│   │   ├── flex_buffers.dart
│   │   └── src/
│   │       ├── builder.dart
│   │       ├── reference.dart
│   │       └── types.dart
│   ├── publish.sh
│   ├── pubspec.yaml
│   └── test/
│       ├── bool_structs.fbs
│       ├── bool_structs_generated.dart
│       ├── enums.fbs
│       ├── enums_generated.dart
│       ├── flat_buffers_test.dart
│       ├── flex_builder_test.dart
│       ├── flex_reader_test.dart
│       ├── flex_types_test.dart
│       ├── include_test1_generated.dart
│       ├── include_test2_my_game.other_name_space_generated.dart
│       ├── keyword_test_keyword_test_generated.dart
│       ├── monster_test.fbs
│       ├── monster_test_my_game.example2_generated.dart
│       ├── monster_test_my_game.example_generated.dart
│       ├── monster_test_my_game_generated.dart
│       └── monsterdata_test.mon
├── docs/
│   ├── README.md
│   ├── mkdocs.yml
│   ├── overrides/
│   │   ├── 404.html
│   │   └── main.html
│   └── source/
│       ├── CNAME
│       ├── annotation.md
│       ├── benchmarks.md
│       ├── building.md
│       ├── contributing.md
│       ├── evolution.md
│       ├── flatc.md
│       ├── flexbuffers.md
│       ├── grammar.md
│       ├── index.md
│       ├── intermediate_representation.md
│       ├── internals.md
│       ├── languages/
│       │   ├── c.md
│       │   ├── c_sharp.md
│       │   ├── cpp.md
│       │   ├── dart.md
│       │   ├── go.md
│       │   ├── java.md
│       │   ├── javascript.md
│       │   ├── kotlin.md
│       │   ├── lobster.md
│       │   ├── lua.md
│       │   ├── php.md
│       │   ├── python.md
│       │   ├── rust.md
│       │   ├── swift.md
│       │   └── typescript.md
│       ├── quick_start.md
│       ├── schema.md
│       ├── support.md
│       ├── tutorial.md
│       └── white_paper.md
├── eslint.config.mjs
├── examples/
│   └── go-echo/
│       ├── README.md
│       ├── client/
│       │   └── client.go
│       ├── go.mod
│       ├── hero/
│       │   └── Warrior.go
│       ├── hero.fbs
│       ├── net/
│       │   ├── Request.go
│       │   └── Response.go
│       ├── net.fbs
│       └── server/
│           └── server.go
├── extensions.bzl
├── go/
│   ├── BUILD.bazel
│   ├── builder.go
│   ├── doc.go
│   ├── encode.go
│   ├── grpc.go
│   ├── lib.go
│   ├── sizes.go
│   ├── struct.go
│   └── table.go
├── goldens/
│   ├── README.md
│   ├── cpp/
│   │   ├── basic_generated.h
│   │   └── generate.py
│   ├── csharp/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.cs
│   │   │       └── Universe.cs
│   │   └── generate.py
│   ├── dart/
│   │   ├── basic_flatbuffers.goldens_generated.dart
│   │   └── generate.py
│   ├── generate_goldens.py
│   ├── go/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.go
│   │   │       └── Universe.go
│   │   └── generate.py
│   ├── golden_utils.py
│   ├── java/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.java
│   │   │       └── Universe.java
│   │   └── generate.py
│   ├── kotlin/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.kt
│   │   │       └── Universe.kt
│   │   └── generate.py
│   ├── lobster/
│   │   ├── basic_generated.lobster
│   │   └── generate.py
│   ├── lua/
│   │   ├── Galaxy.lua
│   │   ├── Universe.lua
│   │   └── generate.py
│   ├── nim/
│   │   ├── Galaxy.nim
│   │   ├── Universe.nim
│   │   └── generate.py
│   ├── php/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.php
│   │   │       └── Universe.php
│   │   └── generate.py
│   ├── py/
│   │   ├── __init__.py
│   │   ├── flatbuffers/
│   │   │   ├── __init__.py
│   │   │   └── goldens/
│   │   │       ├── Galaxy.py
│   │   │       ├── Universe.py
│   │   │       └── __init__.py
│   │   └── generate.py
│   ├── rust/
│   │   ├── basic_generated.rs
│   │   └── generate.py
│   ├── schema/
│   │   └── basic.fbs
│   ├── swift/
│   │   ├── __init__.py
│   │   ├── basic_generated.swift
│   │   └── generate.py
│   └── ts/
│       ├── basic.ts
│       ├── flatbuffers/
│       │   ├── goldens/
│       │   │   ├── galaxy.ts
│       │   │   └── universe.ts
│       │   └── goldens.ts
│       └── generate.py
├── grpc/
│   ├── BUILD.bazel
│   ├── README.md
│   ├── boringssl.patch
│   ├── build_grpc.sh
│   ├── build_grpc_with_cxx14.patch
│   ├── examples/
│   │   ├── README.md
│   │   ├── go/
│   │   │   ├── format.sh
│   │   │   └── greeter/
│   │   │       ├── .gitignore
│   │   │       ├── README.md
│   │   │       └── models/
│   │   │           ├── Greeter_grpc.go
│   │   │           ├── HelloReply.go
│   │   │           ├── HelloRequest.go
│   │   │           └── go.mod
│   │   ├── greeter.fbs
│   │   ├── python/
│   │   │   └── greeter/
│   │   │       ├── README.md
│   │   │       ├── client.py
│   │   │       ├── greeter_grpc.fb.py
│   │   │       ├── models/
│   │   │       │   ├── HelloReply.py
│   │   │       │   ├── HelloRequest.py
│   │   │       │   ├── __init__.py
│   │   │       │   └── greeter_grpc_fb.py
│   │   │       └── server.py
│   │   ├── swift/
│   │   │   └── Greeter/
│   │   │       ├── Package.swift
│   │   │       ├── README.md
│   │   │       └── Sources/
│   │   │           ├── Model/
│   │   │           │   ├── greeter.grpc.swift
│   │   │           │   └── greeter_generated.swift
│   │   │           ├── client/
│   │   │           │   └── main.swift
│   │   │           └── server/
│   │   │               └── main.swift
│   │   └── ts/
│   │       └── greeter/
│   │           ├── README.md
│   │           ├── package.json
│   │           ├── src/
│   │           │   ├── client.ts
│   │           │   ├── greeter.ts
│   │           │   ├── greeter_generated.ts
│   │           │   ├── greeter_grpc.d.ts
│   │           │   ├── greeter_grpc.js
│   │           │   ├── models/
│   │           │   │   ├── hello-reply.ts
│   │           │   │   └── hello-request.ts
│   │           │   ├── models.ts
│   │           │   └── server.ts
│   │           └── tsconfig.json
│   ├── flatbuffers-java-grpc/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── google/
│   │                       └── flatbuffers/
│   │                           └── grpc/
│   │                               └── FlatbuffersUtils.java
│   ├── pom.xml
│   ├── samples/
│   │   └── greeter/
│   │       ├── client.cpp
│   │       ├── greeter.fbs
│   │       └── server.cpp
│   ├── src/
│   │   └── compiler/
│   │       ├── BUILD.bazel
│   │       ├── cpp_generator.cc
│   │       ├── cpp_generator.h
│   │       ├── go_generator.cc
│   │       ├── go_generator.h
│   │       ├── java_generator.cc
│   │       ├── java_generator.h
│   │       ├── python_generator.cc
│   │       ├── python_generator.h
│   │       ├── schema_interface.h
│   │       ├── swift_generator.cc
│   │       ├── swift_generator.h
│   │       ├── ts_generator.cc
│   │       └── ts_generator.h
│   └── tests/
│       ├── BUILD
│       ├── GameFactory.java
│       ├── JavaGrpcTest.java
│       ├── go_test.go
│       ├── grpctest.cpp
│       ├── grpctest.py
│       ├── grpctest_callback_client_compile.cpp
│       ├── grpctest_callback_compile.cpp
│       ├── java-grpc-test.sh
│       ├── message_builder_test.cpp
│       └── pom.xml
├── include/
│   ├── codegen/
│   │   ├── BUILD.bazel
│   │   ├── idl_namer.h
│   │   ├── namer.h
│   │   ├── python.cc
│   │   └── python.h
│   └── flatbuffers/
│       ├── allocator.h
│       ├── array.h
│       ├── base.h
│       ├── buffer.h
│       ├── buffer_ref.h
│       ├── code_generator.h
│       ├── code_generators.h
│       ├── default_allocator.h
│       ├── detached_buffer.h
│       ├── file_manager.h
│       ├── flatbuffer_builder.h
│       ├── flatbuffers.h
│       ├── flatc.h
│       ├── flex_flat_util.h
│       ├── flexbuffers.h
│       ├── grpc.h
│       ├── hash.h
│       ├── idl.h
│       ├── minireflect.h
│       ├── pch/
│       │   ├── flatc_pch.h
│       │   └── pch.h
│       ├── reflection.h
│       ├── reflection_generated.h
│       ├── registry.h
│       ├── stl_emulation.h
│       ├── string.h
│       ├── struct.h
│       ├── table.h
│       ├── util.h
│       ├── vector.h
│       ├── vector_downward.h
│       └── verifier.h
├── java/
│   ├── pom.xml
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── google/
│       │               └── flatbuffers/
│       │                   ├── ArrayReadWriteBuf.java
│       │                   ├── BaseVector.java
│       │                   ├── BooleanVector.java
│       │                   ├── ByteBufferReadWriteBuf.java
│       │                   ├── ByteBufferUtil.java
│       │                   ├── ByteVector.java
│       │                   ├── Constants.java
│       │                   ├── DoubleVector.java
│       │                   ├── FlatBufferBuilder.java
│       │                   ├── FlexBuffers.java
│       │                   ├── FlexBuffersBuilder.java
│       │                   ├── FloatVector.java
│       │                   ├── IntVector.java
│       │                   ├── LongVector.java
│       │                   ├── ReadBuf.java
│       │                   ├── ReadWriteBuf.java
│       │                   ├── ShortVector.java
│       │                   ├── StringVector.java
│       │                   ├── Struct.java
│       │                   ├── Table.java
│       │                   ├── UnionVector.java
│       │                   ├── Utf8.java
│       │                   ├── Utf8Old.java
│       │                   ├── Utf8Safe.java
│       │                   └── reflection/
│       │                       ├── AdvancedFeatures.java
│       │                       ├── BaseType.java
│       │                       ├── Enum.java
│       │                       ├── EnumVal.java
│       │                       ├── Field.java
│       │                       ├── KeyValue.java
│       │                       ├── Object.java
│       │                       ├── RPCCall.java
│       │                       ├── Schema.java
│       │                       ├── SchemaFile.java
│       │                       ├── Service.java
│       │                       └── Type.java
│       └── test/
│           ├── java/
│           │   └── JavaTest.java
│           └── resources/
│               └── monsterdata_test.mon
├── js/
│   └── README.md
├── kotlin/
│   ├── benchmark/
│   │   ├── build.gradle.kts
│   │   ├── monster_test_java.fbs
│   │   ├── monster_test_kotlin.fbs
│   │   └── src/
│   │       └── jvmMain/
│   │           └── kotlin/
│   │               └── com/
│   │                   └── google/
│   │                       └── flatbuffers/
│   │                           └── kotlin/
│   │                               └── benchmark/
│   │                                   ├── FlatbufferBenchmark.kt
│   │                                   ├── FlexBuffersBenchmark.kt
│   │                                   ├── JsonBenchmark.kt
│   │                                   └── UTF8Benchmark.kt
│   ├── build.gradle.kts
│   ├── convention-plugins/
│   │   ├── build.gradle.kts
│   │   └── src/
│   │       └── main/
│   │           └── kotlin/
│   │               └── convention.publication.gradle.kts
│   ├── flatbuffers-kotlin/
│   │   ├── build.gradle.kts
│   │   └── src/
│   │       ├── commonMain/
│   │       │   └── kotlin/
│   │       │       └── com/
│   │       │           └── google/
│   │       │               └── flatbuffers/
│   │       │                   └── kotlin/
│   │       │                       ├── Buffers.kt
│   │       │                       ├── ByteArray.kt
│   │       │                       ├── FlatBufferBuilder.kt
│   │       │                       ├── Flatbuffers.kt
│   │       │                       ├── FlexBuffers.kt
│   │       │                       ├── FlexBuffersBuilder.kt
│   │       │                       ├── FlexBuffersInternals.kt
│   │       │                       ├── Utf8.kt
│   │       │                       └── json.kt
│   │       ├── commonTest/
│   │       │   └── kotlin/
│   │       │       └── com/
│   │       │           └── google/
│   │       │               └── flatbuffers/
│   │       │                   └── kotlin/
│   │       │                       ├── Asserts.kt
│   │       │                       ├── BuffersTest.kt
│   │       │                       ├── ByteArrayTest.kt
│   │       │                       ├── FlatBufferBuilderTest.kt
│   │       │                       ├── FlexBuffersTest.kt
│   │       │                       └── JSONTest.kt
│   │       ├── jsMain/
│   │       │   └── kotlin/
│   │       │       └── com/
│   │       │           └── google/
│   │       │               └── flatbuffers/
│   │       │                   └── kotlin/
│   │       │                       └── ByteArray.kt
│   │       ├── jvmMain/
│   │       │   └── kotlin/
│   │       │       └── com/
│   │       │           └── google/
│   │       │               └── flatbuffers/
│   │       │                   └── kotlin/
│   │       │                       └── ByteArray.kt
│   │       ├── jvmTest/
│   │       │   ├── kotlin/
│   │       │   │   └── com/
│   │       │   │       └── google/
│   │       │   │           └── flatbuffers/
│   │       │   │               └── kotlin/
│   │       │   │                   └── Utf8Test.kt
│   │       │   └── resources/
│   │       │       └── utf8_sample.txt
│   │       └── nativeMain/
│   │           └── kotlin/
│   │               └── com/
│   │                   └── google/
│   │                       └── flatbuffers/
│   │                           └── kotlin/
│   │                               └── ByteArray.kt
│   ├── gradle/
│   │   ├── libs.versions.toml
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle.kts
│   └── spotless/
│       └── spotless.kt
├── library.json
├── lobster/
│   └── flatbuffers.lobster
├── lua/
│   ├── flatbuffers/
│   │   ├── binaryarray.lua
│   │   ├── builder.lua
│   │   ├── compat.lua
│   │   ├── compat_5_1.lua
│   │   ├── compat_5_3.lua
│   │   ├── compat_luajit.lua
│   │   ├── numTypes.lua
│   │   └── view.lua
│   └── flatbuffers.lua
├── mjs/
│   └── README.md
├── net/
│   └── FlatBuffers/
│       ├── ByteBuffer.cs
│       ├── ByteBufferUtil.cs
│       ├── FlatBufferBuilder.cs
│       ├── FlatBufferConstants.cs
│       ├── FlatBufferVerify.cs
│       ├── Google.FlatBuffers.csproj
│       ├── IFlatbufferObject.cs
│       ├── Offset.cs
│       ├── Struct.cs
│       ├── Table.cs
│       └── flatbuffers.snk
├── nim/
│   ├── flatbuffers/
│   │   ├── flatbuffers.nim
│   │   └── src/
│   │       ├── builder.nim
│   │       ├── endian.nim
│   │       ├── struct.nim
│   │       └── table.nim
│   └── flatbuffers.nimble
├── package.json
├── php/
│   ├── ByteBuffer.php
│   ├── Constants.php
│   ├── FlatbufferBuilder.php
│   ├── Struct.php
│   └── Table.php
├── python/
│   ├── .gitignore
│   ├── __init__.py
│   ├── flatbuffers/
│   │   ├── __init__.py
│   │   ├── _version.py
│   │   ├── builder.py
│   │   ├── compat.py
│   │   ├── encode.py
│   │   ├── flexbuffers.py
│   │   ├── number_types.py
│   │   ├── packer.py
│   │   ├── reflection/
│   │   │   ├── AdvancedFeatures.py
│   │   │   ├── BaseType.py
│   │   │   ├── Enum.py
│   │   │   ├── EnumVal.py
│   │   │   ├── Field.py
│   │   │   ├── KeyValue.py
│   │   │   ├── Object.py
│   │   │   ├── RPCCall.py
│   │   │   ├── Schema.py
│   │   │   ├── SchemaFile.py
│   │   │   ├── Service.py
│   │   │   ├── Type.py
│   │   │   └── __init__.py
│   │   ├── table.py
│   │   └── util.py
│   ├── py.typed
│   ├── setup.cfg
│   └── setup.py
├── reflection/
│   ├── BUILD.bazel
│   ├── reflection.fbs
│   └── ts/
│       └── BUILD.bazel
├── rust/
│   ├── flatbuffers/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── build.rs
│   │   └── src/
│   │       ├── array.rs
│   │       ├── builder.rs
│   │       ├── endian_scalar.rs
│   │       ├── follow.rs
│   │       ├── get_root.rs
│   │       ├── lib.rs
│   │       ├── primitives.rs
│   │       ├── push.rs
│   │       ├── table.rs
│   │       ├── vector.rs
│   │       ├── verifier.rs
│   │       ├── vtable.rs
│   │       └── vtable_writer.rs
│   ├── flexbuffers/
│   │   ├── .gitignore
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       ├── bitwidth.rs
│   │       ├── buffer.rs
│   │       ├── builder/
│   │       │   ├── map.rs
│   │       │   ├── mod.rs
│   │       │   ├── push.rs
│   │       │   ├── ser.rs
│   │       │   ├── value.rs
│   │       │   └── vector.rs
│   │       ├── flexbuffer_type.rs
│   │       ├── lib.rs
│   │       └── reader/
│   │           ├── de.rs
│   │           ├── iter.rs
│   │           ├── map.rs
│   │           ├── mod.rs
│   │           ├── serialize.rs
│   │           └── vector.rs
│   └── reflection/
│       ├── .gitignore
│       ├── Cargo.toml
│       └── src/
│           ├── lib.rs
│           ├── reflection_generated.rs
│           ├── reflection_verifier.rs
│           ├── safe_buffer.rs
│           └── struct.rs
├── samples/
│   ├── SampleBinary.cs
│   ├── SampleBinary.java
│   ├── SampleBinary.kt
│   ├── SampleBinary.php
│   ├── csharp_sample.sh
│   ├── dart_sample.sh
│   ├── go.mod
│   ├── go_sample.sh
│   ├── java_sample.sh
│   ├── javascript_sample.sh
│   ├── kotlin_sample.sh
│   ├── lua/
│   │   └── MyGame/
│   │       └── Sample/
│   │           ├── Color.lua
│   │           ├── Equipment.lua
│   │           ├── Monster.lua
│   │           ├── Vec3.lua
│   │           └── Weapon.lua
│   ├── monster.bfbs
│   ├── monster.fbs
│   ├── monster_generated.h
│   ├── monster_generated.lobster
│   ├── monster_generated.swift
│   ├── monsterdata.json
│   ├── php_sample.sh
│   ├── python_sample.sh
│   ├── rust_generated/
│   │   ├── mod.rs
│   │   └── my_game/
│   │       └── sample/
│   │           ├── color_generated.rs
│   │           ├── equipment_generated.rs
│   │           ├── monster_generated.rs
│   │           ├── vec_3_generated.rs
│   │           └── weapon_generated.rs
│   ├── sample_bfbs.cpp
│   ├── sample_binary.cpp
│   ├── sample_binary.go
│   ├── sample_binary.lobster
│   ├── sample_binary.lua
│   ├── sample_binary.py
│   ├── sample_binary.rs
│   ├── sample_binary.swift
│   ├── sample_flexbuffers.rs
│   ├── sample_flexbuffers_serde.rs
│   ├── sample_text.cpp
│   └── sample_text.lobster
├── scripts/
│   ├── check-grpc-generated-code.py
│   ├── check_generate_code.py
│   ├── clang-format-all.sh
│   ├── clang-format-git.sh
│   ├── clang-tidy-git.sh
│   ├── generate_code.py
│   ├── generate_grpc_examples.py
│   ├── release.sh
│   └── util.py
├── snap/
│   └── snapcraft.yaml
├── src/
│   ├── BUILD.bazel
│   ├── annotated_binary_text_gen.cpp
│   ├── annotated_binary_text_gen.h
│   ├── bfbs_gen.h
│   ├── bfbs_gen_lua.cpp
│   ├── bfbs_gen_lua.h
│   ├── bfbs_gen_nim.cpp
│   ├── bfbs_gen_nim.h
│   ├── bfbs_namer.h
│   ├── binary_annotator.cpp
│   ├── binary_annotator.h
│   ├── code_generators.cpp
│   ├── file_manager.cpp
│   ├── file_name_manager.cpp
│   ├── flatc.cpp
│   ├── flatc_main.cpp
│   ├── flathash.cpp
│   ├── idl_gen_binary.cpp
│   ├── idl_gen_binary.h
│   ├── idl_gen_cpp.cpp
│   ├── idl_gen_cpp.h
│   ├── idl_gen_csharp.cpp
│   ├── idl_gen_csharp.h
│   ├── idl_gen_dart.cpp
│   ├── idl_gen_dart.h
│   ├── idl_gen_fbs.cpp
│   ├── idl_gen_fbs.h
│   ├── idl_gen_go.cpp
│   ├── idl_gen_go.h
│   ├── idl_gen_grpc.cpp
│   ├── idl_gen_java.cpp
│   ├── idl_gen_java.h
│   ├── idl_gen_json_schema.cpp
│   ├── idl_gen_json_schema.h
│   ├── idl_gen_kotlin.cpp
│   ├── idl_gen_kotlin.h
│   ├── idl_gen_kotlin_kmp.cpp
│   ├── idl_gen_lobster.cpp
│   ├── idl_gen_lobster.h
│   ├── idl_gen_php.cpp
│   ├── idl_gen_php.h
│   ├── idl_gen_python.cpp
│   ├── idl_gen_python.h
│   ├── idl_gen_rust.cpp
│   ├── idl_gen_rust.h
│   ├── idl_gen_swift.cpp
│   ├── idl_gen_swift.h
│   ├── idl_gen_text.cpp
│   ├── idl_gen_text.h
│   ├── idl_gen_ts.cpp
│   ├── idl_gen_ts.h
│   ├── idl_namer.h
│   ├── idl_parser.cpp
│   ├── namer.h
│   ├── reflection.cpp
│   └── util.cpp
├── swift/
│   ├── BUILD.bazel
│   ├── LICENSE
│   ├── README.md
│   └── Sources/
│       ├── Common/
│       │   ├── Int+extension.swift
│       │   ├── Scalar.swift
│       │   └── padding.swift
│       ├── FlatBuffers/
│       │   ├── ByteBuffer.swift
│       │   ├── Constants.swift
│       │   ├── Documentation.docc/
│       │   │   ├── Documentation.md
│       │   │   ├── Resources/
│       │   │   │   └── code/
│       │   │   │       ├── fbs/
│       │   │   │       │   ├── monster_step_1.fbs
│       │   │   │       │   ├── monster_step_2.fbs
│       │   │   │       │   ├── monster_step_3.fbs
│       │   │   │       │   ├── monster_step_4.fbs
│       │   │   │       │   ├── monster_step_5.fbs
│       │   │   │       │   ├── monster_step_6.fbs
│       │   │   │       │   └── monster_step_7.fbs
│       │   │   │       └── swift/
│       │   │   │           ├── swift_code_1.swift
│       │   │   │           ├── swift_code_10.swift
│       │   │   │           ├── swift_code_11.swift
│       │   │   │           ├── swift_code_12.swift
│       │   │   │           ├── swift_code_13.swift
│       │   │   │           ├── swift_code_2.swift
│       │   │   │           ├── swift_code_3.swift
│       │   │   │           ├── swift_code_4.swift
│       │   │   │           ├── swift_code_5.swift
│       │   │   │           ├── swift_code_6.swift
│       │   │   │           ├── swift_code_7.swift
│       │   │   │           ├── swift_code_8.swift
│       │   │   │           └── swift_code_9.swift
│       │   │   └── Tutorials/
│       │   │       ├── Tutorial_Table_of_Contents.tutorial
│       │   │       ├── create_your_first_buffer.tutorial
│       │   │       ├── creating_flatbuffer_schema.tutorial
│       │   │       └── reading_bytebuffer.tutorial
│       │   ├── Enum.swift
│       │   ├── FlatBufferBuilder.swift
│       │   ├── FlatBufferObject.swift
│       │   ├── FlatBuffersUtils.swift
│       │   ├── FlatbuffersErrors.swift
│       │   ├── Message.swift
│       │   ├── Mutable.swift
│       │   ├── NativeObject.swift
│       │   ├── Offset.swift
│       │   ├── Root.swift
│       │   ├── String+extension.swift
│       │   ├── Struct.swift
│       │   ├── Table.swift
│       │   ├── TableVerifier.swift
│       │   ├── Vectors/
│       │   │   ├── FlatbufferVector.swift
│       │   │   ├── FlatbuffersVectorInitializable.swift
│       │   │   └── UnionFlatbufferVector.swift
│       │   ├── VeriferOptions.swift
│       │   ├── Verifiable.swift
│       │   ├── Verifier.swift
│       │   └── _InternalByteBuffer.swift
│       └── FlexBuffers/
│           ├── ByteBuffer.swift
│           ├── FlexBufferType.swift
│           ├── Reader/
│           │   ├── FixedTypedVector.swift
│           │   ├── FlexBufferVector.swift
│           │   ├── Map.swift
│           │   ├── Reference.swift
│           │   ├── Sized.swift
│           │   ├── TypedVector.swift
│           │   └── Vector.swift
│           ├── Utils/
│           │   ├── BitWidth.swift
│           │   ├── Constants.swift
│           │   ├── Value.swift
│           │   └── functions.swift
│           ├── Writer/
│           │   └── FlexBuffersWriter.swift
│           └── _InternalByteBuffer.swift
├── swift.swiftformat
├── tests/
│   ├── .gitignore
│   ├── 64bit/
│   │   ├── evolution/
│   │   │   ├── v1.fbs
│   │   │   └── v2.fbs
│   │   ├── offset64_test.cpp
│   │   ├── offset64_test.h
│   │   ├── test_64bit.afb
│   │   ├── test_64bit.bfbs
│   │   ├── test_64bit.fbs
│   │   └── test_64bit.json
│   ├── Abc.nim
│   ├── BUILD.bazel
│   ├── DartTest.sh
│   ├── DictionaryLookup/
│   │   ├── LongFloatEntry.java
│   │   ├── LongFloatEntry.kt
│   │   ├── LongFloatMap.java
│   │   └── LongFloatMap.kt
│   ├── FlatBuffers.Benchmarks/
│   │   ├── FlatBufferBuilderBenchmark.cs
│   │   ├── FlatBuffers.Benchmarks.csproj
│   │   └── Program.cs
│   ├── FlatBuffers.Test/
│   │   ├── .gitignore
│   │   ├── Assert.cs
│   │   ├── ByteBufferTests.cs
│   │   ├── FlatBufferBuilderTests.cs
│   │   ├── FlatBuffers.Test.csproj
│   │   ├── FlatBuffersExampleTests.cs
│   │   ├── FlatBuffersFixedLengthArrayTests.cs
│   │   ├── FlatBuffersFuzzTests.cs
│   │   ├── FlatBuffersTestClassAttribute.cs
│   │   ├── FlatBuffersTestMethodAttribute.cs
│   │   ├── FuzzTestData.cs
│   │   ├── Lcg.cs
│   │   ├── NetTest.bat
│   │   ├── NetTest.sh
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── README.md
│   │   ├── TestTable.cs
│   │   ├── clean.sh
│   │   ├── monsterdata_cstest.mon
│   │   ├── monsterdata_cstest_sp.mon
│   │   └── packages.config
│   ├── GoTest.sh
│   ├── KeywordTest/
│   │   ├── ABC.cs
│   │   ├── KeywordsInTable.cs
│   │   ├── KeywordsInUnion.cs
│   │   ├── Table2.cs
│   │   └── public.cs
│   ├── KotlinTest.kt
│   ├── KotlinTest.sh
│   ├── LobsterTest.bat
│   ├── LuaTest.bat
│   ├── LuaTest.sh
│   ├── MoreDefaults.nim
│   ├── MutatingBool.fbs
│   ├── MyGame/
│   │   ├── Example/
│   │   │   ├── Ability.cs
│   │   │   ├── Ability.go
│   │   │   ├── Ability.java
│   │   │   ├── Ability.kt
│   │   │   ├── Ability.lua
│   │   │   ├── Ability.nim
│   │   │   ├── Ability.php
│   │   │   ├── Ability.py
│   │   │   ├── AbilityT.java
│   │   │   ├── Any.cs
│   │   │   ├── Any.go
│   │   │   ├── Any.java
│   │   │   ├── Any.kt
│   │   │   ├── Any.lua
│   │   │   ├── Any.nim
│   │   │   ├── Any.php
│   │   │   ├── Any.py
│   │   │   ├── AnyAmbiguousAliases.cs
│   │   │   ├── AnyAmbiguousAliases.go
│   │   │   ├── AnyAmbiguousAliases.java
│   │   │   ├── AnyAmbiguousAliases.kt
│   │   │   ├── AnyAmbiguousAliases.lua
│   │   │   ├── AnyAmbiguousAliases.nim
│   │   │   ├── AnyAmbiguousAliases.php
│   │   │   ├── AnyAmbiguousAliases.py
│   │   │   ├── AnyAmbiguousAliasesUnion.java
│   │   │   ├── AnyUnion.java
│   │   │   ├── AnyUniqueAliases.cs
│   │   │   ├── AnyUniqueAliases.go
│   │   │   ├── AnyUniqueAliases.java
│   │   │   ├── AnyUniqueAliases.kt
│   │   │   ├── AnyUniqueAliases.lua
│   │   │   ├── AnyUniqueAliases.nim
│   │   │   ├── AnyUniqueAliases.php
│   │   │   ├── AnyUniqueAliases.py
│   │   │   ├── AnyUniqueAliasesUnion.java
│   │   │   ├── ArrayStruct.cs
│   │   │   ├── ArrayStruct.java
│   │   │   ├── ArrayStruct.py
│   │   │   ├── ArrayStruct.pyi
│   │   │   ├── ArrayStructT.java
│   │   │   ├── ArrayTable.cs
│   │   │   ├── ArrayTable.java
│   │   │   ├── ArrayTable.py
│   │   │   ├── ArrayTable.pyi
│   │   │   ├── ArrayTableT.java
│   │   │   ├── Color.cs
│   │   │   ├── Color.go
│   │   │   ├── Color.java
│   │   │   ├── Color.kt
│   │   │   ├── Color.lua
│   │   │   ├── Color.nim
│   │   │   ├── Color.php
│   │   │   ├── Color.py
│   │   │   ├── LargeArrayStruct.cs
│   │   │   ├── LargeArrayStruct.java
│   │   │   ├── LargeArrayStruct.py
│   │   │   ├── LargeArrayStruct.pyi
│   │   │   ├── LargeArrayStructT.java
│   │   │   ├── LongEnum.cs
│   │   │   ├── LongEnum.go
│   │   │   ├── LongEnum.java
│   │   │   ├── LongEnum.kt
│   │   │   ├── LongEnum.lua
│   │   │   ├── LongEnum.nim
│   │   │   ├── LongEnum.php
│   │   │   ├── LongEnum.py
│   │   │   ├── Monster.cs
│   │   │   ├── Monster.go
│   │   │   ├── Monster.java
│   │   │   ├── Monster.kt
│   │   │   ├── Monster.lua
│   │   │   ├── Monster.nim
│   │   │   ├── Monster.php
│   │   │   ├── Monster.py
│   │   │   ├── MonsterStorageGrpc.java
│   │   │   ├── MonsterStorage_grpc.go
│   │   │   ├── MonsterT.java
│   │   │   ├── NestedStruct.cs
│   │   │   ├── NestedStruct.java
│   │   │   ├── NestedStruct.py
│   │   │   ├── NestedStruct.pyi
│   │   │   ├── NestedStructT.java
│   │   │   ├── NestedUnion/
│   │   │   │   ├── Any.py
│   │   │   │   ├── Any.pyi
│   │   │   │   ├── Color.py
│   │   │   │   ├── Color.pyi
│   │   │   │   ├── NestedUnionTest.py
│   │   │   │   ├── NestedUnionTest.pyi
│   │   │   │   ├── Test.py
│   │   │   │   ├── Test.pyi
│   │   │   │   ├── TestSimpleTableWithEnum.py
│   │   │   │   ├── TestSimpleTableWithEnum.pyi
│   │   │   │   ├── Vec3.py
│   │   │   │   ├── Vec3.pyi
│   │   │   │   └── __init__.py
│   │   │   ├── Race.cs
│   │   │   ├── Race.go
│   │   │   ├── Race.java
│   │   │   ├── Race.kt
│   │   │   ├── Race.lua
│   │   │   ├── Race.nim
│   │   │   ├── Race.php
│   │   │   ├── Race.py
│   │   │   ├── Referrable.cs
│   │   │   ├── Referrable.go
│   │   │   ├── Referrable.java
│   │   │   ├── Referrable.kt
│   │   │   ├── Referrable.lua
│   │   │   ├── Referrable.nim
│   │   │   ├── Referrable.php
│   │   │   ├── Referrable.py
│   │   │   ├── ReferrableT.java
│   │   │   ├── Stat.cs
│   │   │   ├── Stat.go
│   │   │   ├── Stat.java
│   │   │   ├── Stat.kt
│   │   │   ├── Stat.lua
│   │   │   ├── Stat.nim
│   │   │   ├── Stat.php
│   │   │   ├── Stat.py
│   │   │   ├── StatT.java
│   │   │   ├── StructOfStructs.cs
│   │   │   ├── StructOfStructs.go
│   │   │   ├── StructOfStructs.java
│   │   │   ├── StructOfStructs.kt
│   │   │   ├── StructOfStructs.lua
│   │   │   ├── StructOfStructs.nim
│   │   │   ├── StructOfStructs.php
│   │   │   ├── StructOfStructs.py
│   │   │   ├── StructOfStructsOfStructs.cs
│   │   │   ├── StructOfStructsOfStructs.go
│   │   │   ├── StructOfStructsOfStructs.java
│   │   │   ├── StructOfStructsOfStructs.kt
│   │   │   ├── StructOfStructsOfStructs.lua
│   │   │   ├── StructOfStructsOfStructs.nim
│   │   │   ├── StructOfStructsOfStructs.php
│   │   │   ├── StructOfStructsOfStructs.py
│   │   │   ├── StructOfStructsOfStructsT.java
│   │   │   ├── StructOfStructsT.java
│   │   │   ├── Test.cs
│   │   │   ├── Test.go
│   │   │   ├── Test.java
│   │   │   ├── Test.kt
│   │   │   ├── Test.lua
│   │   │   ├── Test.nim
│   │   │   ├── Test.php
│   │   │   ├── Test.py
│   │   │   ├── TestEnum.cs
│   │   │   ├── TestEnum.java
│   │   │   ├── TestEnum.kt
│   │   │   ├── TestEnum.py
│   │   │   ├── TestEnum.pyi
│   │   │   ├── TestSimpleTableWithEnum.cs
│   │   │   ├── TestSimpleTableWithEnum.go
│   │   │   ├── TestSimpleTableWithEnum.java
│   │   │   ├── TestSimpleTableWithEnum.kt
│   │   │   ├── TestSimpleTableWithEnum.lua
│   │   │   ├── TestSimpleTableWithEnum.nim
│   │   │   ├── TestSimpleTableWithEnum.php
│   │   │   ├── TestSimpleTableWithEnum.py
│   │   │   ├── TestSimpleTableWithEnumT.java
│   │   │   ├── TestT.java
│   │   │   ├── TypeAliases.cs
│   │   │   ├── TypeAliases.go
│   │   │   ├── TypeAliases.java
│   │   │   ├── TypeAliases.kt
│   │   │   ├── TypeAliases.lua
│   │   │   ├── TypeAliases.nim
│   │   │   ├── TypeAliases.php
│   │   │   ├── TypeAliases.py
│   │   │   ├── TypeAliasesT.java
│   │   │   ├── Vec3.cs
│   │   │   ├── Vec3.go
│   │   │   ├── Vec3.java
│   │   │   ├── Vec3.kt
│   │   │   ├── Vec3.lua
│   │   │   ├── Vec3.nim
│   │   │   ├── Vec3.php
│   │   │   ├── Vec3.py
│   │   │   ├── Vec3T.java
│   │   │   ├── __init__.py
│   │   │   └── monster_test_grpc_fb.py
│   │   ├── Example2/
│   │   │   ├── Monster.cs
│   │   │   ├── Monster.go
│   │   │   ├── Monster.java
│   │   │   ├── Monster.kt
│   │   │   ├── Monster.lua
│   │   │   ├── Monster.nim
│   │   │   ├── Monster.php
│   │   │   ├── Monster.py
│   │   │   ├── MonsterT.java
│   │   │   └── __init__.py
│   │   ├── InParentNamespace.cs
│   │   ├── InParentNamespace.go
│   │   ├── InParentNamespace.java
│   │   ├── InParentNamespace.kt
│   │   ├── InParentNamespace.lua
│   │   ├── InParentNamespace.nim
│   │   ├── InParentNamespace.php
│   │   ├── InParentNamespace.py
│   │   ├── InParentNamespaceT.java
│   │   ├── MonsterExtra.cs
│   │   ├── MonsterExtra.java
│   │   ├── MonsterExtra.kt
│   │   ├── MonsterExtra.py
│   │   ├── MonsterExtra.pyi
│   │   ├── MonsterExtraT.java
│   │   ├── OtherNameSpace/
│   │   │   ├── FromInclude.lua
│   │   │   ├── FromInclude.nim
│   │   │   ├── TableB.lua
│   │   │   ├── TableB.nim
│   │   │   ├── TableBT.java
│   │   │   ├── Unused.lua
│   │   │   ├── Unused.nim
│   │   │   └── UnusedT.java
│   │   └── __init__.py
│   ├── Pizza.go
│   ├── Property.nim
│   ├── PythonTest.sh
│   ├── RustTest.bat
│   ├── RustTest.sh
│   ├── TableA.lua
│   ├── TableA.nim
│   ├── TableAT.java
│   ├── TestAll.sh
│   ├── TestMutatingBool.nim
│   ├── alignment_test.cpp
│   ├── alignment_test.fbs
│   ├── alignment_test.h
│   ├── alignment_test.json
│   ├── alignment_test_after_fix.afb
│   ├── alignment_test_before_fix.afb
│   ├── annotated_binary/
│   │   ├── README.md
│   │   ├── annotated_binary.afb
│   │   ├── annotated_binary.bfbs
│   │   ├── annotated_binary.fbs
│   │   ├── annotated_binary.json
│   │   ├── annotated_binary_old.afb
│   │   ├── annotated_binary_old.fbs
│   │   ├── generate_annotations.py
│   │   └── tests/
│   │       ├── README.md
│   │       ├── invalid_root_offset.afb
│   │       ├── invalid_root_table_too_short.afb
│   │       ├── invalid_root_table_vtable_offset.afb
│   │       ├── invalid_string_length.afb
│   │       ├── invalid_string_length_cut_short.afb
│   │       ├── invalid_struct_array_field_cut_short.afb
│   │       ├── invalid_struct_field_cut_short.afb
│   │       ├── invalid_table_field_offset.afb
│   │       ├── invalid_table_field_size.afb
│   │       ├── invalid_union_type_value.afb
│   │       ├── invalid_vector_length_cut_short.afb
│   │       ├── invalid_vector_scalars_cut_short.afb
│   │       ├── invalid_vector_strings_cut_short.afb
│   │       ├── invalid_vector_structs_cut_short.afb
│   │       ├── invalid_vector_tables_cut_short.afb
│   │       ├── invalid_vector_union_type_value.afb
│   │       ├── invalid_vector_unions_cut_short.afb
│   │       ├── invalid_vtable_field_offset.afb
│   │       ├── invalid_vtable_ref_table_size.afb
│   │       ├── invalid_vtable_ref_table_size_short.afb
│   │       ├── invalid_vtable_size.afb
│   │       └── invalid_vtable_size_short.afb
│   ├── arrays_test/
│   │   ├── arrays_test_generated.rs
│   │   ├── mod.rs
│   │   └── my_game/
│   │       └── example/
│   │           ├── array_struct_generated.rs
│   │           ├── array_table_generated.rs
│   │           ├── large_array_struct_generated.rs
│   │           ├── nested_struct_generated.rs
│   │           └── test_enum_generated.rs
│   ├── arrays_test.bfbs
│   ├── arrays_test.fbs
│   ├── arrays_test.golden
│   ├── arrays_test.schema.json
│   ├── bazel_repository_test_dir/
│   │   ├── .bazelrc
│   │   ├── .gitignore
│   │   ├── BUILD
│   │   ├── MODULE.bazel
│   │   ├── README.md
│   │   └── pulls_in_flatbuffers_test.cpp
│   ├── cpp17/
│   │   ├── stringify_util.h
│   │   └── test_cpp17.cpp
│   ├── cross_namespace_pack_test.fbs
│   ├── default_vectors_strings_test.cpp
│   ├── default_vectors_strings_test.fbs
│   ├── default_vectors_strings_test.h
│   ├── dictionary_lookup.fbs
│   ├── docker/
│   │   ├── Dockerfile.testing.build_flatc_debian_stretch
│   │   ├── Dockerfile.testing.cpp.debian_buster
│   │   ├── TODO.Dockerfile.testing.php.hhvm_2019_01_16
│   │   ├── TODO.Dockerfile.testing.python.cpython_with_conda
│   │   ├── TODO.Dockerfile.testing.python.cpython_with_numpy
│   │   ├── TODO.Dockerfile.testing.python.pypy_6_0_0_py2
│   │   ├── TODO.Dockerfile.testing.python.pypy_6_0_0_py3
│   │   ├── build_flatc.run.sh
│   │   ├── cpp_test.run.sh
│   │   └── languages/
│   │       ├── Dockerfile.testing.csharp.mono_5_18
│   │       ├── Dockerfile.testing.golang.1_11
│   │       ├── Dockerfile.testing.java.openjdk_10_0_2
│   │       ├── Dockerfile.testing.java.openjdk_11_0_1
│   │       ├── Dockerfile.testing.node.12_20_1
│   │       ├── Dockerfile.testing.node.14_15_4
│   │       ├── Dockerfile.testing.php.zend_7_3
│   │       ├── Dockerfile.testing.python.cpython_2_7_15
│   │       ├── Dockerfile.testing.python.cpython_3_7_1
│   │       ├── Dockerfile.testing.python.numpy.cpython_2_7_15
│   │       ├── Dockerfile.testing.python.numpy.cpython_3_7_1
│   │       ├── Dockerfile.testing.rust.1_51_0
│   │       ├── Dockerfile.testing.rust.big_endian.1_51_0
│   │       ├── Dockerfile.testing.rust.nightly
│   │       └── Dockerfile.testing.swift_5_2
│   ├── even_more_defaults.fbs
│   ├── evolution_test/
│   │   ├── evolution_v1.fbs
│   │   ├── evolution_v1.json
│   │   ├── evolution_v2.fbs
│   │   └── evolution_v2.json
│   ├── evolution_test.cpp
│   ├── evolution_test.h
│   ├── flexbuffers_test.cpp
│   ├── flexbuffers_test.h
│   ├── fuzz_test.cpp
│   ├── fuzz_test.h
│   ├── fuzzer/
│   │   ├── .gitignore
│   │   ├── CMakeLists.txt
│   │   ├── codegen_json.dict
│   │   ├── flatbuffers_64bit_fuzzer.cc
│   │   ├── flatbuffers_annotator_fuzzer.cc
│   │   ├── flatbuffers_codegen_fuzzer.cc
│   │   ├── flatbuffers_monster_fuzzer.cc
│   │   ├── flatbuffers_parser_fuzzer.cc
│   │   ├── flatbuffers_scalar_fuzzer.cc
│   │   ├── flatbuffers_verifier_fuzzer.cc
│   │   ├── flexbuffers_verifier_fuzzer.cc
│   │   ├── fuzzer_assert.h
│   │   ├── monster_debug.cpp
│   │   ├── monster_fuzzer.dict
│   │   ├── parser_fuzzer.dict
│   │   ├── readme.md
│   │   ├── scalar_debug.cpp
│   │   ├── scalar_fuzzer.dict
│   │   ├── seed_codegen/
│   │   │   ├── attributes_test
│   │   │   ├── complex_schema
│   │   │   ├── empty_namespace
│   │   │   ├── enum_test
│   │   │   ├── monster_sample
│   │   │   ├── rpc_test
│   │   │   ├── struct_test
│   │   │   └── test_union
│   │   └── test_init.h
│   ├── go_test.go
│   ├── include_build_test.cc
│   ├── include_test/
│   │   ├── include_test1.fbs
│   │   ├── order.fbs
│   │   └── sub/
│   │       ├── include_test2.fbs
│   │       └── no_namespace.fbs
│   ├── include_test1/
│   │   ├── mod.rs
│   │   ├── my_game/
│   │   │   └── other_name_space/
│   │   │       ├── from_include_generated.rs
│   │   │       ├── table_b_generated.rs
│   │   │       └── unused_generated.rs
│   │   └── table_a_generated.rs
│   ├── include_test1_generated.dart
│   ├── include_test1_generated.rs
│   ├── include_test2/
│   │   ├── mod.rs
│   │   ├── my_game/
│   │   │   └── other_name_space/
│   │   │       ├── from_include_generated.rs
│   │   │       ├── table_b_generated.rs
│   │   │       └── unused_generated.rs
│   │   └── table_a_generated.rs
│   ├── include_test2_generated.rs
│   ├── include_test2_my_game.other_name_space_generated.dart
│   ├── included_test.fbs
│   ├── includer_test.fbs
│   ├── is_quiet_nan.h
│   ├── json_test.cpp
│   ├── json_test.h
│   ├── key_field/
│   │   └── key_field_sample.fbs
│   ├── key_field_test.cpp
│   ├── key_field_test.h
│   ├── keyword_test/
│   │   ├── keyword_test/
│   │   │   ├── abc_generated.rs
│   │   │   ├── keywords_in_table_generated.rs
│   │   │   ├── keywords_in_union_generated.rs
│   │   │   ├── public_generated.rs
│   │   │   └── table_2_generated.rs
│   │   └── mod.rs
│   ├── keyword_test.fbs
│   ├── lobstertest.lobster
│   ├── long_namespace.fbs
│   ├── longer_namespace.fbs
│   ├── luatest.lua
│   ├── minified_enums/
│   │   └── enums.fbs
│   ├── monster_extra.fbs
│   ├── monster_extra_my_game_generated.dart
│   ├── monster_test/
│   │   ├── mod.rs
│   │   ├── my_game/
│   │   │   ├── example/
│   │   │   │   ├── ability_generated.rs
│   │   │   │   ├── any_ambiguous_aliases_generated.rs
│   │   │   │   ├── any_generated.rs
│   │   │   │   ├── any_unique_aliases_generated.rs
│   │   │   │   ├── color_generated.rs
│   │   │   │   ├── long_enum_generated.rs
│   │   │   │   ├── monster_generated.rs
│   │   │   │   ├── race_generated.rs
│   │   │   │   ├── referrable_generated.rs
│   │   │   │   ├── stat_generated.rs
│   │   │   │   ├── struct_of_structs_generated.rs
│   │   │   │   ├── struct_of_structs_of_structs_generated.rs
│   │   │   │   ├── test_generated.rs
│   │   │   │   ├── test_simple_table_with_enum_generated.rs
│   │   │   │   ├── type_aliases_generated.rs
│   │   │   │   └── vec_3_generated.rs
│   │   │   ├── example_2/
│   │   │   │   └── monster_generated.rs
│   │   │   ├── in_parent_namespace_generated.rs
│   │   │   └── other_name_space/
│   │   │       ├── from_include_generated.rs
│   │   │       ├── table_b_generated.rs
│   │   │       └── unused_generated.rs
│   │   └── table_a_generated.rs
│   ├── monster_test.afb
│   ├── monster_test.bfbs
│   ├── monster_test.cpp
│   ├── monster_test.fbs
│   ├── monster_test.grpc.fb.cc
│   ├── monster_test.grpc.fb.h
│   ├── monster_test.h
│   ├── monster_test.schema.json
│   ├── monster_test_callback.grpc.fb.cc
│   ├── monster_test_callback.grpc.fb.h
│   ├── monster_test_generated.grpc.fb.cc
│   ├── monster_test_generated.grpc.fb.h
│   ├── monster_test_generated.lobster
│   ├── monster_test_generated.py
│   ├── monster_test_generated.ts
│   ├── monster_test_my_game.example2_generated.dart
│   ├── monster_test_my_game.example_generated.dart
│   ├── monster_test_my_game_generated.dart
│   ├── monster_test_serialize/
│   │   ├── mod.rs
│   │   ├── my_game/
│   │   │   ├── example/
│   │   │   │   ├── ability_generated.rs
│   │   │   │   ├── any_ambiguous_aliases_generated.rs
│   │   │   │   ├── any_generated.rs
│   │   │   │   ├── any_unique_aliases_generated.rs
│   │   │   │   ├── color_generated.rs
│   │   │   │   ├── long_enum_generated.rs
│   │   │   │   ├── monster_generated.rs
│   │   │   │   ├── race_generated.rs
│   │   │   │   ├── referrable_generated.rs
│   │   │   │   ├── stat_generated.rs
│   │   │   │   ├── struct_of_structs_generated.rs
│   │   │   │   ├── struct_of_structs_of_structs_generated.rs
│   │   │   │   ├── test_generated.rs
│   │   │   │   ├── test_simple_table_with_enum_generated.rs
│   │   │   │   ├── type_aliases_generated.rs
│   │   │   │   └── vec_3_generated.rs
│   │   │   ├── example_2/
│   │   │   │   └── monster_generated.rs
│   │   │   ├── in_parent_namespace_generated.rs
│   │   │   └── other_name_space/
│   │   │       ├── from_include_generated.rs
│   │   │       ├── table_b_generated.rs
│   │   │       └── unused_generated.rs
│   │   └── table_a_generated.rs
│   ├── monster_test_suffix/
│   │   ├── ext_only/
│   │   │   ├── monster_test.grpc.fb.cc
│   │   │   ├── monster_test.grpc.fb.h
│   │   │   └── monster_test_generated.hpp
│   │   ├── filesuffix_only/
│   │   │   ├── monster_test.grpc.fb.cc
│   │   │   ├── monster_test.grpc.fb.h
│   │   │   └── monster_test_suffix.h
│   │   ├── monster_test.grpc.fb.cc
│   │   ├── monster_test.grpc.fb.h
│   │   └── monster_test_suffix.hpp
│   ├── monsterdata_extra.json
│   ├── monsterdata_go_wire.mon.sp
│   ├── monsterdata_python_wire.mon
│   ├── monsterdata_test.afb
│   ├── monsterdata_test.golden
│   ├── monsterdata_test.json
│   ├── monsterdata_test.mon
│   ├── more_defaults/
│   │   ├── abc_generated.rs
│   │   ├── mod.rs
│   │   └── more_defaults_generated.rs
│   ├── more_defaults.fbs
│   ├── name_clash_test/
│   │   ├── invalid_test1.fbs
│   │   ├── invalid_test2.fbs
│   │   ├── valid_test1.fbs
│   │   └── valid_test2.fbs
│   ├── namespace_test/
│   │   ├── NamespaceA/
│   │   │   ├── NamespaceB/
│   │   │   │   ├── EnumInNestedNS.cs
│   │   │   │   ├── EnumInNestedNS.go
│   │   │   │   ├── EnumInNestedNS.java
│   │   │   │   ├── EnumInNestedNS.kt
│   │   │   │   ├── EnumInNestedNS.lua
│   │   │   │   ├── EnumInNestedNS.php
│   │   │   │   ├── EnumInNestedNS.py
│   │   │   │   ├── StructInNestedNS.cs
│   │   │   │   ├── StructInNestedNS.go
│   │   │   │   ├── StructInNestedNS.java
│   │   │   │   ├── StructInNestedNS.kt
│   │   │   │   ├── StructInNestedNS.lua
│   │   │   │   ├── StructInNestedNS.php
│   │   │   │   ├── StructInNestedNS.py
│   │   │   │   ├── StructInNestedNST.java
│   │   │   │   ├── TableInNestedNS.cs
│   │   │   │   ├── TableInNestedNS.go
│   │   │   │   ├── TableInNestedNS.java
│   │   │   │   ├── TableInNestedNS.kt
│   │   │   │   ├── TableInNestedNS.lua
│   │   │   │   ├── TableInNestedNS.php
│   │   │   │   ├── TableInNestedNS.py
│   │   │   │   ├── TableInNestedNST.java
│   │   │   │   ├── UnionInNestedNS.cs
│   │   │   │   ├── UnionInNestedNS.go
│   │   │   │   ├── UnionInNestedNS.java
│   │   │   │   ├── UnionInNestedNS.kt
│   │   │   │   ├── UnionInNestedNS.lua
│   │   │   │   ├── UnionInNestedNS.php
│   │   │   │   ├── UnionInNestedNS.py
│   │   │   │   ├── UnionInNestedNSUnion.java
│   │   │   │   └── __init__.py
│   │   │   ├── SecondTableInA.cs
│   │   │   ├── SecondTableInA.go
│   │   │   ├── SecondTableInA.java
│   │   │   ├── SecondTableInA.kt
│   │   │   ├── SecondTableInA.lua
│   │   │   ├── SecondTableInA.php
│   │   │   ├── SecondTableInA.py
│   │   │   ├── SecondTableInAT.java
│   │   │   ├── TableInC.cs
│   │   │   ├── TableInC.go
│   │   │   ├── TableInC.php
│   │   │   ├── TableInC.py
│   │   │   ├── TableInFirstNS.cs
│   │   │   ├── TableInFirstNS.go
│   │   │   ├── TableInFirstNS.java
│   │   │   ├── TableInFirstNS.kt
│   │   │   ├── TableInFirstNS.lua
│   │   │   ├── TableInFirstNS.php
│   │   │   ├── TableInFirstNS.py
│   │   │   ├── TableInFirstNST.java
│   │   │   └── __init__.py
│   │   ├── NamespaceC/
│   │   │   ├── TableInC.cs
│   │   │   ├── TableInC.go
│   │   │   ├── TableInC.java
│   │   │   ├── TableInC.kt
│   │   │   ├── TableInC.lua
│   │   │   ├── TableInC.php
│   │   │   ├── TableInC.py
│   │   │   ├── TableInCT.java
│   │   │   └── __init__.py
│   │   ├── mod.rs
│   │   ├── namespace_a/
│   │   │   ├── namespace_b/
│   │   │   │   ├── enum_in_nested_ns_generated.rs
│   │   │   │   ├── struct_in_nested_ns_generated.rs
│   │   │   │   ├── table_in_nested_ns_generated.rs
│   │   │   │   └── union_in_nested_ns_generated.rs
│   │   │   ├── second_table_in_a_generated.rs
│   │   │   └── table_in_first_ns_generated.rs
│   │   ├── namespace_c/
│   │   │   └── table_in_c_generated.rs
│   │   ├── namespace_test1.fbs
│   │   ├── namespace_test1_generated.lobster
│   │   ├── namespace_test1_namespace_a.namespace_b_generated.dart
│   │   ├── namespace_test2.fbs
│   │   ├── namespace_test2_generated.lobster
│   │   ├── namespace_test2_namespace_a_generated.dart
│   │   └── namespace_test2_namespace_c_generated.dart
│   ├── nan_inf_test.fbs
│   ├── native_inline_table_test.fbs
│   ├── native_type_test.fbs
│   ├── native_type_test_impl.cpp
│   ├── native_type_test_impl.h
│   ├── nested_namespace_test/
│   │   ├── nested_namespace_test1.fbs
│   │   ├── nested_namespace_test1_generated.cs
│   │   ├── nested_namespace_test2.fbs
│   │   ├── nested_namespace_test2_generated.cs
│   │   ├── nested_namespace_test3.fbs
│   │   └── nested_namespace_test3_generated.cs
│   ├── nested_union_test.fbs
│   ├── nim/
│   │   ├── testnim.py
│   │   └── tests/
│   │       ├── moredefaults/
│   │       │   └── test.nim
│   │       ├── mutatingbool/
│   │       │   └── test.nim
│   │       ├── mygame/
│   │       │   └── test.nim
│   │       └── optional_scalars/
│   │           └── test.nim
│   ├── non_zero_enum.fbs
│   ├── optional_scalars/
│   │   ├── OptionalByte.cs
│   │   ├── OptionalByte.go
│   │   ├── OptionalByte.java
│   │   ├── OptionalByte.kt
│   │   ├── OptionalByte.nim
│   │   ├── OptionalByte.py
│   │   ├── ScalarStuff.cs
│   │   ├── ScalarStuff.go
│   │   ├── ScalarStuff.java
│   │   ├── ScalarStuff.kt
│   │   ├── ScalarStuff.nim
│   │   ├── ScalarStuff.py
│   │   ├── __init__.py
│   │   ├── mod.rs
│   │   └── optional_scalars/
│   │       ├── optional_byte_generated.rs
│   │       └── scalar_stuff_generated.rs
│   ├── optional_scalars.fbs
│   ├── optional_scalars.json
│   ├── optional_scalars_defaults.json
│   ├── optional_scalars_generated.lobster
│   ├── optional_scalars_generated.ts
│   ├── optional_scalars_test.cpp
│   ├── optional_scalars_test.h
│   ├── order/
│   │   └── Food.go
│   ├── parser_test.cpp
│   ├── parser_test.h
│   ├── phpTest.php
│   ├── phpUnionVectorTest.php
│   ├── phpUnionVectorTest.sh
│   ├── private_annotation_test/
│   │   ├── ab_generated.rs
│   │   ├── annotations_generated.rs
│   │   ├── any_generated.rs
│   │   ├── game_generated.rs
│   │   ├── mod.rs
│   │   └── object_generated.rs
│   ├── private_annotation_test.fbs
│   ├── proto_test.cpp
│   ├── proto_test.h
│   ├── prototest/
│   │   ├── GenerateProtoGoldens.sh
│   │   ├── imported.proto
│   │   ├── non-positive-id.proto
│   │   ├── test.golden.fbs
│   │   ├── test.proto
│   │   ├── test_id.golden.fbs
│   │   ├── test_include.golden.fbs
│   │   ├── test_include_id.golden.fbs
│   │   ├── test_suffix.golden.fbs
│   │   ├── test_suffix_id.golden.fbs
│   │   ├── test_union.golden.fbs
│   │   ├── test_union_id.golden.fbs
│   │   ├── test_union_include.golden.fbs
│   │   ├── test_union_include_id.golden.fbs
│   │   ├── test_union_suffix.golden.fbs
│   │   ├── test_union_suffix_id.golden.fbs
│   │   ├── twice-id.proto
│   │   └── use-reserved-id.proto
│   ├── py_flexbuffers_test.py
│   ├── py_test.py
│   ├── reflection_test.cpp
│   ├── reflection_test.h
│   ├── required_strings.fbs
│   ├── rust_namer_test/
│   │   ├── mod.rs
│   │   └── rust_namer_test/
│   │       ├── field_table_generated.rs
│   │       ├── field_union_generated.rs
│   │       ├── game_message_generated.rs
│   │       ├── game_message_wrapper_generated.rs
│   │       ├── player_input_change_generated.rs
│   │       ├── player_spectate_generated.rs
│   │       ├── player_stat_event_generated.rs
│   │       ├── possibly_reserved_words_generated.rs
│   │       └── root_table_generated.rs
│   ├── rust_namer_test.fbs
│   ├── rust_no_std_compilation_test/
│   │   ├── .cargo/
│   │   │   └── config.toml
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── rust_reflection_test/
│   │   ├── .gitignore
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── lib.rs
│   ├── rust_serialize_test/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── rust_usage_test/
│   │   ├── Cargo.toml
│   │   ├── benches/
│   │   │   ├── benchmarks.rs
│   │   │   ├── flatbuffers_benchmarks.rs
│   │   │   └── flexbuffers_benchmarks.rs
│   │   ├── bin/
│   │   │   ├── flatbuffers_alloc_check.rs
│   │   │   ├── flexbuffers_alloc_check.rs
│   │   │   └── monster_example.rs
│   │   ├── outdir/
│   │   │   ├── .gitignore
│   │   │   ├── Cargo.toml
│   │   │   ├── build.rs
│   │   │   └── src/
│   │   │       └── main.rs
│   │   └── tests/
│   │       ├── arrays_test.rs
│   │       ├── flexbuffers_tests/
│   │       │   ├── binary_format.rs
│   │       │   ├── interop.rs
│   │       │   ├── mod.rs
│   │       │   ├── other_api.rs
│   │       │   ├── qc_serious.rs
│   │       │   └── rwyw.rs
│   │       ├── include_test.rs
│   │       ├── integration_test.rs
│   │       ├── more_defaults_test.rs
│   │       ├── optional_scalars_test.rs
│   │       └── vtable_zeroed_test.rs
│   ├── service_test.fbs
│   ├── service_test_generated.py
│   ├── service_test_generated.pyi
│   ├── service_test_grpc.fb.py
│   ├── service_test_grpc.fb.pyi
│   ├── swift/
│   │   ├── Tests/
│   │   │   ├── Flatbuffers/
│   │   │   │   ├── ByteBufferTests.swift
│   │   │   │   ├── FlatBuffersArraysTests.swift
│   │   │   │   ├── FlatBuffersMonsterWriterTests.swift
│   │   │   │   ├── FlatBuffersNanInfTests.swift
│   │   │   │   ├── FlatBuffersStructsTests.swift
│   │   │   │   ├── FlatBuffersTests.swift
│   │   │   │   ├── FlatBuffersUnionTests.swift
│   │   │   │   ├── FlatBuffersVectorsTests.swift
│   │   │   │   ├── FlatbuffersDoubleTests.swift
│   │   │   │   ├── FlatbuffersMoreDefaults.swift
│   │   │   │   ├── FlatbuffersVerifierTests.swift
│   │   │   │   ├── MutatingBool_generated.swift
│   │   │   │   ├── arrays_test_generated.swift
│   │   │   │   ├── empty_vtable_generated.swift
│   │   │   │   ├── monster_test.grpc.swift
│   │   │   │   ├── monster_test_generated.swift
│   │   │   │   ├── monsterdata_test.mon
│   │   │   │   ├── more_defaults_generated.swift
│   │   │   │   ├── nan_inf_test_generated.swift
│   │   │   │   ├── optional_scalars_generated.swift
│   │   │   │   ├── union_vector_generated.swift
│   │   │   │   └── vector_has_test_generated.swift
│   │   │   └── Flexbuffers/
│   │   │       ├── FlexBuffersJSONTests.swift
│   │   │       ├── FlexBuffersReaderTests.swift
│   │   │       ├── FlexBuffersStringTests.swift
│   │   │       ├── FlexBuffersWriterTests.swift
│   │   │       └── Mocks.swift
│   │   ├── Wasm.tests/
│   │   │   ├── .swift-version
│   │   │   ├── Package.swift
│   │   │   ├── Sources/
│   │   │   │   └── Wasm/
│   │   │   │       └── Wasm.swift
│   │   │   └── Tests/
│   │   │       ├── FlatBuffers.Test.Swift.WasmTests/
│   │   │       │   ├── FlatBuffersMonsterWriterTests.swift
│   │   │       │   └── monster_test_generated.swift
│   │   │       └── FlexBuffers.Test.Swift.WasmTests/
│   │   │           ├── FlexBuffersJSONTests.swift
│   │   │           ├── FlexBuffersReaderTests.swift
│   │   │           ├── FlexBuffersStringTests.swift
│   │   │           ├── FlexBuffersWriterTests.swift
│   │   │           └── Mocks.swift
│   │   └── fuzzer/
│   │       ├── CodeGenerationTests/
│   │       │   ├── empty_vtable.fbs
│   │       │   ├── test_import.fbs
│   │       │   ├── test_import_generated.swift
│   │       │   ├── test_no_include.fbs
│   │       │   └── test_no_include_generated.swift
│   │       ├── Package.swift
│   │       └── Sources/
│   │           └── fuzzer/
│   │               ├── fuzzer.fbs
│   │               ├── fuzzer_generated.swift
│   │               └── main.swift
│   ├── test.cpp
│   ├── test.fbs
│   ├── test_assert.cpp
│   ├── test_assert.h
│   ├── test_builder.cpp
│   ├── test_builder.h
│   ├── ts/
│   │   ├── BUILD.bazel
│   │   ├── JavaScriptComplexArraysTest.js
│   │   ├── JavaScriptFlexBuffersTest.js
│   │   ├── JavaScriptRelativeImportPathTest.js
│   │   ├── JavaScriptRequiredStringTest.js
│   │   ├── JavaScriptTest.js
│   │   ├── JavaScriptTestv1.cjs
│   │   ├── JavaScriptUndefinedForOptionals.js
│   │   ├── JavaScriptUnionUnderlyingTypeTest.js
│   │   ├── JavaScriptUnionVectorTest.js
│   │   ├── TypeScriptTest.py
│   │   ├── arrays_test_complex/
│   │   │   ├── arrays_test_complex.fbs
│   │   │   ├── arrays_test_complex_generated.cjs
│   │   │   └── my-game/
│   │   │       ├── example/
│   │   │       │   ├── array-struct.d.ts
│   │   │       │   ├── array-struct.js
│   │   │       │   ├── array-struct.ts
│   │   │       │   ├── array-table.d.ts
│   │   │       │   ├── array-table.js
│   │   │       │   ├── array-table.ts
│   │   │       │   ├── inner-struct.d.ts
│   │   │       │   ├── inner-struct.js
│   │   │       │   ├── inner-struct.ts
│   │   │       │   ├── nested-struct.d.ts
│   │   │       │   ├── nested-struct.js
│   │   │       │   ├── nested-struct.ts
│   │   │       │   ├── outer-struct.d.ts
│   │   │       │   ├── outer-struct.js
│   │   │       │   ├── outer-struct.ts
│   │   │       │   ├── test-enum.d.ts
│   │   │       │   ├── test-enum.js
│   │   │       │   └── test-enum.ts
│   │   │       ├── example.d.ts
│   │   │       ├── example.js
│   │   │       └── example.ts
│   │   ├── bazel_repository_test_dir/
│   │   │   ├── .bazelignore
│   │   │   ├── .bazelrc
│   │   │   ├── .gitignore
│   │   │   ├── BUILD.bazel
│   │   │   ├── MODULE.bazel
│   │   │   ├── README.md
│   │   │   ├── import_test.js
│   │   │   ├── independent_deps_test.js
│   │   │   ├── one.fbs
│   │   │   ├── package.json
│   │   │   └── two.fbs
│   │   ├── com/
│   │   │   └── company/
│   │   │       ├── test/
│   │   │       │   └── person.ts
│   │   │       └── test.ts
│   │   ├── foobar/
│   │   │   ├── abc.d.ts
│   │   │   ├── abc.js
│   │   │   ├── abc.ts
│   │   │   ├── class.d.ts
│   │   │   ├── class.js
│   │   │   ├── class.ts
│   │   │   └── tab.ts
│   │   ├── foobar.d.ts
│   │   ├── foobar.js
│   │   ├── foobar.ts
│   │   ├── longer-namespace/
│   │   │   └── a/
│   │   │       └── b/
│   │   │           ├── c/
│   │   │           │   ├── person.d.ts
│   │   │           │   ├── person.js
│   │   │           │   └── person.ts
│   │   │           ├── c.d.ts
│   │   │           ├── c.js
│   │   │           └── c.ts
│   │   ├── monster_test.d.ts
│   │   ├── monster_test.js
│   │   ├── monster_test.ts
│   │   ├── monster_test_generated.cjs
│   │   ├── monsterdata_javascript_wire.mon
│   │   ├── my-game/
│   │   │   ├── example/
│   │   │   │   ├── ability.d.ts
│   │   │   │   ├── ability.js
│   │   │   │   ├── ability.ts
│   │   │   │   ├── any-ambiguous-aliases.d.ts
│   │   │   │   ├── any-ambiguous-aliases.js
│   │   │   │   ├── any-ambiguous-aliases.ts
│   │   │   │   ├── any-unique-aliases.d.ts
│   │   │   │   ├── any-unique-aliases.js
│   │   │   │   ├── any-unique-aliases.ts
│   │   │   │   ├── any.d.ts
│   │   │   │   ├── any.js
│   │   │   │   ├── any.ts
│   │   │   │   ├── color.d.ts
│   │   │   │   ├── color.js
│   │   │   │   ├── color.ts
│   │   │   │   ├── long-enum.d.ts
│   │   │   │   ├── long-enum.js
│   │   │   │   ├── long-enum.ts
│   │   │   │   ├── monster.d.ts
│   │   │   │   ├── monster.js
│   │   │   │   ├── monster.ts
│   │   │   │   ├── race.d.ts
│   │   │   │   ├── race.js
│   │   │   │   ├── race.ts
│   │   │   │   ├── referrable.d.ts
│   │   │   │   ├── referrable.js
│   │   │   │   ├── referrable.ts
│   │   │   │   ├── stat.d.ts
│   │   │   │   ├── stat.js
│   │   │   │   ├── stat.ts
│   │   │   │   ├── struct-of-structs-of-structs.d.ts
│   │   │   │   ├── struct-of-structs-of-structs.js
│   │   │   │   ├── struct-of-structs-of-structs.ts
│   │   │   │   ├── struct-of-structs.d.ts
│   │   │   │   ├── struct-of-structs.js
│   │   │   │   ├── struct-of-structs.ts
│   │   │   │   ├── test-simple-table-with-enum.d.ts
│   │   │   │   ├── test-simple-table-with-enum.js
│   │   │   │   ├── test-simple-table-with-enum.ts
│   │   │   │   ├── test.d.ts
│   │   │   │   ├── test.js
│   │   │   │   ├── test.ts
│   │   │   │   ├── type-aliases.d.ts
│   │   │   │   ├── type-aliases.js
│   │   │   │   ├── type-aliases.ts
│   │   │   │   ├── vec3.d.ts
│   │   │   │   ├── vec3.js
│   │   │   │   └── vec3.ts
│   │   │   ├── example.d.ts
│   │   │   ├── example.js
│   │   │   ├── example.ts
│   │   │   ├── example2/
│   │   │   │   ├── monster.d.ts
│   │   │   │   ├── monster.js
│   │   │   │   └── monster.ts
│   │   │   ├── example2.d.ts
│   │   │   ├── example2.js
│   │   │   ├── example2.ts
│   │   │   ├── in-parent-namespace.d.ts
│   │   │   ├── in-parent-namespace.js
│   │   │   ├── in-parent-namespace.ts
│   │   │   ├── other-name-space/
│   │   │   │   ├── from-include.d.ts
│   │   │   │   ├── from-include.js
│   │   │   │   ├── from-include.ts
│   │   │   │   ├── table-b.d.ts
│   │   │   │   ├── table-b.js
│   │   │   │   ├── table-b.ts
│   │   │   │   ├── unused.d.ts
│   │   │   │   ├── unused.js
│   │   │   │   └── unused.ts
│   │   │   ├── other-name-space.d.ts
│   │   │   ├── other-name-space.js
│   │   │   └── other-name-space.ts
│   │   ├── my-game.d.ts
│   │   ├── my-game.js
│   │   ├── my-game.ts
│   │   ├── no_import_ext/
│   │   │   ├── optional-scalars/
│   │   │   │   ├── optional-byte.d.ts
│   │   │   │   ├── optional-byte.js
│   │   │   │   ├── optional-byte.ts
│   │   │   │   ├── scalar-stuff.d.ts
│   │   │   │   ├── scalar-stuff.js
│   │   │   │   └── scalar-stuff.ts
│   │   │   ├── optional-scalars.d.ts
│   │   │   ├── optional-scalars.js
│   │   │   ├── optional-scalars.ts
│   │   │   ├── optional_scalars.d.ts
│   │   │   ├── optional_scalars.js
│   │   │   └── optional_scalars.ts
│   │   ├── optional-scalars/
│   │   │   ├── optional-byte.ts
│   │   │   └── scalar-stuff.ts
│   │   ├── optional-scalars.ts
│   │   ├── optional_scalars.ts
│   │   ├── package.json
│   │   ├── reflection/
│   │   │   ├── advanced-features.d.ts
│   │   │   ├── advanced-features.js
│   │   │   ├── advanced-features.ts
│   │   │   ├── base-type.d.ts
│   │   │   ├── base-type.js
│   │   │   ├── base-type.ts
│   │   │   ├── enum-val.d.ts
│   │   │   ├── enum-val.js
│   │   │   ├── enum-val.ts
│   │   │   ├── enum.d.ts
│   │   │   ├── enum.js
│   │   │   ├── enum.ts
│   │   │   ├── field.d.ts
│   │   │   ├── field.js
│   │   │   ├── field.ts
│   │   │   ├── key-value.d.ts
│   │   │   ├── key-value.js
│   │   │   ├── key-value.ts
│   │   │   ├── object.d.ts
│   │   │   ├── object.js
│   │   │   ├── object.ts
│   │   │   ├── rpccall.d.ts
│   │   │   ├── rpccall.js
│   │   │   ├── rpccall.ts
│   │   │   ├── schema-file.d.ts
│   │   │   ├── schema-file.js
│   │   │   ├── schema-file.ts
│   │   │   ├── schema.d.ts
│   │   │   ├── schema.js
│   │   │   ├── schema.ts
│   │   │   ├── service.d.ts
│   │   │   ├── service.js
│   │   │   ├── service.ts
│   │   │   ├── type.d.ts
│   │   │   ├── type.js
│   │   │   └── type.ts
│   │   ├── reflection.d.ts
│   │   ├── reflection.js
│   │   ├── reflection.ts
│   │   ├── reflection_generated.cjs
│   │   ├── relative_imports/
│   │   │   └── relative_imports.fbs
│   │   ├── required-strings/
│   │   │   ├── foo.js
│   │   │   └── foo.ts
│   │   ├── required_strings_generated.js
│   │   ├── required_strings_generated.ts
│   │   ├── table-a.d.ts
│   │   ├── table-a.js
│   │   ├── table-a.ts
│   │   ├── test_dir/
│   │   │   ├── BUILD.bazel
│   │   │   ├── import_test.js
│   │   │   ├── package.json
│   │   │   ├── typescript_include.fbs
│   │   │   └── typescript_transitive_include.fbs
│   │   ├── ts-undefined-for-optionals/
│   │   │   ├── optional-scalars/
│   │   │   │   ├── optional-byte.ts
│   │   │   │   └── scalar-stuff.ts
│   │   │   ├── optional-scalars.ts
│   │   │   ├── optional_scalars.ts
│   │   │   └── optional_scalars_generated.cjs
│   │   ├── tsconfig.json
│   │   ├── tsconfig.node.json
│   │   ├── typescript/
│   │   │   ├── class.d.ts
│   │   │   ├── class.js
│   │   │   ├── class.ts
│   │   │   ├── object.d.ts
│   │   │   ├── object.js
│   │   │   └── object.ts
│   │   ├── typescript.d.ts
│   │   ├── typescript.js
│   │   ├── typescript.ts
│   │   ├── typescript_include.ts
│   │   ├── typescript_include_generated.cjs
│   │   ├── typescript_keywords.d.ts
│   │   ├── typescript_keywords.fbs
│   │   ├── typescript_keywords.js
│   │   ├── typescript_keywords.ts
│   │   ├── typescript_keywords_generated.cjs
│   │   ├── typescript_transitive_include.ts
│   │   ├── typescript_transitive_include_generated.cjs
│   │   ├── unicode_test.mon
│   │   ├── union-underlying-type/
│   │   │   ├── a.d.ts
│   │   │   ├── a.js
│   │   │   ├── a.ts
│   │   │   ├── abc.d.ts
│   │   │   ├── abc.js
│   │   │   ├── abc.ts
│   │   │   ├── b.d.ts
│   │   │   ├── b.js
│   │   │   ├── b.ts
│   │   │   ├── c.d.ts
│   │   │   ├── c.js
│   │   │   ├── c.ts
│   │   │   ├── d.d.ts
│   │   │   ├── d.js
│   │   │   └── d.ts
│   │   ├── union-underlying-type.d.ts
│   │   ├── union-underlying-type.js
│   │   ├── union-underlying-type.ts
│   │   ├── union_underlying_type_test.d.ts
│   │   ├── union_underlying_type_test.js
│   │   ├── union_underlying_type_test.ts
│   │   └── union_vector/
│   │       ├── attacker.d.ts
│   │       ├── attacker.js
│   │       ├── attacker.ts
│   │       ├── book-reader.d.ts
│   │       ├── book-reader.js
│   │       ├── book-reader.ts
│   │       ├── character.d.ts
│   │       ├── character.js
│   │       ├── character.ts
│   │       ├── falling-tub.d.ts
│   │       ├── falling-tub.js
│   │       ├── falling-tub.ts
│   │       ├── gadget.d.ts
│   │       ├── gadget.js
│   │       ├── gadget.ts
│   │       ├── hand-fan.d.ts
│   │       ├── hand-fan.js
│   │       ├── hand-fan.ts
│   │       ├── movie.d.ts
│   │       ├── movie.js
│   │       ├── movie.ts
│   │       ├── rapunzel.d.ts
│   │       ├── rapunzel.js
│   │       ├── rapunzel.ts
│   │       ├── union_vector.d.ts
│   │       ├── union_vector.js
│   │       ├── union_vector.ts
│   │       └── union_vector_generated.cjs
│   ├── type_field_collsion/
│   │   └── Collision.cs
│   ├── type_field_collsion.fbs
│   ├── unicode_test.json
│   ├── unicode_test.mon
│   ├── union_name_test/
│   │   ├── Bar.py
│   │   ├── Container.py
│   │   ├── Foo.py
│   │   ├── __init__.py
│   │   └── my_test_union.py
│   ├── union_name_test.fbs
│   ├── union_underlying_type_test.fbs
│   ├── union_value_collision.fbs
│   ├── union_value_collsion/
│   │   └── union_value_collision_generated.cs
│   ├── union_vector/
│   │   ├── Attacker.cs
│   │   ├── Attacker.java
│   │   ├── Attacker.kt
│   │   ├── Attacker.php
│   │   ├── AttackerT.java
│   │   ├── BookReader.cs
│   │   ├── BookReader.java
│   │   ├── BookReader.kt
│   │   ├── BookReader.php
│   │   ├── BookReaderT.java
│   │   ├── Character.cs
│   │   ├── Character.java
│   │   ├── Character.kt
│   │   ├── Character.php
│   │   ├── CharacterUnion.java
│   │   ├── FallingTub.cs
│   │   ├── FallingTub.java
│   │   ├── FallingTub.kt
│   │   ├── FallingTub.php
│   │   ├── FallingTubT.java
│   │   ├── Gadget.cs
│   │   ├── Gadget.java
│   │   ├── Gadget.kt
│   │   ├── Gadget.php
│   │   ├── GadgetUnion.java
│   │   ├── HandFan.cs
│   │   ├── HandFan.java
│   │   ├── HandFan.kt
│   │   ├── HandFan.php
│   │   ├── HandFanT.java
│   │   ├── Movie.cs
│   │   ├── Movie.java
│   │   ├── Movie.kt
│   │   ├── Movie.php
│   │   ├── MovieT.java
│   │   ├── Rapunzel.cs
│   │   ├── Rapunzel.java
│   │   ├── Rapunzel.kt
│   │   ├── Rapunzel.php
│   │   ├── RapunzelT.java
│   │   ├── union_vector.fbs
│   │   └── union_vector.json
│   ├── util_test.cpp
│   ├── util_test.h
│   ├── vector_has_test.fbs
│   ├── vector_table_naked_ptr.fbs
│   ├── vector_table_naked_ptr_test.cpp
│   └── vector_table_naked_ptr_test.h
├── ts/
│   ├── BUILD.bazel
│   ├── builder.ts
│   ├── byte-buffer.ts
│   ├── compile_flat_file.sh
│   ├── constants.ts
│   ├── encoding.ts
│   ├── flatbuffers.ts
│   ├── flexbuffers/
│   │   ├── bit-width-util.ts
│   │   ├── bit-width.ts
│   │   ├── builder.ts
│   │   ├── flexbuffers-util.ts
│   │   ├── reference-util.ts
│   │   ├── reference.ts
│   │   ├── stack-value.ts
│   │   ├── value-type-util.ts
│   │   └── value-type.ts
│   ├── flexbuffers.ts
│   ├── types.ts
│   └── utils.ts
├── tsconfig.json
├── tsconfig.mjs.json
└── typescript.bzl

================================================
FILE CONTENTS
================================================

================================================
FILE: .bazelci/presubmit.yml
================================================
---
buildifier: latest
matrix:
  bazel:
    - 7.x
    - 8.x
tasks:
  verify_ubuntu2004:
    platform: ubuntu2004
    bazel: ${{ bazel }}
    environment:
      CC: clang
      SWIFT_VERSION: "5.10"
      SWIFT_HOME: "$HOME/swift-$SWIFT_VERSION"
      PATH: "$PATH:$SWIFT_HOME/usr/bin"
    shell_commands:
      - "echo --- Downloading and extracting Swift $SWIFT_VERSION to $SWIFT_HOME"
      - "mkdir $SWIFT_HOME"
      - "curl https://download.swift.org/swift-${SWIFT_VERSION}-release/ubuntu2004/swift-${SWIFT_VERSION}-RELEASE/swift-${SWIFT_VERSION}-RELEASE-ubuntu20.04.tar.gz | tar xvz --strip-components=1 -C $SWIFT_HOME"
    build_targets:
    - "//..."
    test_targets:
    - "//..."
  verify_ubuntu2204:
    platform: ubuntu2204
    bazel: ${{ bazel }}
    environment:
      CC: clang
      SWIFT_VERSION: "5.10"
      SWIFT_HOME: "$HOME/swift-$SWIFT_VERSION"
      PATH: "$PATH:$SWIFT_HOME/usr/bin"
    shell_commands:
      - "echo --- Downloading and extracting Swift $SWIFT_VERSION to $SWIFT_HOME"
      - "mkdir $SWIFT_HOME"
      - "curl https://download.swift.org/swift-${SWIFT_VERSION}-release/ubuntu2204/swift-${SWIFT_VERSION}-RELEASE/swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz | tar xvz --strip-components=1 -C $SWIFT_HOME"
    build_targets:
    - "//..."
    test_targets:
    - "//..."
  test_module_cpp:
    platform: ubuntu2204
    bazel: ${{ bazel }}
    working_directory: tests/bazel_repository_test_dir
    build_targets:
    - "//..."
  test_module_ts:
    platform: ubuntu2204
    bazel: ${{ bazel }}
    working_directory: tests/ts/bazel_repository_test_dir
    test_targets:
    - "//..."
  verify_macos:
    platform: macos
    bazel: ${{ bazel }}
    xcode_version: "15.2"
    build_targets:
    - "//:flatbuffers"
    - "//:flatc"
    test_targets:
    - "//tests:flatbuffers_test"


================================================
FILE: .bazelignore
================================================
ts/node_modules

# Test workspaces
tests/bazel_repository_test_dir
tests/ts/bazel_repository_test_dir


================================================
FILE: .bazelrc
================================================
# We cannot use "common" here because the "version" command doesn't support
# --deleted_packages. We need to specify it for both build and query instead.
build --deleted_packages=tests/bazel_repository_test_dir,tests/ts/bazel_repository_test_dir
query --deleted_packages=tests/bazel_repository_test_dir,tests/ts/bazel_repository_test_dir
# Point tools such as coursier (used in rules_jvm_external) to Bazel's internal JDK
# suggested in https://github.com/bazelbuild/rules_jvm_external/issues/445
common --repo_env=JAVA_HOME=../bazel_tools/jdk
common --action_env=JAVA_HOME=../bazel_tools/jdk
# Workaround "Error: need --enable_runfiles on Windows for to support rules_js"
common:windows --enable_runfiles
# Swift is not required on Windows
common:windows --deleted_packages=swift
# Ignore warnings in external dependencies
build --per_file_copt=external/.*@-Wno-everything --host_per_file_copt=external/.*@-Wno-everything
# Honor the setting of `skipLibCheck` in the tsconfig.json file.
common --@aspect_rules_ts//ts:skipLibCheck=honor_tsconfig
# Use "tsc" as the transpiler when ts_project has no `transpiler` set.
common --@aspect_rules_ts//ts:default_to_tsc_transpiler


================================================
FILE: .clang-format
================================================
---
Language: Cpp
BasedOnStyle: Google
...



================================================
FILE: .clang-tidy
================================================
---
FormatStyle: "file"
WarningsAsErrors: "*"
HeaderFilterRegex: ".*"
Checks: "google-build-explicit-make-pair,
         google-build-namespaces,
         google-build-using-namespace,
         google-default-arguments,
         google-explicit-constructor,
         google-global-names-in-headers,
         google-objc-avoid-nsobject-new,
         google-objc-avoid-throwing-exception,
         google-objc-function-naming,
         google-objc-global-variable-declaration,
         google-readability-avoid-underscore-in-googletest-name,
         google-readability-braces-around-statements,
         google-readability-casting,
         google-readability-function-size,
         google-readability-namespace-comments,
         google-runtime-int,
         google-runtime-operator,
         google-upgrade-googletest-case,
         clang-analyzer-apiModeling.StdCLibraryFunctions,
         clang-analyzer-apiModeling.TrustNonnull,
         clang-analyzer-apiModeling.google.GTest,
         clang-analyzer-apiModeling.llvm.CastValue,
         clang-analyzer-apiModeling.llvm.ReturnValue,
         clang-analyzer-core.CallAndMessage,
         clang-analyzer-core.CallAndMessageModeling,
         clang-analyzer-core.DivideZero,
         clang-analyzer-core.DynamicTypePropagation,
         clang-analyzer-core.NonNullParamChecker,
         clang-analyzer-core.NonnilStringConstants,
         clang-analyzer-core.NullDereference,
         clang-analyzer-core.StackAddrEscapeBase,
         clang-analyzer-core.StackAddressEscape,
         clang-analyzer-core.UndefinedBinaryOperatorResult,
         clang-analyzer-core.VLASize,
         clang-analyzer-core.builtin.BuiltinFunctions,
         clang-analyzer-core.builtin.NoReturnFunctions,
         clang-analyzer-core.uninitialized.ArraySubscript,
         clang-analyzer-core.uninitialized.Assign,
         clang-analyzer-core.uninitialized.Branch,
         clang-analyzer-core.uninitialized.CapturedBlockVariable,
         clang-analyzer-core.uninitialized.UndefReturn,
         clang-analyzer-cplusplus.InnerPointer,
         clang-analyzer-cplusplus.Move,
         clang-analyzer-cplusplus.NewDelete,
         clang-analyzer-cplusplus.NewDeleteLeaks,
         clang-analyzer-cplusplus.PlacementNew,
         clang-analyzer-cplusplus.PureVirtualCall,
         clang-analyzer-cplusplus.SelfAssignment,
         clang-analyzer-cplusplus.SmartPtrModeling,
         clang-analyzer-cplusplus.StringChecker,
         clang-analyzer-cplusplus.VirtualCallModeling,
         clang-analyzer-deadcode.DeadStores,
         clang-analyzer-fuchsia.HandleChecker,
         clang-analyzer-nullability.NullPassedToNonnull,
         clang-analyzer-nullability.NullReturnedFromNonnull,
         clang-analyzer-nullability.NullabilityBase,
         clang-analyzer-nullability.NullableDereferenced,
         clang-analyzer-nullability.NullablePassedToNonnull,
         clang-analyzer-nullability.NullableReturnedFromNonnull,
         clang-analyzer-optin.cplusplus.UninitializedObject,
         clang-analyzer-optin.cplusplus.VirtualCall,
         clang-analyzer-optin.mpi.MPI-Checker,
         clang-analyzer-optin.osx.OSObjectCStyleCast,
         clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker,
         clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker,
         clang-analyzer-optin.performance.GCDAntipattern,
         clang-analyzer-optin.performance.Padding,
         clang-analyzer-optin.portability.UnixAPI,
         clang-analyzer-osx.API,
         clang-analyzer-osx.MIG,
         clang-analyzer-osx.NSOrCFErrorDerefChecker,
         clang-analyzer-osx.NumberObjectConversion,
         clang-analyzer-osx.OSObjectRetainCount,
         clang-analyzer-osx.ObjCProperty,
         clang-analyzer-osx.SecKeychainAPI,
         clang-analyzer-osx.cocoa.AtSync,
         clang-analyzer-osx.cocoa.AutoreleaseWrite,
         clang-analyzer-osx.cocoa.ClassRelease,
         clang-analyzer-osx.cocoa.Dealloc,
         clang-analyzer-osx.cocoa.IncompatibleMethodTypes,
         clang-analyzer-osx.cocoa.Loops,
         clang-analyzer-osx.cocoa.MissingSuperCall,
         clang-analyzer-osx.cocoa.NSAutoreleasePool,
         clang-analyzer-osx.cocoa.NSError,
         clang-analyzer-osx.cocoa.NilArg,
         clang-analyzer-osx.cocoa.NonNilReturnValue,
         clang-analyzer-osx.cocoa.ObjCGenerics,
         clang-analyzer-osx.cocoa.RetainCount,
         clang-analyzer-osx.cocoa.RetainCountBase,
         clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak,
         clang-analyzer-osx.cocoa.SelfInit,
         clang-analyzer-osx.cocoa.SuperDealloc,
         clang-analyzer-osx.cocoa.UnusedIvars,
         clang-analyzer-osx.cocoa.VariadicMethodTypes,
         clang-analyzer-osx.coreFoundation.CFError,
         clang-analyzer-osx.coreFoundation.CFNumber,
         clang-analyzer-osx.coreFoundation.CFRetainRelease,
         clang-analyzer-osx.coreFoundation.containers.OutOfBounds,
         clang-analyzer-osx.coreFoundation.containers.PointerSizedValues,
         clang-analyzer-security.FloatLoopCounter,
         clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
         clang-analyzer-security.insecureAPI.SecuritySyntaxChecker,
         clang-analyzer-security.insecureAPI.UncheckedReturn,
         clang-analyzer-security.insecureAPI.bcmp,
         clang-analyzer-security.insecureAPI.bcopy,
         clang-analyzer-security.insecureAPI.bzero,
         clang-analyzer-security.insecureAPI.decodeValueOfObjCType,
         clang-analyzer-security.insecureAPI.getpw,
         clang-analyzer-security.insecureAPI.gets,
         clang-analyzer-security.insecureAPI.mkstemp,
         clang-analyzer-security.insecureAPI.mktemp,
         clang-analyzer-security.insecureAPI.rand,
         clang-analyzer-security.insecureAPI.strcpy,
         clang-analyzer-security.insecureAPI.vfork,
         clang-analyzer-unix.API,
         clang-analyzer-unix.DynamicMemoryModeling,
         clang-analyzer-unix.Malloc,
         clang-analyzer-unix.MallocSizeof,
         clang-analyzer-unix.MismatchedDeallocator,
         clang-analyzer-unix.Vfork,
         clang-analyzer-unix.cstring.BadSizeArg,
         clang-analyzer-unix.cstring.CStringModeling,
         clang-analyzer-unix.cstring.NullArg,
         clang-analyzer-valist.CopyToSelf,
         clang-analyzer-valist.Uninitialized,
         clang-analyzer-valist.Unterminated,
         clang-analyzer-valist.ValistBase,
         clang-analyzer-webkit.NoUncountedMemberChecker,
         clang-analyzer-webkit.RefCntblBaseVirtualDtor,
         clang-analyzer-webkit.UncountedLambdaCapturesChecker,

################################################ Optional checks ################################################

         #google-readability-todo,
         #bugprone-argument-comment,
         #bugprone-assert-side-effect,
         #bugprone-bad-signal-to-kill-thread,
         #bugprone-bool-pointer-implicit-conversion,
         #bugprone-branch-clone,
         #bugprone-copy-constructor-init,
         #bugprone-dangling-handle,
         #bugprone-dynamic-static-initializers,
         #bugprone-easily-swappable-parameters,
         #bugprone-exception-escape,
         #bugprone-fold-init-type,
         #bugprone-forward-declaration-namespace,
         #bugprone-forwarding-reference-overload,
         #bugprone-implicit-widening-of-multiplication-result,
         #bugprone-inaccurate-erase,
         #bugprone-incorrect-roundings,
         #bugprone-infinite-loop,
         #bugprone-integer-division,
         #bugprone-lambda-function-name,
         #bugprone-macro-parentheses,
         #bugprone-macro-repeated-side-effects,
         #bugprone-misplaced-operator-in-strlen-in-alloc,
         #bugprone-misplaced-pointer-arithmetic-in-alloc,
         #bugprone-misplaced-widening-cast,
         #bugprone-move-forwarding-reference,
         #bugprone-multiple-statement-macro,
         #bugprone-narrowing-conversions,
         #bugprone-no-escape,
         #bugprone-not-null-terminated-result,
         #bugprone-parent-virtual-call,
         #bugprone-posix-return,
         #bugprone-redundant-branch-condition,
         #bugprone-reserved-identifier,
         #bugprone-signal-handler,
         #bugprone-signed-char-misuse,
         #bugprone-sizeof-container,
         #bugprone-sizeof-expression,
         #bugprone-spuriously-wake-up-functions,
         #bugprone-string-constructor,
         #bugprone-string-integer-assignment,
         #bugprone-string-literal-with-embedded-nul,
         #bugprone-stringview-nullptr,
         #bugprone-suspicious-enum-usage,
         #bugprone-suspicious-include,
         #bugprone-suspicious-memory-comparison,
         #bugprone-suspicious-memset-usage,
         #bugprone-suspicious-missing-comma,
         #bugprone-suspicious-semicolon,
         #bugprone-suspicious-string-compare,
         #bugprone-swapped-arguments,
         #bugprone-terminating-continue,
         #bugprone-throw-keyword-missing,
         #bugprone-too-small-loop-variable,
         #bugprone-undefined-memory-manipulation,
         #bugprone-undelegated-constructor,
         #bugprone-unhandled-exception-at-new,
         #bugprone-unhandled-self-assignment,
         #bugprone-unused-raii,
         #bugprone-unused-return-value,
         #bugprone-use-after-move,
         #bugprone-virtual-near-miss,
         #cppcoreguidelines-avoid-c-arrays,
         #cppcoreguidelines-avoid-goto,
         #cppcoreguidelines-avoid-magic-numbers,
         #cppcoreguidelines-avoid-non-const-global-variables,
         #cppcoreguidelines-c-copy-assignment-signature,
         #cppcoreguidelines-explicit-virtual-functions,
         #cppcoreguidelines-init-variables,
         #cppcoreguidelines-interfaces-global-init,
         #cppcoreguidelines-macro-usage,
         #cppcoreguidelines-narrowing-conversions,
         #cppcoreguidelines-no-malloc,
         #cppcoreguidelines-non-private-member-variables-in-classes,
         #cppcoreguidelines-owning-memory,
         #cppcoreguidelines-prefer-member-initializer,
         #cppcoreguidelines-pro-bounds-array-to-pointer-decay,
         #cppcoreguidelines-pro-bounds-constant-array-index,
         #cppcoreguidelines-pro-bounds-pointer-arithmetic,
         #cppcoreguidelines-pro-type-const-cast,
         #cppcoreguidelines-pro-type-cstyle-cast,
         #cppcoreguidelines-pro-type-member-init,
         #cppcoreguidelines-pro-type-reinterpret-cast,
         #cppcoreguidelines-pro-type-static-cast-downcast,
         #cppcoreguidelines-pro-type-union-access,
         #cppcoreguidelines-pro-type-vararg,
         #cppcoreguidelines-slicing,
         #cppcoreguidelines-special-member-functions,
         #cppcoreguidelines-virtual-class-destructor,
         #hicpp-avoid-c-arrays,
         #hicpp-avoid-goto,
         #hicpp-braces-around-statements,
         #hicpp-deprecated-headers,
         #hicpp-exception-baseclass,
         #hicpp-explicit-conversions,
         #hicpp-function-size,
         #hicpp-invalid-access-moved,
         #hicpp-member-init,
         #hicpp-move-const-arg,
         #hicpp-multiway-paths-covered,
         #hicpp-named-parameter,
         #hicpp-new-delete-operators,
         #hicpp-no-array-decay,
         #hicpp-no-assembler,
         #hicpp-no-malloc,
         #hicpp-noexcept-move,
         #hicpp-signed-bitwise,
         #hicpp-special-member-functions,
         #hicpp-static-assert,
         #hicpp-undelegated-constructor,
         #hicpp-uppercase-literal-suffix,
         #hicpp-use-auto,
         #hicpp-use-emplace,
         #hicpp-use-equals-default,
         #hicpp-use-equals-delete,
         #hicpp-use-noexcept,
         #hicpp-use-nullptr,
         #hicpp-use-override,
         #hicpp-vararg,
         #modernize-avoid-bind,
         #modernize-avoid-c-arrays,
         #modernize-concat-nested-namespaces,
         #modernize-deprecated-headers,
         #modernize-deprecated-ios-base-aliases,
         #modernize-loop-convert,
         #modernize-make-shared,
         #modernize-make-unique,
         #modernize-pass-by-value,
         #modernize-raw-string-literal,
         #modernize-redundant-void-arg,
         #modernize-replace-auto-ptr,
         #modernize-replace-disallow-copy-and-assign-macro,
         #modernize-replace-random-shuffle,
         #modernize-return-braced-init-list,
         #modernize-shrink-to-fit,
         #modernize-unary-static-assert,
         #modernize-use-auto,
         #modernize-use-bool-literals,
         #modernize-use-default-member-init,
         #modernize-use-emplace,
         #modernize-use-equals-default,
         #modernize-use-equals-delete,
         #modernize-use-nodiscard,
         #modernize-use-noexcept,
         #modernize-use-nullptr,
         #modernize-use-override,
         #modernize-use-trailing-return-type,
         #modernize-use-transparent-functors,
         #modernize-use-uncaught-exceptions,
         #modernize-use-using,
         #performance-faster-string-find,
         #performance-for-range-copy,
         #performance-implicit-conversion-in-loop,
         #performance-inefficient-algorithm,
         #performance-inefficient-string-concatenation,
         #performance-inefficient-vector-operation,
         #performance-move-const-arg,
         #performance-move-constructor-init,
         #performance-no-automatic-move,
         #performance-no-int-to-ptr,
         #performance-noexcept-move-constructor,
         #performance-trivially-destructible,
         #performance-type-promotion-in-math-fn,
         #performance-unnecessary-copy-initialization,
         #performance-unnecessary-value-param,
         #portability-restrict-system-includes,
         #portability-simd-intrinsics,
         #readability-avoid-const-params-in-decls,
         #readability-braces-around-statements,
         #readability-const-return-type,
         #readability-container-contains,
         #readability-container-data-pointer,
         #readability-container-size-empty,
         #readability-convert-member-functions-to-static,
         #readability-delete-null-pointer,
         #readability-duplicate-include,
         #readability-else-after-return,
         #readability-function-cognitive-complexity,
         #readability-function-size,
         #readability-identifier-length,
         #readability-identifier-naming,
         #readability-implicit-bool-conversion,
         #readability-inconsistent-declaration-parameter-name,
         #readability-isolate-declaration,
         #readability-magic-numbers,
         #readability-make-member-function-const,
         #readability-misleading-indentation,
         #readability-misplaced-array-index,
         #readability-named-parameter,
         #readability-non-const-parameter,
         #readability-qualified-auto,
         #readability-redundant-access-specifiers,
         #readability-redundant-control-flow,
         #readability-redundant-declaration,
         #readability-redundant-function-ptr-dereference,
         #readability-redundant-member-init,
         #readability-redundant-preprocessor,
         #readability-redundant-smartptr-get,
         #readability-redundant-string-cstr,
         #readability-redundant-string-init,
         #readability-simplify-boolean-expr,
         #readability-simplify-subscript-expr,
         #readability-static-accessed-through-instance,
         #readability-static-definition-in-anonymous-namespace,
         #readability-string-compare,
         #readability-suspicious-call-argument,
         #readability-uniqueptr-delete-release,
         #readability-uppercase-literal-suffix,
         #readability-use-anyofallof
         "


================================================
FILE: .editorconfig
================================================
root = true
# Don't set line endings to avoid conflict with core.autocrlf flag.
# Line endings on checkout/checkin are controlled by .gitattributes file.
[*]
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true


================================================
FILE: .gitattributes
================================================
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto


================================================
FILE: .github/CODEOWNERS
================================================
# Default owner
* @dbaileychess derekbailey@google.com

# Prevent modification of this file
.github/CODEOWNERS @dbaileychess derekbailey@google.com


================================================
FILE: .github/ISSUE_TEMPLATE/404-doc.md
================================================
---
name: 404 Doc
about: To fix broken documentation links
title: "[Doc 404]"
labels: documentation
assignees: dbaileychess

---

Target URL:
[Optional] Source Site:


================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
Thank you for submitting an issue!

Please make sure you include the names of the affected language(s), compiler version(s), operating system version(s), and FlatBuffers version(s) in your issue title.

This helps us get the correct maintainers to look at your issue. Here are examples of good titles:

- Crash when accessing FlatBuffer [C++, gcc 4.8, OS X, master]
- Flatc converts a protobuf 'bytes' field to 'string' in fbs schema file [all languages, FlatBuffers 1.4]

Include other details as appropriate.

Thanks!


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
Thank you for submitting a PR!

Please delete this standard text once you've created your own description.

If you make changes to any of the code generators (`src/idl_gen*`) be sure to
[build](https://google.github.io/flatbuffers/flatbuffers_guide_building.html) your project, as it will generate code based on the changes. If necessary
the code generation script can be directly run (`scripts/generate_code.py`),
requires Python3. This allows us to better see the effect of the PR.

If your PR includes C++ code, please adhere to the
[Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html),
and don't forget we try to support older compilers (e.g. VS2010, GCC 4.6.3),
so only some C++11 support is available.

For any C++ changes, please make sure to run `sh scripts/clang-format-git.sh`

Include other details as appropriate.

Thanks!


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"


================================================
FILE: .github/labeler.yml
================================================
# Configuration for Auto Labeler during pull request
#
# See https://github.com/actions/labeler for file format
# and https://github.com/google/flatbuffers/labels for a list of valid labels
#
# See .github/workflows/label.yml for Github Action workflow script

"c#":
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.cs'
      - 'net/**/*'
      - 'tests/FlatBuffers.Test/**/*'
      - 'tests/FlatBuffers.Benchmarks/**/*'
      - 'src/idl_gen_csharp.cpp'

swift:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.swift'
      - 'swift/**/*'
      - 'tests/swift/**'
      - 'src/idl_gen_swift.cpp'

nim:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.nim'
      - 'nim/**/*'
      - 'src/idl_gen_nim.cpp'
      - 'src/bfbs_gen_nim.cpp'

javascript:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.js'
      - 'src/idl_gen_ts.cpp'

typescript:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.ts'
      - 'src/idl_gen_ts.cpp'
      - 'grpc/flatbuffers-js-grpc/**/*.ts'

golang:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.go'
      - 'src/idl_gen_go.cpp'

python:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.py'
      - 'src/idl_gen_python.cpp'

java:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.java'
      - 'src/idl_gen_java.cpp'

kotlin:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.kt'
      - 'src/idl_gen_kotlin.cpp'
      - 'src/idl_gen_kotlin_kmp.cpp'

lua:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.lua'
      - 'lua/**/*'
      - 'src/bfbs_gen_lua.cpp'

lobster:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.lobster'
      - 'src/idl_gen_lobster.cpp'

php:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.php'
      - 'src/idl_gen_php.cpp'

rust:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.rs'
      - 'rust/**/*'
      - 'src/idl_gen_rust.cpp'

dart:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.dart'
      - 'src/idl_gen_dart.cpp'

"c++":
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.cc'
      - '**/*.cpp'
      - '**/*.h'

json:
  - changed-files:
    - any-glob-to-any-file:
      - '**/*.json'
      - 'src/idl_gen_json_schema.cpp'

codegen:
  - changed-files:
    - any-glob-to-any-file:
      - 'src/**/*'

documentation:
  - changed-files:
    - any-glob-to-any-file:
      - 'docs/**/*'
      - '**/*.md'

CI:
  - changed-files:
    - any-glob-to-any-file:
      - '.github/**/*'
      - '.bazelci/**/*'

grpc:
  - changed-files:
    - any-glob-to-any-file:
      - 'grpc/**/*'
      - 'src/idl_gen_grpc.cpp'


================================================
FILE: .github/workflows/build.yml
================================================
name: CI
permissions: read-all

on:
  # For manual tests.
  workflow_dispatch:
  push:
    tags:
      - "*" # new tag version, like `0.8.4` or else
    branches:
      - master
  pull_request:
    branches:
      - master
  schedule:
    # Run daily at 4:45 A.M. to catch dependencies that break us.
    - cron: '45 4 * * *'

jobs:
  build-linux:
    permissions:
      contents: write
    outputs:
      digests-gcc: ${{ steps.hash-gcc.outputs.hashes }}
      digests-clang: ${{ steps.hash-clang.outputs.hashes }}
    name: Build Linux
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        cxx: [g++-13, clang++-18]
      fail-fast: false
    steps:
    - uses: actions/checkout@v6
    - name: cmake
      run: CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON -DFLATBUFFERS_STATIC_FLATC=ON .
    - name: build
      run: make -j
    - name: test
      run: ./flattests
    - name: make flatc executable
      run: |
        chmod +x flatc
        ./flatc --version
    - name: upload build artifacts
      uses: actions/upload-artifact@v7
      with:
        name: Linux flatc binary ${{ matrix.cxx }}
        path: flatc
    # Below if only for release.
    - name: Zip file
      if: startsWith(github.ref, 'refs/tags/')
      run: zip Linux.flatc.binary.${{ matrix.cxx }}.zip flatc
    - name: Release zip file
      uses: softprops/action-gh-release@v2
      if: startsWith(github.ref, 'refs/tags/')
      with:
        files: Linux.flatc.binary.${{ matrix.cxx }}.zip
    - name: Generate SLSA subjects - clang
      if: matrix.cxx == 'clang++-18' && startsWith(github.ref, 'refs/tags/')
      id: hash-clang
      run: echo "hashes=$(sha256sum Linux.flatc.binary.${{ matrix.cxx }}.zip | base64 -w0)" >> $GITHUB_OUTPUT
    - name: Generate SLSA subjects - gcc
      if: matrix.cxx == 'g++-13' && startsWith(github.ref, 'refs/tags/')
      id: hash-gcc
      run: echo "hashes=$(sha256sum Linux.flatc.binary.${{ matrix.cxx }}.zip | base64 -w0)" >> $GITHUB_OUTPUT

  build-linux-no-file-tests:
    name: Build Linux with -DFLATBUFFERS_NO_FILE_TESTS
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - name: cmake
      run: CXX=clang++-18 cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON -DFLATBUFFERS_CXX_FLAGS="-DFLATBUFFERS_NO_FILE_TESTS" .
    - name: build
      run: make -j
    - name: test
      run: ./flattests

  build-linux-out-of-source:
    name: Build Linux with out-of-source build location
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - name: make build directory
      run: mkdir build
    - name: cmake
      working-directory: build
      run: >
        CXX=clang++-18 cmake .. -G "Unix Makefiles" -DFLATBUFFERS_STRICT_MODE=ON
        -DFLATBUFFERS_BUILD_CPP17=ON -DFLATBUFFERS_CPP_STD=17
    - name: build
      working-directory: build
      run: make -j
    - name: test
      working-directory: build
      run: pwd && ./flattests
    - name: test C++17
      working-directory: build
      run: ./flattests_cpp17

  build-linux-cpp-std:
    name: Build Linux C++
    runs-on: ubuntu-24.04
    strategy:
      fail-fast: false
      matrix:
        std: [11, 14, 17, 20, 23]
        cxx: [g++-13, clang++-18]
        exclude:
          # Clang++15 10.3.0 stdlibc++ doesn't fully support std 23
          - cxx: clang++-18
            std: 23

    steps:
    - uses: actions/checkout@v6
    - name: cmake
      run: >
        CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles"
        -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON
        -DFLATBUFFERS_CPP_STD=${{ matrix.std }}
        -DFLATBUFFERS_BUILD_CPP17=${{ matrix.std >= 17 && 'On' || 'Off'}}
    - name: build
      run: make -j
    - name: test
      run: ./flattests
    - name: test C++17
      if: matrix.std >= 17
      run: ./flattests_cpp17

  build-cpp-std:
    name: Build Windows C++
    runs-on: windows-2022
    strategy:
      matrix:
        std: [11, 14, 17, 20, 23]
      fail-fast: false
    steps:
    - uses: actions/checkout@v6
    - name: Add msbuild to PATH
      uses: microsoft/setup-msbuild@v2
    - name: cmake
      run: >
        cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release
        -DFLATBUFFERS_STRICT_MODE=ON
        -DFLATBUFFERS_CPP_STD=${{ matrix.std }}
        -DFLATBUFFERS_BUILD_CPP17=${{ matrix.std >= 17 && 'On' || 'Off'}}
    - name: build
      run: msbuild.exe FlatBuffers.sln /p:Configuration=Release /p:Platform=x64
    - name: test
      run: Release\flattests.exe
    - name: test C++17
      if: matrix.std >= 17
      run: Release\flattests_cpp17.exe

  build-windows:
    permissions:
      contents: write
    outputs:
      digests: ${{ steps.hash.outputs.hashes }}
    name: Build Windows 2022
    runs-on: windows-2022
    steps:
    - uses: actions/checkout@v6
    - name: Add msbuild to PATH
      uses: microsoft/setup-msbuild@v2
    - name: cmake
      run: cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_CPP17=ON -DFLATBUFFERS_STRICT_MODE=ON .
    - name: build
      run: msbuild.exe FlatBuffers.sln /p:Configuration=Release /p:Platform=x64
    - name: test
      run: Release\flattests.exe
    - name: upload build artifacts
      uses: actions/upload-artifact@v7
      with:
        name: Windows flatc binary
        path: Release\flatc.exe
    # Below if only for release.
    - name: Zip file
      if: startsWith(github.ref, 'refs/tags/')
      run: move Release/flatc.exe . && Compress-Archive flatc.exe Windows.flatc.binary.zip
    - name: Release binary
      uses: softprops/action-gh-release@v2
      if: startsWith(github.ref, 'refs/tags/')
      with:
        files: Windows.flatc.binary.zip
    - name: Generate SLSA subjects
      if: startsWith(github.ref, 'refs/tags/')
      id: hash
      shell: bash
      run: echo "hashes=$(sha256sum Windows.flatc.binary.zip | base64 -w0)" >> $GITHUB_OUTPUT

  build-dotnet-windows:
    name: Build .NET Windows
    runs-on: windows-2022
    strategy:
      matrix:
        configuration: [
          '',
          '-p:UnsafeByteBuffer=true',
          '-p:EnableSpanT=true,UnsafeByteBuffer=true'
          ]
    steps:
    - uses: actions/checkout@v6
    - name: Setup .NET Core SDK
      uses: actions/setup-dotnet@v5
      with:
        dotnet-version: '8.0.x'
    - name: Build
      run: |
        cd tests\FlatBuffers.Test
        dotnet new sln --force --name FlatBuffers.Test --format sln
        dotnet sln FlatBuffers.Test.sln add FlatBuffers.Test.csproj
        dotnet build -c Release ${{matrix.configuration}} FlatBuffers.Test.sln
    - name: Run net6.0
      run: |
        cd tests\FlatBuffers.Test\bin\Release\net6.0
        dir
        .\FlatBuffers.Test.exe
    - name: Run net8.0
      run: |
        cd tests\FlatBuffers.Test\bin\Release\net8.0
        .\FlatBuffers.Test.exe

  build-mac-intel:
    permissions:
      contents: write
    outputs:
      digests: ${{ steps.hash.outputs.hashes }}
    name: Build Mac (for Intel)
    runs-on: macos-15-intel
    steps:
    - uses: actions/checkout@v6
    - name: cmake
      run: cmake -G "Xcode" -DCMAKE_OSX_ARCHITECTURES="x86_64" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON .
    - name: build
      run: xcodebuild -toolchain clang -configuration Release -target flattests
    - name: check that the binary is x86_64
      run: |
        info=$(file Release/flatc)
        echo $info
        echo $info | grep "Mach-O 64-bit executable x86_64"
    - name: test
      run: Release/flattests
    - name: make flatc executable
      run: |
        chmod +x Release/flatc
        Release/flatc --version
    - name: upload build artifacts
      uses: actions/upload-artifact@v7
      with:
        name: Mac flatc binary Intel
        path: Release/flatc
    # Below if only for release.
    - name: Zip file
      if: startsWith(github.ref, 'refs/tags/')
      run: mv Release/flatc . && zip MacIntel.flatc.binary.zip flatc
    - name: Release binary
      uses: softprops/action-gh-release@v2
      if: startsWith(github.ref, 'refs/tags/')
      with:
        files: MacIntel.flatc.binary.zip
    - name: Generate SLSA subjects
      if: startsWith(github.ref, 'refs/tags/')
      id: hash
      run: echo "hashes=$(shasum -a 256 MacIntel.flatc.binary.zip | base64)" >> $GITHUB_OUTPUT

  build-mac-universal:
    permissions:
      contents: write
    outputs:
      digests: ${{ steps.hash.outputs.hashes }}
    name: Build Mac (universal build)
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v6
    - name: cmake
      run: cmake -G "Xcode" -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON .
    - name: build
      run: xcodebuild -toolchain clang -configuration Release -target flattests
    - name: check that the binary is "universal"
      run: |
        info=$(file Release/flatc)
        echo $info
        echo $info | grep "Mach-O universal binary with 2 architectures"
    - name: test
      run: Release/flattests
    - name: make flatc executable
      run: |
        chmod +x Release/flatc
        Release/flatc --version
    - name: upload build artifacts
      uses: actions/upload-artifact@v7
      with:
        name: Mac flatc binary Universal
        path: Release/flatc
    # Below if only for release.
    - name: Zip file
      if: startsWith(github.ref, 'refs/tags/')
      run: mv Release/flatc . && zip Mac.flatc.binary.zip flatc
    - name: Release binary
      uses: softprops/action-gh-release@v2
      if: startsWith(github.ref, 'refs/tags/')
      with:
        files: Mac.flatc.binary.zip
    - name: Generate SLSA subjects
      if: startsWith(github.ref, 'refs/tags/')
      id: hash
      run: echo "hashes=$(shasum -a 256 Mac.flatc.binary.zip | base64)" >> $GITHUB_OUTPUT

  build-android:
   name: Build Android (on Linux)
   if: false #disabled due to continual failure
   runs-on: ubuntu-24.04
   steps:
   - uses: actions/checkout@v6
   - name: set up Java
     uses: actions/setup-java@v5
     with:
       distribution: temurin
       java-version: 17
   - name: set up Gradle
     uses: gradle/actions/setup-gradle@v5
   - name: set up flatc
     run: |
       cmake -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF -DFLATBUFFERS_STRICT_MODE=ON .
       make -j
       echo "${PWD}" >> $GITHUB_PATH
   - name: build
     working-directory: android
     run: gradle clean build

  build-generator:
    name: Check Generated Code
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        cxx: [g++-13, clang++-18]
    steps:
    - uses: actions/checkout@v6
    - name: cmake
      run: CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles" -DFLATBUFFERS_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON . && make -j
    - name: Generate
      run: scripts/check_generate_code.py
    - name: Generate gRPC
      run: scripts/check-grpc-generated-code.py

  build-generator-windows:
    name: Check Generated Code on Windows
    runs-on: windows-2022
    steps:
    - uses: actions/checkout@v6
    - name: Add msbuild to PATH
      uses: microsoft/setup-msbuild@v2
    - name: cmake
      run: cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_CPP17=ON -DFLATBUFFERS_STRICT_MODE=ON .
    - name: build
      run: msbuild.exe FlatBuffers.sln /p:Configuration=Release /p:Platform=x64
    - name: Generate
      run: python3 scripts/check_generate_code.py --flatc Release\flatc.exe
    - name: Generate gRPC
      run: python3 scripts/check-grpc-generated-code.py --flatc Release\flatc.exe

  build-benchmarks:
    name: Build Benchmarks (on Linux)
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        cxx: [g++-13]
    steps:
    - uses: actions/checkout@v6
    - name: cmake
      run: CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles" -DFLATBUFFERS_CXX_FLAGS="-Wno-unused-parameter -fno-aligned-new" -DFLATBUFFERS_BUILD_BENCHMARKS=ON -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON . && make -j
    - name: Run benchmarks
      run: ./flatbenchmark --benchmark_repetitions=5 --benchmark_display_aggregates_only=true --benchmark_out_format=console --benchmark_out=benchmarks/results_${{matrix.cxx}}
    - name: Upload benchmarks results
      uses: actions/upload-artifact@v7
      with:
        name: Linux flatbenchmark results ${{matrix.cxx}}
        path: benchmarks/results_${{matrix.cxx}}

  build-java:
    name: Build Java
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - name: test
      working-directory: java
      run: mvn test

  build-kotlin-macos:
    name: Build Kotlin MacOS
    runs-on: macos-15
    steps:
    - name: Checkout
      uses: actions/checkout@v6
    - name: set up Java
      uses: actions/setup-java@v5
      with:
        distribution: temurin
        java-version: 17
    - name: set up Gradle
      uses: gradle/actions/setup-gradle@v5
    - name: Build flatc
      run: |
       cmake -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF .
       make -j
       echo "${PWD}" >> $GITHUB_PATH
    - name: Build
      working-directory: kotlin
      run: ./gradlew clean iosSimulatorArm64Test macosX64Test macosArm64Test

  build-kotlin-linux:
    name: Build Kotlin Linux
    if: false #disabled due to continual failure
    runs-on: ubuntu-24.04
    steps:
    - name: Checkout
      uses: actions/checkout@v6
    - name: set up Java
      uses: actions/setup-java@v5
      with:
        distribution: temurin
        java-version: 17
    - name: set up Gradle
      uses: gradle/actions/setup-gradle@v5
    - name: Build flatc
      run: |
       cmake -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF .
       make -j
       echo "${PWD}" >> $GITHUB_PATH
    - name: Build
      working-directory: kotlin
      # we are using docker's version of gradle
      # so no need for wrapper validation or user
      # gradlew
      run: gradle jvmMainClasses jvmTest jsTest jsBrowserTest

  build-rust-linux:
    name: Build Rust Linux
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - name: test
      working-directory: tests
      run: bash RustTest.sh

  build-rust-windows:
    name: Build Rust Windows
    runs-on: windows-2022
    steps:
    - uses: actions/checkout@v6
    - name: test
      working-directory: tests
      run: ./RustTest.bat

  build-python:
    name: Build Python
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - name: flatc
      # FIXME: make test script not rely on flatc
      run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF -DFLATBUFFERS_STRICT_MODE=ON . && make -j
    - name: test
      working-directory: tests
      run: bash PythonTest.sh

  build-go:
    name: Build Go
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - name: flatc
      # FIXME: make test script not rely on flatc
      run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF -DFLATBUFFERS_STRICT_MODE=ON . && make -j
    - name: test
      working-directory: tests
      run: bash GoTest.sh

  build-php:
   name: Build PHP
   runs-on: ubuntu-24.04
   steps:
   - uses: actions/checkout@v6
   - name: flatc
     # FIXME: make test script not rely on flatc
     run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF -DFLATBUFFERS_STRICT_MODE=ON . && make -j
   - name: test
     working-directory: tests
     run: |
       php phpTest.php
       sh phpUnionVectorTest.sh

  build-swift:
    name: Test Swift Linux
    strategy:
      matrix:
        swift: ["5.10", "6.1", "6.2"]
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - uses: swift-actions/setup-swift@v2
      with:
        swift-version: ${{ matrix.swift }}
    - name: Get swift version
      run: swift --version
    - name: test
      run: swift test

  build-swift-windows:
    name: Test swift windows
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v6
      - uses: SwiftyLab/setup-swift@latest
        with:
          swift-version: '6.1'
      - run: swift build
      - run: swift test

  build-swift-wasm:
    name: Test Swift Wasm
    runs-on: ubuntu-24.04
    steps:
       - uses: actions/checkout@v6
       - uses: swift-actions/setup-swift@v2
         with:
           swift-version: 6.2.1
       - uses: bytecodealliance/actions/wasmtime/setup@v1
       - name: Install Swift SDK
         run: swift sdk install https://download.swift.org/swift-6.2.1-release/wasm-sdk/swift-6.2.1-RELEASE/swift-6.2.1-RELEASE_wasm.artifactbundle.tar.gz --checksum 482b9f95462b87bedfafca94a092cf9ec4496671ca13b43745097122d20f18af
       - name: Test
         working-directory: tests/swift/Wasm.tests
         run: |
           swift sdk list
           swift build --build-tests --swift-sdk swift-6.2.1-RELEASE_wasm
           wasmtime --dir . .build/wasm32-unknown-wasip1/debug/FlatBuffers.Test.Swift.WasmPackageTests.xctest

  build-ts:
    name: Build TS
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - name: flatc
      # FIXME: make test script not rely on flatc
      run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF . && make -j
    - name: pnpm
      run: npm install -g pnpm esbuild
    - name: deps
      run: pnpm i
    - name: compile
      run: pnpm compile
    - name: test
      working-directory: tests/ts
      run: |
        python3 TypeScriptTest.py

  build-dart:
    name: Build Dart
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v6
      - uses: dart-lang/setup-dart@v1
        with:
          sdk: stable
      - name: flatc
        # FIXME: make test script not rely on flatc
        run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF -DFLATBUFFERS_STRICT_MODE=ON . && make -j
      - name: test
        working-directory: tests
        run: bash DartTest.sh

  build-nim:
    name: Build Nim
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - name: flatc
      # FIXME: make test script not rely on flatc
      run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF . && make -j
    - uses: jiro4989/setup-nim-action@v2
    - name: install library
      working-directory: nim
      run: nimble -y develop && nimble install
    - name: test
      working-directory: tests/nim
      run: python3 testnim.py

  bazel:
    name: Bazel
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v6
      # Explicitly use 8.5.1 until we can update or https://github.com/actions/runner-images/issues/13564 is fixed.
      - name: Set env
        run: >
          echo "USE_BAZEL_VERSION=8.5.1" >> $GITHUB_ENV
      - name: bazel build
        run: >
          bazel build
          //:flatc
          //:flatbuffers
          //tests:flatbuffers_test
      - name: bazel test
        run: >
          bazel test
          //tests:flatbuffers_test

  release-digests:
    if: startsWith(github.ref, 'refs/tags/')
    needs: [build-linux, build-windows, build-mac-intel, build-mac-universal]
    outputs:
      digests: ${{ steps.hash.outputs.digests }}
    runs-on: ubuntu-24.04
    steps:
      - name: Merge results
        id: hash
        env:
          LINUXGCC_DIGESTS: "${{ needs.build-linux.outputs.digests-gcc }}"
          LINUXCLANG_DIGESTS: "${{ needs.build-linux.outputs.digests-clang }}"
          MAC_DIGESTS: "${{ needs.build-mac-universal.outputs.digests }}"
          MACINTEL_DIGESTS: "${{ needs.build-mac-intel.outputs.digests }}"
          WINDOWS_DIGESTS: "${{ needs.build-windows.outputs.digests }}"
        run: |
          set -euo pipefail
          echo "$LINUXGCC_DIGESTS" | base64 -d > checksums.txt
          echo "$LINUXCLANG_DIGESTS" | base64 -d >> checksums.txt
          echo "$MAC_DIGESTS" | base64 -d >> checksums.txt
          echo "$MACINTEL_DIGESTS" | base64 -d >> checksums.txt
          echo "$WINDOWS_DIGESTS" | base64 -d >> checksums.txt
          echo "digests=$(cat checksums.txt | base64 -w0)" >> $GITHUB_OUTPUT

  provenance:
    if: startsWith(github.ref, 'refs/tags/')
    needs: [release-digests]
    permissions:
      actions: read   # To read the workflow path.
      id-token: write # To sign the provenance.
      contents: write # To add assets to a release.
    uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
    with:
      base64-subjects: "${{ needs.release-digests.outputs.digests }}"
      upload-assets: true # Optional: Upload to a new release


================================================
FILE: .github/workflows/docs.yml
================================================
name: docs
on:
  # For manual pushes.
  workflow_dispatch: 

  # Pushes to main that touch the documentation directory.
  push:
    branches:
      - master
    paths:
      - 'docs/**'

permissions:
  contents: write
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Configure Git Credentials
        run: |
          git config user.name github-actions[bot]
          git config user.email 41898282+github-actions[bot]@users.noreply.github.com
      - uses: actions/setup-python@v6
        with:
          python-version: 3.x
      - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV 
      - uses: actions/cache@v5
        with:
          key: mkdocs-material-${{ env.cache_id }}
          path: .cache
          restore-keys: |
            mkdocs-material-
      - run: pip install mkdocs-material 
      - run: pip install mkdocs-redirects
      - run: mkdocs gh-deploy --force -f docs/mkdocs.yml


================================================
FILE: .github/workflows/label.yml
================================================
# This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request.
#
# To use this workflow, you will need to set up a .github/labeler.yml
# file with configuration.  For more information, see:
# https://github.com/actions/labeler

name: Labeler
permissions: read-all

on: [pull_request_target]

jobs:
  label:
    permissions:
      contents: read
      pull-requests: write
      
    runs-on: ubuntu-latest

    steps:
    - uses: actions/labeler@v6
      with:
        repo-token: "${{ secrets.GITHUB_TOKEN }}"


================================================
FILE: .github/workflows/main.yml
================================================
name: OSS-Fuzz
permissions: read-all

on:
  pull_request:
    branches:
      - master
    paths:
      - include/**
      - src/**
      - tests/**.cpp
      - tests/**.h
jobs:
 Fuzzing:
   runs-on: ubuntu-latest
   steps:
   - name: Build Fuzzers
     id: build
     uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
     with:
       oss-fuzz-project-name: 'flatbuffers'
       language: c++
   - name: Run Fuzzers
     uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
     with:
       oss-fuzz-project-name: 'flatbuffers'
       language: c++
       fuzz-seconds: 60
   - name: Upload Crash
     uses: actions/upload-artifact@v7
     if: failure() && steps.build.outcome == 'success'
     with:
       name: artifacts
       path: ./out/artifacts


================================================
FILE: .github/workflows/release.yml
================================================
name: Release
permissions: read-all

on:
  # For manual tests.
  workflow_dispatch:
  release:
    types: [published]

jobs:
  publish-npm:
    name: Publish NPM
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v6
        with:
          node-version: '20.x'
          registry-url: 'https://registry.npmjs.org'

      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

  publish-pypi:
    name: Publish PyPi
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./python
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-python@v6
        with:
          python-version: '3.10'

      - name: Install Dependencies
        run: |
          python3 -m pip install --upgrade pip
          python3 -m pip install build twine

      - name: Build
        run: |
          python3 -m build .

      - name: Upload to PyPi
        run: |
          python3 -m twine upload dist/*
        env:
          TWINE_USERNAME: __token__
          TWINE_PASSWORD: ${{ secrets.TWINE_TOKEN }}

  publish-nuget:
    name: Publish NuGet
    runs-on: windows-latest
    defaults:
      run:
        working-directory: ./net/flatbuffers
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-dotnet@v5
        with:
          dotnet-version: '8.0.x'
      - name: Build
        run: |
          dotnet build Google.FlatBuffers.csproj -c Release

      - name: Pack
        run: |
          dotnet pack Google.FlatBuffers.csproj -c Release

      - name: Upload to NuGet
        run: |
          dotnet nuget push .\bin\Release\Google.FlatBuffers.*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json

  publish-maven:
    name: Publish Maven
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./java
    steps:
      - uses: actions/checkout@v6

      - name: Set up Maven Central Repository
        uses: actions/setup-java@v5
        with:
          java-version: '11'
          distribution: 'adopt'
          cache: 'maven'
          server-id: ossrh
          server-username: OSSRH_USERNAME
          server-password: OSSRH_PASSWORD
          gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
          gpg-passphrase: MAVEN_GPG_PASSPHRASE # this needs to be an env var

      - name: Publish Maven
        run: mvn --batch-mode clean deploy
        env:
          OSSRH_USERNAME: ${{ secrets.OSSRH_USER_V2 }}
          OSSRH_PASSWORD: ${{ secrets.OSSRH_TOKEN_V2 }}
          MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
          
  publish-maven-kotlin:
    name: Publish Maven - Kotlin
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./kotlin
    steps:
      - uses: actions/checkout@v6
      - name: Set up Maven Central Repository
        uses: actions/setup-java@v5
        with:
          java-version: '11'
          distribution: 'adopt'
          cache: 'maven'
          server-id: ossrh
          server-username: OSSRH_USERNAME
          server-password: OSSRH_PASSWORD
          gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
          gpg-passphrase: MAVEN_GPG_PASSPHRASE # this needs to be an env var

      - name: Publish Kotlin Library on Maven
        run: ./gradlew publishAllPublicationsToSonatypeRepository
        env:
          OSSRH_USERNAME: ${{ secrets.OSSRH_USER_V2 }}
          OSSRH_PASSWORD: ${{ secrets.OSSRH_TOKEN_V2 }}
          MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}


  publish-crates:
    name: Publish crates.io
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
          
      - name: Publish Flatbuffers
        uses: katyo/publish-crates@v2
        with:
          path: ./rust/flatbuffers
          registry-token: ${{ secrets.CARGO_TOKEN }}

      - name: Publish Flexbuffers
        uses: katyo/publish-crates@v2
        with:
          path: ./rust/flexbuffers
          registry-token: ${{ secrets.CARGO_TOKEN }}


================================================
FILE: .github/workflows/stale.yml
================================================
name: Mark stale issues and pull requests
permissions:
  issues: write
  pull-requests: write

on:
  # For manual tests.
  workflow_dispatch:
  schedule:
    - cron: "30 20 * * *"

jobs:
  stale:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/stale@v10
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}
        operations-per-run: 500
        exempt-all-milestones: true
        remove-stale-when-updated: true
      
        stale-issue-message: 'This issue is stale because it has been open 6 months with no activity. Please comment or label `not-stale`, or this will be closed in 14 days.'
        close-issue-message: 'This issue was automatically closed due to no activity for 6 months plus the 14 day notice period.'
        days-before-issue-stale: 182 # 6 months
        days-before-issue-close: 14 # 2 weeks
        exempt-issue-labels: not-stale
        
        stale-pr-message: 'This pull request is stale because it has been open 6 months with no activity. Please comment or label `not-stale`, or this will be closed in 14 days.'
        close-pr-message: 'This pull request was automatically closed due to no activity for 6 months plus the 14 day notice period.'
        days-before-pr-stale: 182 # 6 months
        days-before-pr-close: 14 # 2 week
        exempt-pr-labels: not-stale
        exempt-draft-pr: false



================================================
FILE: .gitignore
================================================
*_wire.txt
*_wire.bin
.DS_Store
**/.build
build
**/Packages
/*.xcodeproj
**/xcuserdata/
**/xcshareddata/
**/.swiftpm/
*.o
*.o.d
*.class
*.a
*.swp
*~
*.vcxproj
*.vcxproj.filters
*.vcxproj.user
*.sln
*.suo
*.opendb
*.keystore
**/.vs/**
**/bin/**
!tests/rust_usage_test/bin/**
**/gen/**
**/libs/**
**/obj/**
**/*.dir/**
**/CMakeFiles/**
**/cmake_install.cmake
**/install_manifest.txt
**/CMakeCache.txt
**/CMakeTestfile.cmake
**/CPackConfig.cmake
**/CPackSourceConfig.cmake
**/compile_commands.json
**/Debug/**
**/Release/**
**/RelWithDebInfo/**
**/x64/ #build artifacts from VS
build.xml
local.properties
project.properties
proguard-project.txt
linklint_results
Makefile
flatbenchmark
flatbenchmark.exe
flatc
flatc.exe
flathash
flathash.exe
flattests
flattests.exe
flattests_cpp17
flattests_cpp17.exe
flatsamplebinary
flatsamplebinary.exe
flatsampletext
flatsampletext.exe
flatsamplebfbs
flatsamplebfbs.exe
grpctest
grpctest.exe
snapshot.sh
tags
tests/dart_gen
tests/go_gen
tests/monsterdata_java_wire.mon
tests/monsterdata_java_wire_sp.mon
tests/monsterdata_go_wire.mon
tests/monsterdata_javascript_wire.mon
tests/monsterdata_lobster_wire.mon
tests/monsterdata_rust_wire.mon
tests/php/
CMakeLists.txt.user
CMakeScripts/**
CTestTestfile.cmake
flatbuffers-config-version.cmake
FlatBuffers.cbp
build/Xcode/FlatBuffers.xcodeproj/project.xcworkspace/**
build/Xcode/FlatBuffers.xcodeproj/xcuserdata/**
FlatBuffers.xcodeproj/
java/.idea
java/*.iml
.idea
*.iml
target
java/target
**/*.pyc
build/VS2010/FlatBuffers.sdf
build/VS2010/FlatBuffers.opensdf
build/VS2010/ipch/**/*.ipch
*.so
Testing/Temporary
.cproject
.settings/
.project
net/**/obj
node_modules/
android/.externalNativeBuild/
android/.gradle/
android/build/
samples/android/.externalNativeBuild/
samples/android/.gradle/
samples/android/build/
js/**/*.js
js/**/*.d.ts
mjs/**/*.js
mjs/**/*.d.ts
/bazel-bin
/bazel-flatbuffers
/bazel-genfiles
/bazel-out
/bazel-testlogs
.ninja_deps
.ninja_log
build.ninja
rules.ninja
.vscode
dart/.pub/
dart/.packages
dart/pubspec.lock
dart/.dart_tool/
dart/build/
dart/doc/api/
Cargo.lock
.corpus**
.seed**
.crash**
grpc/google/
**/Package.resolved
.clangd/**
package-lock.json
/*.ilk
/*.pdb
.clwb
yarn-error.log
.cache/
/flatbuffers.lib
.cmake/
**/dist
**/vendor
**/go.sum
flatbuffers.pc
**/FlatBuffers.Test.Swift.xcodeproj
**/html/**
**/latex/**
# https://cmake.org/cmake/help/latest/module/FetchContent.html#variable:FETCHCONTENT_BASE_DIR
cmake-build-debug/
_deps/
**/.gradle/**
kotlin/**/generated
MODULE.bazel.lock

# Ignore the generated docs
docs/site

# Ignore generated files
*.fbs.h


================================================
FILE: .npmrc
================================================
hoist=false


================================================
FILE: BUILD.bazel
================================================
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")

licenses(["notice"])

package(
    default_visibility = ["//visibility:public"],
)

exports_files([
    "LICENSE",
    "tsconfig.json",
])

config_setting(
    name = "platform_freebsd",
    constraint_values = [
        "@platforms//os:freebsd",
    ],
)

config_setting(
    name = "platform_openbsd",
    constraint_values = [
        "@platforms//os:openbsd",
    ],
)

filegroup(
    name = "distribution",
    srcs = [
        ".bazelignore",
        ".npmrc",
        "BUILD.bazel",
        "MODULE.bazel",
        "build_defs.bzl",
        "package.json",
        "pnpm-lock.yaml",
        "typescript.bzl",
        "//grpc/src/compiler:distribution",
        "//include/codegen:distribution",
        "//reflection:distribution",
        "//src:distribution",
        "//ts:distribution",
    ] + glob([
        "include/flatbuffers/*.h",
    ]),
    visibility = ["//visibility:public"],
)

# Public flatc library to compile flatbuffer files at runtime.
cc_library(
    name = "flatbuffers",
    hdrs = ["//:public_headers"],
    linkstatic = 1,
    strip_include_prefix = "/include",
    deps = ["//src:flatbuffers"],
)

# Public C++ headers for the Flatbuffers library.
filegroup(
    name = "public_headers",
    srcs = [
        "include/flatbuffers/allocator.h",
        "include/flatbuffers/array.h",
        "include/flatbuffers/base.h",
        "include/flatbuffers/buffer.h",
        "include/flatbuffers/buffer_ref.h",
        "include/flatbuffers/code_generator.h",
        "include/flatbuffers/code_generators.h",
        "include/flatbuffers/default_allocator.h",
        "include/flatbuffers/detached_buffer.h",
        "include/flatbuffers/file_manager.h",
        "include/flatbuffers/flatbuffer_builder.h",
        "include/flatbuffers/flatbuffers.h",
        "include/flatbuffers/flex_flat_util.h",
        "include/flatbuffers/flexbuffers.h",
        "include/flatbuffers/grpc.h",
        "include/flatbuffers/hash.h",
        "include/flatbuffers/idl.h",
        "include/flatbuffers/minireflect.h",
        "include/flatbuffers/reflection.h",
        "include/flatbuffers/reflection_generated.h",
        "include/flatbuffers/registry.h",
        "include/flatbuffers/stl_emulation.h",
        "include/flatbuffers/string.h",
        "include/flatbuffers/struct.h",
        "include/flatbuffers/table.h",
        "include/flatbuffers/util.h",
        "include/flatbuffers/vector.h",
        "include/flatbuffers/vector_downward.h",
        "include/flatbuffers/verifier.h",
    ],
)

# Public flatc compiler library.
cc_library(
    name = "flatc_library",
    linkstatic = 1,
    deps = [
        "//src:flatc_library",
    ],
)

# Public flatc compiler.
cc_binary(
    name = "flatc",
    data = ["//reflection:reflection_fbs_schema"],
    deps = [
        "//src:flatc",
    ],
)

filegroup(
    name = "flatc_headers",
    srcs = [
        "include/flatbuffers/flatc.h",
    ],
    visibility = ["//:__subpackages__"],
)

# Library used by flatbuffer_cc_library rules.
cc_library(
    name = "runtime_cc",
    hdrs = ["//:public_headers"],
    linkstatic = 1,
    strip_include_prefix = "/include",
)


================================================
FILE: CHANGELOG.md
================================================
# Flatbuffers Change Log

All major or breaking changes will be documented in this file, as well as any
new features that should be highlighted. Minor fixes or improvements are not
necessarily listed.

## [25.12.19] (December 19 2025)(https://github.com/google/flatbuffers/releases/tag/v25.12.19)

* [C++] Default emptry vector support (#8870)
* [C++] Add --gen-absl-hash option (#8868)
* [Kotlin] Upgrade to MacOS 15 (#8845)
* [C++] Fix vector of table with naked ptrs (#8830)
* [Python] Optimize Offset/Pad/Prep (#8808)
* Implement `--file-names-only` (#8788)
* [C++] Fix size verifer (#8740)

## [25.9.23] (September 23 2025)(https://github.com/google/flatbuffers/releases/tag/v25.9.23)

* flatc: `--grpc-callback-api` flag generates C++ gRPC Callback API server `CallbackService` skeletons AND client native callback/async stubs (unary + all streaming reactor forms) (opt-in, non-breaking, issue #8596).
* Swift - Adds new API to reduce memory copying within swift (#8484)
* Rust - Support Rust edition 2024 (#8638)
* [C++] - Use the Google Style for clang-format without exceptions (#8706)

## [25.2.10] (February 10 2025)(https://github.com/google/flatbuffers/releases/tag/v25.2.10)

* Removed the old documentation pages. The new one is live at https://flatbuffers.dev
* Swift version 6.0 support (#8414)

## [25.1.24] (January 24 2025)(https://github.com/google/flatbuffers/releases/tag/v25.1.24)

* Mostly related to bazel build support.
* Min bazel supported is now 7 or higher, as WORKSPACE files are removed (#8509)
* Minor C++ codegen fix removing extra semicolon (#8488)

## [25.1.21] (January 21 2025)(https://github.com/google/flatbuffers/releases/tag/v25.1.21)

* Rust Full Reflection (#8102)
* Mostly documentation updates hosted at https://flatbuffers.dev

## [24.3.25] (March 25 2024)(https://github.com/google/flatbuffers/releases/tag/v24.3.25)

* Fixed license metadata parsing (#8253)
* [C++] Allow string_view in `LookUpByKey` in addition to null-terminated c-style strings (#8203)

## [24.3.7] (March 7 2024)(https://github.com/google/flatbuffers/releases/tag/v24.3.7)

* Just to fix some of the CI build issues from the 24.3.6 release.

## [24.3.6] (March 6 2024)(https://github.com/google/flatbuffers/releases/tag/v24.3.6)

* Fix typescript object API to allow 0 values for null-default scalars (#7864)

## [23.5.26 (May 26 2023)](https://github.com/google/flatbuffers/releases/tag/v23.5.26)

* Mostly bug fixing for 64-bit support
* Adds support for specifying underling type of unions in C++ and TS/JS (#7954)

## [23.5.9 (May 9 2023)](https://github.com/google/flatbuffers/releases/tag/v23.5.9)

* 64-bit support for C++ (#7935)

## [23.5.8 (May 8 2023)](https://github.com/google/flatbuffers/releases/tag/v23.5.8)

* add key_field to compiled tests
* Add golden language directory
* Rework cmake flatc codegeneration (#7938)
* remove defining generated files in test srcs
* Add binary schema reflection (#7932)
* Migrate from rules_nodejs to rules_js/rules_ts (take 2) (#7928)
* `flat_buffers.dart`: mark const variable finals for internal Dart linters
* fixed some windows warnings (#7929)
* inject no long for FBS generation to remove logs in flattests (#7926)
* Revert "Migrate from rules_nodejs to rules_js/rules_ts (#7923)" (#7927)
* Migrate from rules_nodejs to rules_js/rules_ts (#7923)
* Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881)
* additional check for absl::string_view availability (#7897)
* Optionally generate Python type annotations (#7858)
* Replace deprecated command with environment file (#7921)
* drop glibc from runtime dependencies (#7906)
* Make JSON supporting advanced union features (#7869)
* Allow to use functions from `BuildFlatBuffers.cmake` from a flatbuffers installation installed with CMake. (#7912)
* TS/JS: Use TypeError instead of Error when appropriate (#7910)
* Go: make generated code more compliant to "go fmt" (#7907)
* Support file_identifier in Go (#7904)
* Optionally generate type prefixes and suffixes for python code (#7857)
* Go: add test for FinishWithFileIdentifier (#7905)
* Fix go_sample.sh (#7903)
* [TS/JS] Upgrade dependencies (#7889)
* Add a FileWriter interface (#7821)
* TS/JS: Use minvalue from enum if not found (#7888)
* [CS] Verifier (#7850)
* README.md: PyPI case typo (#7880)
* Update go documentation link to point to root module (#7879)
* use Bool for flatbuffers bool instead of Byte (#7876)
* fix using null string in vector (#7872)
* Add `flatbuffers-64` branch to CI for pushes
* made changes to the rust docs so they would compile. new_with_capacity is deprecated should use with_capacity, get_root_as_monster should be root_as_monster (#7871)
* Adding comment for code clarification (#7856)
* ToCamelCase() when kLowerCamel now converts first char to lower. (#7838)
* Fix help output for --java-checkerframework (#7854)
* Update filename to README.md and improve formatting (#7855)
* Update stale.yml
* Updated remaining usages of LICENSE.txt

## [23.3.3 (Mar 3 2023)](https://github.com/google/flatbuffers/releases/tag/v23.3.3)

* Refactoring of `flatc` generators to use an interface (#7797).

* Removed legacy cmake support and set min to 3.8 (#7801).

## [23.1.21 (Jan 21 2023)](https://github.com/google/flatbuffers/releases/tag/v23.1.20)

* Reworked entry points for Typescript/Javascript and compatibility for single
  file build (#7510)

## [23.1.20 (Jan 20 2023)](https://github.com/google/flatbuffers/releases/tag/v23.1.20)

* Removed go.mod files after some versioning issues were being report (#7780).

## [23.1.4 (Jan 4 2023)](https://github.com/google/flatbuffers/releases/tag/v23.1.4)

* Major release! Just kidding, we are continuing the
  [versioning scheme](https://github.com/google/flatbuffers/wiki/Versioning) of
  using a date to signify releases. This results in the first release of the new
  year to bump the tradition major version field.

* Go minimum version is now 1.19 (#7720) with the addition of Go modules.

* Added CI support for Big Endian regression testing (#7707).

* Fixed `getFullyQualifiedName` in typescript to return name delimited by '.'
  instead of '_' (#7730).

* Fixed the versioning scheme to not include leading zeros which are not
  consistently handled by every package manager. Only the last release
  (12.12.06) should have suffered from this.

## [22.12.06 (Dec 06 2022)](https://github.com/google/flatbuffers/releases/tag/v22.12.06)

* Bug fixing release, no major changes.

## [22.10.25 (Oct 25 2022)](https://github.com/google/flatbuffers/releases/tag/v22.10.25)

* Added Nim language support with generator and runtime libraries (#7534).

## [22.9.29 (Sept 29 2022)](https://github.com/google/flatbuffers/releases/tag/v22.9.29)

* Rust soundness fixes to avoid the crate from bing labelled unsafe (#7518).

## [22.9.24 (Sept 24 2022)](https://github.com/google/flatbuffers/releases/tag/v22.9.24)

* 20 Major releases in a row? Nope, we switched to a new
  [versioning scheme](https://github.com/google/flatbuffers/wiki/Versioning)
  that is based on date.

* Python supports fixed size arrays now (#7529).

* Behavior change in how C++ object API uses `UnPackTo`. The original intent of
  this was to reduce allocations by reusing an existing object to pack data
  into. At some point, this logic started to merge the states of the two objects
  instead of clearing the state of the packee. This change goes back to the
  original intention, the packed object is cleared when getting data packed into
  it (#7527).

* Fixed a bug in C++ alignment that was using `sizeof()` instead of the intended
  `AlignOf()` for structs (#7520).

* C# has an
  [official Nuget package](https://www.nuget.org/packages/Google.FlatBuffers)
  now (#7496).

## 2.0.8 (Aug 29 2022)

* Fix for `--keep-prefix` the was generating the wrong include statements for
  C++ (#7469). The bug was introduced in 2.0.7.

* Added the `Verifier::Options` option struct to allow specifying runtime
  configuration settings for the verifier (#7489). This allows to skip verifying
  nested flatbuffers, a on-by-default change that was introduced in 2.0.7. This
  deprecates the existing `Verifier` constructor, which may be removed in a
  future version.

* Refactor of `tests/test.cpp` that lead to ~10% speedup in compilation of the
  entire project (#7487).

## 2.0.7 (Aug 22 2022)

* This is the first version with an explicit change log, so all the previous
  features will not be listed.

* Verifier now checks that buffers are at least the minimum size required to be
  a flatbuffers (12 bytes). This includes nested flatbuffers, which previously
  could be declared valid at size 0.

* Annotated binaries. Given a flatbuffer binary and a schema (or binary schema)
  one can generate an annotated flatbuffer (.afb) to describe each byte in the
  binary with schema metadata and value.

* First binary schema generator (Lua) to generate Lua code via a .bfbs file.
  This is mostly an implementation detail of flatc internals, but will be slowly
  applied to the other language generators.


================================================
FILE: CMake/BuildFlatBuffers.cmake
================================================
# Copyright 2015 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# General function to create FlatBuffer build rules for the given list of
# schemas.
#
# flatbuffers_schemas: A list of flatbuffer schema files to process.
#
# schema_include_dirs: A list of schema file include directories, which will be
# passed to flatc via the -I parameter.
#
# custom_target_name: The generated files will be added as dependencies for a
# new custom target with this name. You should add that target as a dependency
# for your main target to ensure these files are built. You can also retrieve
# various properties from this target, such as GENERATED_INCLUDES_DIR,
# BINARY_SCHEMAS_DIR, and COPY_TEXT_SCHEMAS_DIR.
#
# additional_dependencies: A list of additional dependencies that you'd like
# all generated files to depend on. Pass in a blank string if you have none.
#
# generated_includes_dir: Where to generate the C++ header files for these
# schemas. The generated includes directory will automatically be added to
# CMake's include directories, and will be where generated header files are
# placed. This parameter is optional; pass in empty string if you don't want to
# generate include files for these schemas.
#
# binary_schemas_dir: If you specify an optional binary schema directory, binary
# schemas will be generated for these schemas as well, and placed into the given
# directory.
#
# copy_text_schemas_dir: If you want all text schemas (including schemas from
# all schema include directories) copied into a directory (for example, if you
# need them within your project to build JSON files), you can specify that
# folder here. All text schemas will be copied to that folder.
#
# IMPORTANT: Make sure you quote all list arguments you pass to this function!
# Otherwise CMake will only pass in the first element.
# Example: build_flatbuffers("${fb_files}" "${include_dirs}" target_name ...)
function(build_flatbuffers flatbuffers_schemas
                           schema_include_dirs
                           custom_target_name
                           additional_dependencies
                           generated_includes_dir
                           binary_schemas_dir
                           copy_text_schemas_dir)

  # Test if including from FindFlatBuffers
  if(FLATBUFFERS_FLATC_EXECUTABLE)
    set(FLATC_TARGET "")
    set(FLATC ${FLATBUFFERS_FLATC_EXECUTABLE})
  elseif(TARGET flatbuffers::flatc)
    set(FLATC_TARGET flatbuffers::flatc)
    set(FLATC flatbuffers::flatc)
  else()
    set(FLATC_TARGET flatc)
    set(FLATC flatc)
  endif()
  set(FLATC_SCHEMA_ARGS --gen-mutable)
  if(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS)
    set(FLATC_SCHEMA_ARGS
      ${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}
      ${FLATC_SCHEMA_ARGS}
      )
  endif()

  set(working_dir "${CMAKE_CURRENT_SOURCE_DIR}")

  set(schema_glob "*.fbs")
  # Generate the include files parameters.
  set(include_params "")
  set(all_generated_files "")
  foreach (include_dir ${schema_include_dirs})
    set(include_params -I ${include_dir} ${include_params})
    if (NOT ${copy_text_schemas_dir} STREQUAL "")
      # Copy text schemas from dependent folders.
      file(GLOB_RECURSE dependent_schemas ${include_dir}/${schema_glob})
      foreach (dependent_schema ${dependent_schemas})
        file(COPY ${dependent_schema} DESTINATION ${copy_text_schemas_dir})
      endforeach()
    endif()
  endforeach()

  foreach(schema ${flatbuffers_schemas})
    get_filename_component(filename ${schema} NAME_WE)
    # For each schema, do the things we requested.
    if (NOT ${generated_includes_dir} STREQUAL "")
      set(generated_include ${generated_includes_dir}/${filename}_generated.h)
      add_custom_command(
        OUTPUT ${generated_include}
        COMMAND ${FLATC} ${FLATC_SCHEMA_ARGS}
        -o ${generated_includes_dir}
        ${include_params}
        -c ${schema}
        DEPENDS ${FLATC_TARGET} ${schema} ${additional_dependencies}
        WORKING_DIRECTORY "${working_dir}")
      list(APPEND all_generated_files ${generated_include})
    endif()

    if (NOT ${binary_schemas_dir} STREQUAL "")
      set(binary_schema ${binary_schemas_dir}/${filename}.bfbs)
      add_custom_command(
        OUTPUT ${binary_schema}
        COMMAND ${FLATC} -b --schema
        -o ${binary_schemas_dir}
        ${include_params}
        ${schema}
        DEPENDS ${FLATC_TARGET} ${schema} ${additional_dependencies}
        WORKING_DIRECTORY "${working_dir}")
      list(APPEND all_generated_files ${binary_schema})
    endif()

    if (NOT ${copy_text_schemas_dir} STREQUAL "")
      file(COPY ${schema} DESTINATION ${copy_text_schemas_dir})
    endif()
  endforeach()

  # Create a custom target that depends on all the generated files.
  # This is the target that you can depend on to trigger all these
  # to be built.
  add_custom_target(${custom_target_name}
                    DEPENDS ${all_generated_files} ${additional_dependencies})

  # Register the include directory we are using.
  if (NOT ${generated_includes_dir} STREQUAL "")
    include_directories(${generated_includes_dir})
    set_property(TARGET ${custom_target_name}
      PROPERTY GENERATED_INCLUDES_DIR
      ${generated_includes_dir})
  endif()

  # Register the binary schemas dir we are using.
  if (NOT ${binary_schemas_dir} STREQUAL "")
    set_property(TARGET ${custom_target_name}
      PROPERTY BINARY_SCHEMAS_DIR
      ${binary_schemas_dir})
  endif()

  # Register the text schema copy dir we are using.
  if (NOT ${copy_text_schemas_dir} STREQUAL "")
    set_property(TARGET ${custom_target_name}
      PROPERTY COPY_TEXT_SCHEMAS_DIR
      ${copy_text_schemas_dir})
  endif()
endfunction()

# Creates a target that can be linked against that generates flatbuffer headers.
#
# This function takes a target name and a list of schemas. You can also specify
# other flagc flags using the FLAGS option to change the behavior of the flatc
# tool.
#
# When the target_link_libraries is done within a different directory than
# flatbuffers_generate_headers is called, then the target should also be dependent
# the custom generation target called GENERATE_<TARGET>.
#
# Arguments:
#   TARGET: The name of the target to generate.
#   SCHEMAS: The list of schema files to generate code for.
#   BINARY_SCHEMAS_DIR: Optional. The directory in which to generate binary
#       schemas. Binary schemas will only be generated if a path is provided.
#   INCLUDE: Optional. Search for includes in the specified paths. (Use this
#       instead of "-I <path>" and the FLAGS option so that CMake is aware of
#       the directories that need to be searched).
#   INCLUDE_PREFIX: Optional. The directory in which to place the generated
#       files. Use this instead of the --include-prefix option.
#   FLAGS: Optional. A list of any additional flags that you would like to pass
#       to flatc.
#
# Example:
#
#     flatbuffers_generate_headers(
#         TARGET my_generated_headers_target
#         INCLUDE_PREFIX ${MY_INCLUDE_PREFIX}"
#         SCHEMAS ${MY_SCHEMA_FILES}
#         BINARY_SCHEMAS_DIR "${MY_BINARY_SCHEMA_DIRECTORY}"
#         FLAGS --gen-object-api)
#
#     target_link_libraries(MyExecutableTarget
#         PRIVATE my_generated_headers_target
#     )
#
# Optional (only needed within different directory):
#     add_dependencies(app GENERATE_my_generated_headers_target)
function(flatbuffers_generate_headers)
  # Parse function arguments.
  set(options)
  set(one_value_args
    "TARGET"
    "INCLUDE_PREFIX"
    "BINARY_SCHEMAS_DIR")
  set(multi_value_args
    "SCHEMAS"
    "INCLUDE"
    "FLAGS")
  cmake_parse_arguments(
    PARSE_ARGV 0
    FLATBUFFERS_GENERATE_HEADERS
    "${options}"
    "${one_value_args}"
    "${multi_value_args}")

  # Test if including from FindFlatBuffers
  if(FLATBUFFERS_FLATC_EXECUTABLE)
    set(FLATC_TARGET "")
    set(FLATC ${FLATBUFFERS_FLATC_EXECUTABLE})
  elseif(TARGET flatbuffers::flatc)
    set(FLATC_TARGET flatbuffers::flatc)
    set(FLATC flatbuffers::flatc)
  else()
    set(FLATC_TARGET flatc)
    set(FLATC flatc)
  endif()

  set(working_dir "${CMAKE_CURRENT_SOURCE_DIR}")

  # Generate the include files parameters.
  set(include_params "")
  foreach (include_dir ${FLATBUFFERS_GENERATE_HEADERS_INCLUDE})
    set(include_params -I ${include_dir} ${include_params})
  endforeach()

  # Create a directory to place the generated code.
  set(generated_target_dir "${CMAKE_CURRENT_BINARY_DIR}/${FLATBUFFERS_GENERATE_HEADERS_TARGET}")
  set(generated_include_dir "${generated_target_dir}")
  if (NOT ${FLATBUFFERS_GENERATE_HEADERS_INCLUDE_PREFIX} STREQUAL "")
    set(generated_include_dir "${generated_include_dir}/${FLATBUFFERS_GENERATE_HEADERS_INCLUDE_PREFIX}")
    list(APPEND FLATBUFFERS_GENERATE_HEADERS_FLAGS 
         "--include-prefix" ${FLATBUFFERS_GENERATE_HEADERS_INCLUDE_PREFIX})
  endif()

  set(generated_custom_commands)

  # Create rules to generate the code for each schema.
  foreach(schema ${FLATBUFFERS_GENERATE_HEADERS_SCHEMAS})
    get_filename_component(filename ${schema} NAME_WE)
    set(generated_include "${generated_include_dir}/${filename}_generated.h")

    # Generate files for grpc if needed
    set(generated_source_file)
    if("${FLATBUFFERS_GENERATE_HEADERS_FLAGS}" MATCHES "--grpc")
      # Check if schema file contain a rpc_service definition
      file(STRINGS ${schema} has_grpc REGEX "rpc_service")
      if(has_grpc)
        list(APPEND generated_include "${generated_include_dir}/${filename}.grpc.fb.h")
        set(generated_source_file "${generated_include_dir}/${filename}.grpc.fb.cc")
      endif()
    endif()

    add_custom_command(
      OUTPUT ${generated_include} ${generated_source_file}
      COMMAND ${FLATC} ${FLATC_ARGS}
      -o ${generated_include_dir}
      ${include_params}
      -c ${schema}
      ${FLATBUFFERS_GENERATE_HEADERS_FLAGS}
      DEPENDS ${FLATC_TARGET} ${schema}
      WORKING_DIRECTORY "${working_dir}"
      COMMENT "Building ${schema} flatbuffers...")
    list(APPEND all_generated_header_files ${generated_include})
    list(APPEND all_generated_source_files ${generated_source_file})
    list(APPEND generated_custom_commands "${generated_include}" "${generated_source_file}")

    # Geneate the binary flatbuffers schemas if instructed to.
    if (NOT ${FLATBUFFERS_GENERATE_HEADERS_BINARY_SCHEMAS_DIR} STREQUAL "")
      set(binary_schema
          "${FLATBUFFERS_GENERATE_HEADERS_BINARY_SCHEMAS_DIR}/${filename}.bfbs")
      add_custom_command(
        OUTPUT ${binary_schema}
        COMMAND ${FLATC} -b --schema
        -o ${FLATBUFFERS_GENERATE_HEADERS_BINARY_SCHEMAS_DIR}
        ${include_params}
        ${schema}
        DEPENDS ${FLATC_TARGET} ${schema}
        WORKING_DIRECTORY "${working_dir}")
      list(APPEND generated_custom_commands "${binary_schema}")
      list(APPEND all_generated_binary_files ${binary_schema})
    endif()
  endforeach()

  # Create an additional target as add_custom_command scope is only within same directory (CMakeFile.txt)
  set(generate_target GENERATE_${FLATBUFFERS_GENERATE_HEADERS_TARGET})
  add_custom_target(${generate_target} ALL
                    DEPENDS ${generated_custom_commands}
                    COMMENT "Generating flatbuffer target ${FLATBUFFERS_GENERATE_HEADERS_TARGET}")

  # Set up interface library
  add_library(${FLATBUFFERS_GENERATE_HEADERS_TARGET} INTERFACE)
  target_sources(
    ${FLATBUFFERS_GENERATE_HEADERS_TARGET}
    INTERFACE
      ${all_generated_header_files}
      ${all_generated_binary_files}
      ${all_generated_source_files}
      ${FLATBUFFERS_GENERATE_HEADERS_SCHEMAS})
  add_dependencies(
    ${FLATBUFFERS_GENERATE_HEADERS_TARGET}
    ${FLATC_TARGET})
  target_include_directories(
    ${FLATBUFFERS_GENERATE_HEADERS_TARGET}
    INTERFACE ${generated_target_dir})

  # Organize file layout for IDEs.
  source_group(
    TREE "${generated_target_dir}"
    PREFIX "Flatbuffers/Generated/Headers Files"
    FILES ${all_generated_header_files})
  source_group(
    TREE "${generated_target_dir}"
    PREFIX "Flatbuffers/Generated/Source Files"
    FILES ${all_generated_source_files})
  source_group(
    TREE ${working_dir}
    PREFIX "Flatbuffers/Schemas"
    FILES ${FLATBUFFERS_GENERATE_HEADERS_SCHEMAS})
  if (NOT ${FLATBUFFERS_GENERATE_HEADERS_BINARY_SCHEMAS_DIR} STREQUAL "")
    source_group(
      TREE "${FLATBUFFERS_GENERATE_HEADERS_BINARY_SCHEMAS_DIR}"
      PREFIX "Flatbuffers/Generated/Binary Schemas"
      FILES ${all_generated_binary_files})
  endif()
endfunction()

# Creates a target that can be linked against that generates flatbuffer binaries
# from json files.
#
# This function takes a target name and a list of schemas and Json files. You
# can also specify other flagc flags and options to change the behavior of the
# flatc compiler.
#
# Adding this target to your executable ensurses that the flatbuffer binaries
# are compiled before your executable is run.
#
# Arguments:
#   TARGET: The name of the target to generate.
#   JSON_FILES: The list of json files to compile to flatbuffers binaries.
#   SCHEMA: The flatbuffers schema of the Json files to be compiled.
#   INCLUDE: Optional. Search for includes in the specified paths. (Use this 
#       instead of "-I <path>" and the FLAGS option so that CMake is aware of 
#       the directories that need to be searched).
#   OUTPUT_DIR: The directly where the generated flatbuffers binaries should be
#       placed.
#   FLAGS: Optional. A list of any additional flags that you would like to pass
#       to flatc.
#
# Example:
#
#     flatbuffers_generate_binary_files(
#         TARGET my_binary_data
#         SCHEMA "${MY_SCHEMA_DIR}/my_example_schema.fbs"
#         JSON_FILES ${MY_JSON_FILES}
#         OUTPUT_DIR "${MY_BINARY_DATA_DIRECTORY}"
#         FLAGS --strict-json)
#
#     target_link_libraries(MyExecutableTarget
#         PRIVATE my_binary_data
#     )
function(flatbuffers_generate_binary_files)
  # Parse function arguments.
  set(options)
  set(one_value_args
    "TARGET"
    "SCHEMA"
    "OUTPUT_DIR")
  set(multi_value_args
    "JSON_FILES"
    "INCLUDE"
    "FLAGS")
  cmake_parse_arguments(
    PARSE_ARGV 0
    FLATBUFFERS_GENERATE_BINARY_FILES
    "${options}"
    "${one_value_args}"
    "${multi_value_args}")

  # Test if including from FindFlatBuffers
  if(FLATBUFFERS_FLATC_EXECUTABLE)
    set(FLATC_TARGET "")
    set(FLATC ${FLATBUFFERS_FLATC_EXECUTABLE})
  elseif(TARGET flatbuffers::flatc)
    set(FLATC_TARGET flatbuffers::flatc)
    set(FLATC flatbuffers::flatc)
  else()
    set(FLATC_TARGET flatc)
    set(FLATC flatc)
  endif()

  set(working_dir "${CMAKE_CURRENT_SOURCE_DIR}")

  # Generate the include files parameters.
  set(include_params "")
  foreach (include_dir ${FLATBUFFERS_GENERATE_BINARY_FILES_INCLUDE})
    set(include_params -I ${include_dir} ${include_params})
  endforeach()

  # Create rules to generate the flatbuffers binary for each json file.
  foreach(json_file ${FLATBUFFERS_GENERATE_BINARY_FILES_JSON_FILES})
    get_filename_component(filename ${json_file} NAME_WE)
    set(generated_binary_file "${FLATBUFFERS_GENERATE_BINARY_FILES_OUTPUT_DIR}/${filename}.bin")
    add_custom_command(
      OUTPUT ${generated_binary_file}
      COMMAND ${FLATC} ${FLATC_ARGS}
      -o ${FLATBUFFERS_GENERATE_BINARY_FILES_OUTPUT_DIR}
      ${include_params}
      -b ${FLATBUFFERS_GENERATE_BINARY_FILES_SCHEMA} ${json_file}
      ${FLATBUFFERS_GENERATE_BINARY_FILES_FLAGS}
      DEPENDS ${FLATC_TARGET} ${json_file}
      WORKING_DIRECTORY "${working_dir}"
      COMMENT "Building ${json_file} binary flatbuffers...")
      list(APPEND all_generated_binary_files ${generated_binary_file})
  endforeach()

  # Set up interface library
  add_library(${FLATBUFFERS_GENERATE_BINARY_FILES_TARGET} INTERFACE)
  target_sources(
    ${FLATBUFFERS_GENERATE_BINARY_FILES_TARGET}
    INTERFACE
      ${all_generated_binary_files}
      ${FLATBUFFERS_GENERATE_BINARY_FILES_JSON_FILES}
      ${FLATBUFFERS_GENERATE_BINARY_FILES_SCHEMA})
  add_dependencies(
    ${FLATBUFFERS_GENERATE_BINARY_FILES_TARGET}
    ${FLATC})

  # Organize file layout for IDEs.
  source_group(
    TREE ${working_dir}
    PREFIX "Flatbuffers/JSON Files"
    FILES ${FLATBUFFERS_GENERATE_BINARY_FILES_JSON_FILES})
  source_group(
    TREE ${working_dir}
    PREFIX "Flatbuffers/Schemas"
    FILES ${FLATBUFFERS_GENERATE_BINARY_FILES_SCHEMA})
  source_group(
    TREE ${FLATBUFFERS_GENERATE_BINARY_FILES_OUTPUT_DIR}
    PREFIX "Flatbuffers/Generated/Binary Files"
    FILES ${all_generated_binary_files})
endfunction()


================================================
FILE: CMake/DESCRIPTION.txt
================================================
FlatBuffers is a cross platform serialization library architected for
maximum memory efficiency. It allows you to directly access serialized
data without parsing/unpacking it first, while still having great 
forwards/backwards compatibility.


================================================
FILE: CMake/FindFlatBuffers.cmake
================================================
# Copyright 2014 Stefan.Eilemann@epfl.ch
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Find the flatbuffers schema compiler
#
# Output Variables:
# * FLATBUFFERS_FLATC_EXECUTABLE the flatc compiler executable
# * FLATBUFFERS_FOUND
#
# Provides:
# * FLATBUFFERS_GENERATE_C_HEADERS(Name <files>) creates the C++ headers
#   for the given flatbuffer schema files.
#   Returns the header files in ${Name}_OUTPUTS

set(FLATBUFFERS_CMAKE_DIR ${CMAKE_CURRENT_LIST_DIR})

find_program(FLATBUFFERS_FLATC_EXECUTABLE NAMES flatc)
find_path(FLATBUFFERS_INCLUDE_DIR NAMES flatbuffers/flatbuffers.h)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FlatBuffers
  DEFAULT_MSG FLATBUFFERS_FLATC_EXECUTABLE FLATBUFFERS_INCLUDE_DIR)

if(FLATBUFFERS_FOUND)
  function(FLATBUFFERS_GENERATE_C_HEADERS Name)
    set(FLATC_OUTPUTS)
    foreach(FILE ${ARGN})
      get_filename_component(FLATC_OUTPUT ${FILE} NAME_WE)
      set(FLATC_OUTPUT
        "${CMAKE_CURRENT_BINARY_DIR}/${FLATC_OUTPUT}_generated.h")
      list(APPEND FLATC_OUTPUTS ${FLATC_OUTPUT})

      add_custom_command(OUTPUT ${FLATC_OUTPUT}
        COMMAND ${FLATBUFFERS_FLATC_EXECUTABLE}
        ARGS -c -o "${CMAKE_CURRENT_BINARY_DIR}/" ${FILE}
        DEPENDS ${FILE}
        COMMENT "Building C++ header for ${FILE}"
        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
    endforeach()
    set(${Name}_OUTPUTS ${FLATC_OUTPUTS} PARENT_SCOPE)
  endfunction()

  set(FLATBUFFERS_INCLUDE_DIRS ${FLATBUFFERS_INCLUDE_DIR})
  include_directories(${CMAKE_BINARY_DIR})
else()
  set(FLATBUFFERS_INCLUDE_DIR)
endif()

include("${FLATBUFFERS_CMAKE_DIR}/BuildFlatBuffers.cmake")


================================================
FILE: CMake/PackageDebian.cmake
================================================
# ------------------- Debianization ---------------------
if (UNIX)

    # Set build environment
    SET(CPACK_GENERATOR "TGZ;DEB")
    SET(CPACK_SOURCE_TGZ "ON")

    # Common package information
    SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
        "FlatBuffers is an efficient cross platform serialization library for C++, with support for Java, C# and Go. It was created at Google specifically for game development and other performance-critical applications.")
    SET(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/google/flatbuffers")
    SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Vitaly Isaev <vitalyisaev2@gmail.com>")

    SET(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
    SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
    SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
    SET(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}-${VERSION_COMMIT}")
    SET(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}")

    # Package name
    SET(CPACK_DEBIAN_PACKAGE_NAME "flatbuffers")
    SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE)
    set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")

endif(UNIX)


================================================
FILE: CMake/PackageRedhat.cmake
================================================
if (UNIX)
    set(CPACK_GENERATOR "RPM")
    set(CPACK_SOURCE_TGZ "ON")

    set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "FlatBuffers serialization library and schema compiler.")
    
    set(CPACK_RPM_PACKAGE_HOMEPAGE "https://github.com/google/flatbuffers")
    set(CPACK_RPM_PACKAGE_MAINTAINER "Marc Butler <mockbutler@gmail.com>")

    set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
    set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
    set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
    set(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}-${VERSION_COMMIT}")
    set(CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}")

    set(CPACK_RPM_PACKAGE_NAME "flatbuffers")

    # Assume this is not a cross compilation build.
    if(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
        set(CPACK_RPM_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}")
    endif(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)

    set(CPACK_RPM_PACKAGE_VENDOR "Google, Inc.")
    set(CPACK_RPM_PACKAGE_LICENSE "Apache 2.0")
    set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE)
    set(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_SOURCE_DIR}/CMake/DESCRIPTION.txt)

    # This may reduce rpm compatiblity with very old systems.
    set(CPACK_RPM_COMPRESSION_TYPE lzma)
    
    set(CPACK_RPM_PACKAGE_NAME "flatbuffers")
    set(CPACK_PACKAGE_FILE_NAME
        "${CPACK_RPM_PACKAGE_NAME}_${CPACK_RPM_PACKAGE_VERSION}_${CPACK_RPM_PACKAGE_ARCHITECTURE}")
    if(NOT DEFINED ${CPACK_PACKAGING_INSTALL_PREFIX})
       # Default packaging install prefix on RedHat systems is /usr.
       # This is the assumed value when this variable is not defined.
       # There is currently a conflict with
       # /usr/${CMAKE_INSTALL_LIBDIR}/cmake which is installed by default
       # by other packages on RedHat (most notably cmake-filesystem). Ensure
       # that on these systems, flatbuffers does not package this path.
       # This patch is required for cmake pre-3.17.
       list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/${CMAKE_INSTALL_LIBDIR}/cmake")
   endif()
endif(UNIX)


================================================
FILE: CMake/Version.cmake
================================================
set(VERSION_MAJOR 25)
set(VERSION_MINOR 12)
set(VERSION_PATCH 19)
set(VERSION_COMMIT 0)

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
  find_program(GIT git)
  if(GIT)
    execute_process(
      COMMAND ${GIT} describe --tags
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      OUTPUT_VARIABLE GIT_DESCRIBE_DIRTY
      OUTPUT_STRIP_TRAILING_WHITESPACE
      RESULT_VARIABLE GIT_DESCRIBE_RESULT
    )

    if(GIT_DESCRIBE_RESULT EQUAL 0)
      # Test if the most recent Git tag matches the pattern "v<major>.<minor>.<patch>*"
      if(GIT_DESCRIBE_DIRTY MATCHES "^v[0-9]+\\.[0-9]+\\.[0-9]+.*")
        string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GIT_DESCRIBE_DIRTY}")
        string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${GIT_DESCRIBE_DIRTY}")
        string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${GIT_DESCRIBE_DIRTY}")
        string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+\\-([0-9]+).*" "\\1" VERSION_COMMIT "${GIT_DESCRIBE_DIRTY}")
        # If the tag points to the commit, then only the tag is shown in "git describe"
        if(VERSION_COMMIT STREQUAL GIT_DESCRIBE_DIRTY)
          set(VERSION_COMMIT 0)
        endif()
      else()
        message(WARNING "\"${GIT_DESCRIBE_DIRTY}\" does not match pattern v<major>.<minor>.<patch>-<commit>")
      endif()
    else()
      message(WARNING "git describe failed with exit code: ${GIT_DESCRIBE_RESULT}\nMake sure you cloned with tags or run 'git fetch --tags'.")
    endif()
  else()
    message(WARNING "git is not found")
  endif()
endif()

message(STATUS "Proceeding with version: ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_COMMIT}")


================================================
FILE: CMake/flatbuffers-config-version.cmake.in
================================================
set(PACKAGE_VERSION "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@")

# Check whether the requested PACKAGE_FIND_VERSION is compatible
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
  set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
  set(PACKAGE_VERSION_COMPATIBLE TRUE)
  if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
    set(PACKAGE_VERSION_EXACT TRUE)
  endif()
endif()


================================================
FILE: CMake/flatbuffers-config.cmake
================================================
include("${CMAKE_CURRENT_LIST_DIR}/FlatBuffersTargets.cmake" OPTIONAL)
include("${CMAKE_CURRENT_LIST_DIR}/FlatcTargets.cmake" OPTIONAL)
include("${CMAKE_CURRENT_LIST_DIR}/FlatBuffersSharedTargets.cmake" OPTIONAL)
include("${CMAKE_CURRENT_LIST_DIR}/BuildFlatBuffers.cmake" OPTIONAL)

================================================
FILE: CMake/flatbuffers.pc.in
================================================
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@

Name: FlatBuffers
Description: Memory Efficient Serialization Library
Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@

Libs: -L${libdir} -lflatbuffers
Cflags: -I${includedir}


================================================
FILE: CMakeLists.txt
================================================
# This is the legacy minimum version flatbuffers supported for a while.
cmake_minimum_required(VERSION 3.8...3.25.2)

# Attempt to read the current version of flatbuffers by looking at the latest tag.
include(CMake/Version.cmake)

project(FlatBuffers
        VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}
        LANGUAGES CXX)

# generate compile_commands.json
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

# NOTE: Code coverage only works on Linux & OSX.
option(FLATBUFFERS_CODE_COVERAGE "Enable the code coverage build option." OFF)
option(FLATBUFFERS_BUILD_TESTS "Enable the build of tests and samples." ON)
option(FLATBUFFERS_INSTALL "Enable the installation of targets." ON)
option(FLATBUFFERS_BUILD_FLATLIB "Enable the build of the flatbuffers library"
       ON)
option(FLATBUFFERS_BUILD_FLATC "Enable the build of the flatbuffers compiler"
       ON)
option(FLATBUFFERS_STATIC_FLATC "Build flatbuffers compiler with -static flag"
       OFF)
option(FLATBUFFERS_BUILD_FLATHASH "Enable the build of flathash" OFF)
option(FLATBUFFERS_BUILD_BENCHMARKS "Enable the build of flatbenchmark."
       OFF)
option(FLATBUFFERS_BUILD_GRPCTEST "Enable the build of grpctest" OFF)
option(FLATBUFFERS_BUILD_SHAREDLIB
       "Enable the build of the flatbuffers shared library"
       OFF)
option(FLATBUFFERS_LIBCXX_WITH_CLANG "Force libc++ when using Clang" ON)
# NOTE: Sanitizer check only works on Linux & OSX (gcc & llvm).
option(FLATBUFFERS_CODE_SANITIZE
      "Add '-fsanitize' flags to 'flattests' and 'flatc' targets."
      OFF)
option(FLATBUFFERS_PACKAGE_REDHAT
       "Build an rpm using the 'package' target."
       OFF)
option(FLATBUFFERS_PACKAGE_DEBIAN
       "Build an deb using the 'package' target."
       OFF)
option(FLATBUFFERS_BUILD_CPP17
       "Enable the build of c++17 test target. \"
       Requirements: Clang6, GCC7, MSVC2017 (_MSC_VER >= 1914)  or higher."
       OFF)
option(FLATBUFFERS_BUILD_LEGACY
       "Run C++ code generator with '--cpp-std c++0x' switch."
       OFF)
option(FLATBUFFERS_ENABLE_PCH
       "Enable precompile headers support for 'flatbuffers' and 'flatc'. \"
        Only work if CMake supports 'target_precompile_headers'. \"
        This can speed up compilation time."
       OFF)
option(FLATBUFFERS_SKIP_MONSTER_EXTRA
      "Skip generating monster_extra.fbs that contains non-supported numerical\"
      types." OFF)
option(FLATBUFFERS_STRICT_MODE
      "Build flatbuffers with all warnings as errors (-Werror or /WX)."
      OFF)

if(NOT DEFINED FLATBUFFERS_CPP_STD)
  set(FLATBUFFERS_CPP_STD 11)
endif()

set(MSVC_LIKE OFF)
if(MSVC OR CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
    set(MSVC_LIKE ON)
endif()

if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  set(IS_CLANG ON)
else()
  set(IS_CLANG OFF)
endif()

if(DEFINED FLATBUFFERS_COMPILATION_TIMINGS)
  message("Recording Compilation Timings to ${FLATBUFFERS_COMPILATION_TIMINGS}")
  file(REMOVE ${FLATBUFFERS_COMPILATION_TIMINGS})
  set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "time -f 'Wall: %E User: %U Sys: %S | %C' -q -a -o ${FLATBUFFERS_COMPILATION_TIMINGS}")
  set_property(GLOBAL PROPERTY RULE_LAUNCH_CUSTOM "time -f 'Wall: %E User: %U Sys: %S | %C' -q -a -o ${FLATBUFFERS_COMPILATION_TIMINGS}")
  set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "time -f 'Wall: %E User: %U Sys: %S | %C' -q -a -o ${FLATBUFFERS_COMPILATION_TIMINGS}")
endif()

if(NOT FLATBUFFERS_BUILD_FLATC AND FLATBUFFERS_BUILD_TESTS)
    message(WARNING
    "Cannot build tests without building the compiler. Tests will be disabled.")
    set(FLATBUFFERS_BUILD_TESTS OFF)
endif()

if(DEFINED FLATBUFFERS_MAX_PARSING_DEPTH)
  # Override the default recursion depth limit.
  add_definitions(-DFLATBUFFERS_MAX_PARSING_DEPTH=${FLATBUFFERS_MAX_PARSING_DEPTH})
  message(STATUS "FLATBUFFERS_MAX_PARSING_DEPTH: ${FLATBUFFERS_MAX_PARSING_DEPTH}")
endif()

# Auto-detect locale-narrow 'strtod_l' and  'strtoull_l' functions.
if(NOT DEFINED FLATBUFFERS_LOCALE_INDEPENDENT)
  include(CheckCXXSymbolExists)

  set(FLATBUFFERS_LOCALE_INDEPENDENT 0)
  if(MSVC_LIKE)
    check_cxx_symbol_exists(_strtof_l stdlib.h FLATBUFFERS_HAS_STRTOF_L)
    check_cxx_symbol_exists(_strtoui64_l stdlib.h FLATBUFFERS_HAS_STRTOULL_L)
  else()
    check_cxx_symbol_exists(strtof_l stdlib.h FLATBUFFERS_HAS_STRTOF_L)
    check_cxx_symbol_exists(strtoull_l stdlib.h FLATBUFFERS_HAS_STRTOULL_L)
  endif()
  if(FLATBUFFERS_HAS_STRTOF_L AND FLATBUFFERS_HAS_STRTOULL_L)
    set(FLATBUFFERS_LOCALE_INDEPENDENT 1)
  endif()
endif()
add_definitions(-DFLATBUFFERS_LOCALE_INDEPENDENT=$<BOOL:${FLATBUFFERS_LOCALE_INDEPENDENT}>)

if(NOT WIN32)
  include(CheckSymbolExists)
  check_symbol_exists(realpath "stdlib.h" HAVE_REALPATH)
  if(NOT HAVE_REALPATH)
    add_definitions(-DFLATBUFFERS_NO_ABSOLUTE_PATH_RESOLUTION)
  endif()
endif()

set(FlatBuffers_Library_SRCS
  include/flatbuffers/allocator.h
  include/flatbuffers/array.h
  include/flatbuffers/base.h
  include/flatbuffers/buffer.h
  include/flatbuffers/buffer_ref.h
  include/flatbuffers/default_allocator.h
  include/flatbuffers/detached_buffer.h
  include/flatbuffers/code_generator.h
  include/flatbuffers/file_manager.h
  include/flatbuffers/flatbuffer_builder.h
  include/flatbuffers/flatbuffers.h
  include/flatbuffers/flexbuffers.h
  include/flatbuffers/flex_flat_util.h
  include/flatbuffers/hash.h
  include/flatbuffers/idl.h
  include/flatbuffers/minireflect.h
  include/flatbuffers/reflection.h
  include/flatbuffers/reflection_generated.h
  include/flatbuffers/registry.h
  include/flatbuffers/stl_emulation.h
  include/flatbuffers/string.h
  include/flatbuffers/struct.h
  include/flatbuffers/table.h
  include/flatbuffers/util.h
  include/flatbuffers/vector.h
  include/flatbuffers/vector_downward.h
  include/flatbuffers/verifier.h
  src/file_manager.cpp
  src/file_name_manager.cpp
  src/idl_parser.cpp
  src/idl_gen_text.cpp
  src/reflection.cpp
  src/util.cpp
)

set(FlatBuffers_Compiler_SRCS
  ${FlatBuffers_Library_SRCS}
  src/idl_gen_binary.cpp
  src/idl_gen_text.cpp
  src/idl_gen_cpp.cpp
  src/idl_gen_csharp.cpp
  src/idl_gen_dart.cpp
  src/idl_gen_kotlin.cpp
  src/idl_gen_kotlin_kmp.cpp
  src/idl_gen_go.cpp
  src/idl_gen_java.cpp
  src/idl_gen_ts.cpp
  src/idl_gen_php.cpp
  src/idl_gen_python.cpp
  src/idl_gen_lobster.cpp
  src/idl_gen_rust.cpp
  src/idl_gen_fbs.cpp
  src/idl_gen_grpc.cpp
  src/idl_gen_json_schema.cpp
  src/idl_gen_swift.cpp
  src/idl_namer.h
  src/namer.h
  src/flatc.cpp
  src/flatc_main.cpp
  src/bfbs_gen.h
  src/bfbs_gen_lua.h
  src/bfbs_gen_nim.h
  src/bfbs_namer.h
  include/codegen/idl_namer.h
  include/codegen/namer.h
  include/codegen/python.h
  include/codegen/python.cc
  include/flatbuffers/code_generators.h
  src/binary_annotator.h
  src/binary_annotator.cpp
  src/annotated_binary_text_gen.h
  src/annotated_binary_text_gen.cpp
  src/bfbs_gen_lua.cpp
  src/bfbs_gen_nim.cpp
  src/code_generators.cpp
  grpc/src/compiler/schema_interface.h
  grpc/src/compiler/cpp_generator.h
  grpc/src/compiler/cpp_generator.cc
  grpc/src/compiler/go_generator.h
  grpc/src/compiler/go_generator.cc
  grpc/src/compiler/java_generator.h
  grpc/src/compiler/java_generator.cc
  grpc/src/compiler/python_generator.h
  grpc/src/compiler/python_generator.cc
  grpc/src/compiler/swift_generator.h
  grpc/src/compiler/swift_generator.cc
  grpc/src/compiler/ts_generator.h
  grpc/src/compiler/ts_generator.cc
)

set(FlatHash_SRCS
  include/flatbuffers/hash.h
  src/flathash.cpp
)

set(FlatBuffers_Tests_SRCS
  ${FlatBuffers_Library_SRCS}
  src/idl_gen_fbs.cpp
  tests/default_vectors_strings_test.cpp
  tests/default_vectors_strings_test.h
  tests/evolution_test.cpp
  tests/flexbuffers_test.cpp
  tests/fuzz_test.cpp
  tests/json_test.cpp
  tests/key_field_test.cpp
  tests/monster_test.cpp
  tests/optional_scalars_test.cpp
  tests/parser_test.cpp
  tests/proto_test.cpp
  tests/reflection_test.cpp
  tests/test.cpp
  tests/test_assert.h
  tests/test_assert.cpp
  tests/test_builder.h
  tests/test_builder.cpp
  tests/util_test.cpp
  tests/vector_table_naked_ptr_test.h
  tests/vector_table_naked_ptr_test.cpp
  tests/native_type_test_impl.h
  tests/native_type_test_impl.cpp
  tests/alignment_test.h
  tests/alignment_test.cpp
  tests/64bit/offset64_test.h
  tests/64bit/offset64_test.cpp
  include/flatbuffers/code_generators.h
  src/code_generators.cpp
)

set(FlatBuffers_Tests_CPP17_SRCS
  ${FlatBuffers_Library_SRCS}
  tests/test_assert.h
  tests/test_assert.cpp
  tests/cpp17/test_cpp17.cpp
)

set(FlatBuffers_Sample_Binary_SRCS
  samples/sample_binary.cpp
)

set(FlatBuffers_Sample_Text_SRCS
  ${FlatBuffers_Library_SRCS}
  samples/sample_text.cpp
)

set(FlatBuffers_Sample_BFBS_SRCS
  ${FlatBuffers_Library_SRCS}
  samples/sample_bfbs.cpp
)

set(FlatBuffers_GRPCTest_SRCS
  include/flatbuffers/flatbuffers.h
  include/flatbuffers/grpc.h
  include/flatbuffers/util.h
  src/util.cpp
  tests/monster_test.grpc.fb.h
  tests/test_assert.h
  tests/test_builder.h
  tests/monster_test.grpc.fb.cc
  tests/test_assert.cpp
  tests/test_builder.cpp
  grpc/tests/grpctest.cpp
  grpc/tests/message_builder_test.cpp
  grpc/tests/grpctest_callback_compile.cpp
  grpc/tests/grpctest_callback_client_compile.cpp
)

# TODO(dbaileychess): Figure out how this would now work. I posted a question on
# https://stackoverflow.com/questions/71772330/override-target-compile-options-via-cmake-command-line.
# Append FLATBUFFERS_CXX_FLAGS to CMAKE_CXX_FLAGS.
if(DEFINED FLATBUFFERS_CXX_FLAGS)
  message(STATUS "extend CXX_FLAGS with ${FLATBUFFERS_CXX_FLAGS}")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLATBUFFERS_CXX_FLAGS}")
endif()
message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")

function(add_fsanitize_to_target _target _sanitizer)
  if(WIN32)
    target_compile_definitions(${_target} PRIVATE FLATBUFFERS_MEMORY_LEAK_TRACKING)
    message(STATUS "Sanitizer MSVC::_CrtDumpMemoryLeaks added to ${_target}")
  else()
    # FLATBUFFERS_CODE_SANITIZE: boolean {ON,OFF,YES,NO} or string with list of sanitizer.
    # List of sanitizer is string starts with '=': "=address,undefined,thread,memory".
    if(IS_CLANG OR (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.9))
      set(_sanitizer_flags "=address,undefined")
      if(_sanitizer MATCHES "=.*")
        # override default by user-defined sanitizer list
        set(_sanitizer_flags ${_sanitizer})
      endif()
      target_compile_options(${_target} PRIVATE
        -g -fsigned-char -fno-omit-frame-pointer
        "-fsanitize${_sanitizer_flags}")
      target_link_libraries(${_target} PRIVATE
        "-fsanitize${_sanitizer_flags}")
      set_target_properties(${_target} PROPERTIES POSITION_INDEPENDENT_CODE ON)
      message(STATUS "Sanitizer ${_sanitizer_flags} added to ${_target}")
    endif()
  endif()
endfunction()

function(add_pch_to_target _target _pch_header)
  # the command is available since cmake 3.16
  if(COMMAND target_precompile_headers)
    target_precompile_headers(${_target} PRIVATE ${_pch_header})
    if(NOT MSVC)
      set_source_files_properties(src/util.cpp PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
    endif()
  endif()
endfunction()

include_directories(include)
include_directories(grpc)

# Creates an interface library that stores the configuration settings that each
# target links too. This is a compromise between setting configuration globally
# with add_compile_options() and the more targetted target_compile_options().
# This way each target in this file can share settings and override them if
# needed.
add_library(ProjectConfig INTERFACE)
target_compile_features(ProjectConfig
  INTERFACE
    cxx_std_${FLATBUFFERS_CPP_STD}
)

# Force the standard to be met.
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# We shouldn't rely on any compiler-extensions to make things work.
set(CMAKE_CXX_EXTENSIONS OFF)

if(MSVC_LIKE)
  target_compile_options(ProjectConfig
    INTERFACE
      /W4
      $<$<BOOL:${FLATBUFFERS_STRICT_MODE}>:
        /WX       # Treat all compiler warnings as errors
      >
      /wd4512   # C4512: assignment operator could not be generated
      /wd4316   # C4316: object allocated on the heap may not be aligned
      /wd4456   # C4456: hides previous local declaration
      $<$<CXX_COMPILER_ID:Clang>:
        /D_CRT_SECURE_NO_WARNINGS
      >
  )
else()
  target_compile_options(ProjectConfig
    INTERFACE
      -Wall
      $<$<BOOL:${FLATBUFFERS_STRICT_MODE}>:
        -Werror   # Treat all compiler warnings as errors

        -fno-rtti # Disable runtime type information

        $<$<CXX_COMPILER_ID:GNU>:
          # False positive string overflow
          # https://github.com/google/flatbuffers/issues/7366
          -Wno-error=stringop-overflow
        >
      >
      -pedantic
      -Wextra
      -Wno-unused-parameter
      -Wold-style-cast
      -fsigned-char
      -Wnon-virtual-dtor

      # This isn't working for some reason: $<$<CXX_COMPILER_ID:CLANG>:
      $<$<BOOL:${IS_CLANG}>:
        -Wnewline-eof
        -Wno-unknown-warning-option
        -Wmissing-declarations
        -Wzero-as-null-pointer-constant
        $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,3.8>:
          -Wimplicit-fallthrough
          -Wextra-semi
          $<$<BOOL:${FLATBUFFERS_STRICT_MODE}>:
            -Werror=unused-private-field
          >
        >
      >

      $<$<CXX_COMPILER_ID:GNU>:
        $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,4.4>:
          -Wunused-result
          -Wunused-parameter
          -Werror=unused-parameter
          -Wmissing-declarations
        >
        $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,4.7>:
          -Wzero-as-null-pointer-constant
        >
        $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,7.0>:
          -faligned-new
          $<$<BOOL:${FLATBUFFERS_STRICT_MODE}>:
            -Werror=implicit-fallthrough=2
          >
        >
        $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,8.0>:
          -Wextra-semi
        >
      >

      $<$<BOOL:${FLATBUFFERS_CODE_COVERAGE}>:
        -g
        -fprofile-arcs
        -ftest-coverage
      >
    )

  if(FLATBUFFERS_CODE_COVERAGE)
    target_link_options(ProjectConfig
      INTERFACE
        -fprofile-arcs
        -ftest-coverage
    )
  endif()
endif()

if(FLATBUFFERS_BUILD_FLATLIB)
  add_library(flatbuffers STATIC ${FlatBuffers_Library_SRCS})

  # Attach header directory for when build via add_subdirectory().
  target_include_directories(flatbuffers
    INTERFACE
      $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  )
  target_link_libraries(flatbuffers PRIVATE $<BUILD_INTERFACE:ProjectConfig>)

  if(FLATBUFFERS_ENABLE_PCH)
    add_pch_to_target(flatbuffers include/flatbuffers/pch/pch.h)
  endif()
endif()

if(FLATBUFFERS_BUILD_FLATC)
  add_executable(flatc ${FlatBuffers_Compiler_SRCS})
  if(FLATBUFFERS_ENABLE_PCH)
    add_pch_to_target(flatc include/flatbuffers/pch/flatc_pch.h)
  endif()

  target_link_libraries(flatc PRIVATE $<BUILD_INTERFACE:ProjectConfig>)
  target_compile_options(flatc
    PRIVATE
      $<$<AND:$<BOOL:${MSVC_LIKE}>,$<CONFIG:Release>>:
        /MT
      >
  )

  if(FLATBUFFERS_CODE_SANITIZE AND NOT WIN32)
    add_fsanitize_to_target(flatc ${FLATBUFFERS_CODE_SANITIZE})
  endif()
  if(NOT FLATBUFFERS_FLATC_EXECUTABLE)
    set(FLATBUFFERS_FLATC_EXECUTABLE $<TARGET_FILE:flatc>)
  endif()
  if(FLATBUFFERS_STATIC_FLATC AND NOT MSVC)
    target_link_libraries(flatc PRIVATE -static)
  endif()
endif()

if(FLATBUFFERS_BUILD_FLATHASH)
  add_executable(flathash ${FlatHash_SRCS})
  target_link_libraries(flathash PRIVATE $<BUILD_INTERFACE:ProjectConfig>)
endif()

if(FLATBUFFERS_BUILD_SHAREDLIB)
  add_library(flatbuffers_shared SHARED ${FlatBuffers_Library_SRCS})
  target_link_libraries(flatbuffers_shared PRIVATE $<BUILD_INTERFACE:ProjectConfig>)
  # FlatBuffers use calendar-based versioning and do not provide any ABI
  # stability guarantees. Therefore, always use the full version as SOVERSION
  # in order to avoid breaking reverse dependencies on upgrades.
  set(FlatBuffers_Library_SONAME_FULL "${PROJECT_VERSION}")
  set_target_properties(flatbuffers_shared PROPERTIES
                        OUTPUT_NAME flatbuffers
                        SOVERSION "${FlatBuffers_Library_SONAME_FULL}"
                        VERSION "${FlatBuffers_Library_SONAME_FULL}")
  if(FLATBUFFERS_ENABLE_PCH)
    add_pch_to_target(flatbuffers_shared include/flatbuffers/pch/pch.h)
  endif()
endif()

function(compile_schema SRC_FBS OPT SUFFIX OUT_GEN_FILE) 
  get_filename_component(SRC_FBS_DIR ${SRC_FBS} PATH)
  string(REGEX REPLACE "\\.fbs$" "${SUFFIX}.h" GEN_HEADER ${SRC_FBS})
  add_custom_command(
    OUTPUT ${GEN_HEADER}
    COMMAND "${FLATBUFFERS_FLATC_EXECUTABLE}"
      ${OPT}
      --filename-suffix ${SUFFIX}
      -o "${SRC_FBS_DIR}"
      "${CMAKE_CURRENT_SOURCE_DIR}/${SRC_FBS}"
    DEPENDS flatc ${SRC_FBS}
    COMMENT "flatc generation: `${SRC_FBS}` -> `${GEN_HEADER}`"
  )
  set(${OUT_GEN_FILE} ${GEN_HEADER} PARENT_SCOPE)
endfunction()

function(compile_schema_for_test SRC_FBS OPT)
  compile_schema("${SRC_FBS}" "${OPT}" "_generated" GEN_FILE)
  target_sources(flattests PRIVATE ${GEN_FILE})
endfunction()

function(compile_schema_for_test_fbsh SRC_FBS OPT)
  compile_schema("${SRC_FBS}" "${OPT}" ".fbs" GEN_FILE)
  target_sources(flattests PRIVATE ${GEN_FILE})
endfunction()

function(compile_schema_for_samples SRC_FBS OPT)
  compile_schema("${SRC_FBS}" "${OPT}" "_generated" GEN_FILE)
  target_sources(flatsample PRIVATE ${GEN_FILE})
endfunction()

if(FLATBUFFERS_BUILD_TESTS)
  add_executable(flattests ${FlatBuffers_Tests_SRCS})
  target_link_libraries(flattests PRIVATE $<BUILD_INTERFACE:ProjectConfig>)
  target_include_directories(flattests PUBLIC 
    # Ideally everything is fully qualified from the root directories
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_CURRENT_BINARY_DIR}
    # TODO(derekbailey): update includes to fully qualify src/ and tests/
    src 
    tests 
    ${CMAKE_CURRENT_BINARY_DIR}/tests 
  )

  # Have tests load data from the source directory, not the build directory.
  add_definitions(-DFLATBUFFERS_TEST_PATH_PREFIX=${CMAKE_CURRENT_SOURCE_DIR}/)

  # The flattest target needs some generated files
  SET(FLATC_OPT_COMP --cpp --gen-compare --gen-mutable --gen-object-api --reflect-names)
  SET(FLATC_OPT_SCOPED_ENUMS ${FLATC_OPT_COMP};--scoped-enums)

  compile_schema_for_test(tests/alignment_test.fbs "${FLATC_OPT_COMP}")
  compile_schema_for_test_fbsh(tests/default_vectors_strings_test.fbs "${FLATC_OPT_COMP}")
  compile_schema_for_test(tests/arrays_test.fbs "${FLATC_OPT_SCOPED_ENUMS}")
  compile_schema_for_test(tests/native_inline_table_test.fbs "${FLATC_OPT_COMP}")
  compile_schema_for_test(tests/native_type_test.fbs "${FLATC_OPT_COMP}")
  compile_schema_for_test(tests/key_field/key_field_sample.fbs "${FLATC_OPT_COMP}")
  compile_schema_for_test(tests/64bit/test_64bit.fbs "${FLATC_OPT_COMP};--bfbs-gen-embed")
  compile_schema_for_test(tests/64bit/evolution/v1.fbs "${FLATC_OPT_COMP}")
  compile_schema_for_test(tests/64bit/evolution/v2.fbs "${FLATC_OPT_COMP}")
  compile_schema_for_test(tests/union_underlying_type_test.fbs "${FLATC_OPT_SCOPED_ENUMS}")
  compile_schema_for_test(tests/cross_namespace_pack_test.fbs "${FLATC_OPT_COMP}")

  if(FLATBUFFERS_CODE_SANITIZE)
    add_fsanitize_to_target(flattests ${FLATBUFFERS_CODE_SANITIZE})
  endif()
  
  include_directories(${CMAKE_CURRENT_BINARY_DIR}/samples)

  add_executable(flatsamplebinary ${FlatBuffers_Sample_Binary_SRCS})
  add_executable(flatsampletext ${FlatBuffers_Sample_Text_SRCS})
  add_executable(flatsamplebfbs ${FlatBuffers_Sample_BFBS_SRCS})

  # Add a library so there is a single target that the generated samples can 
  # link too.
  if(MSVC OR ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.20.0")
    add_library(flatsample INTERFACE)
  else()
    add_library(flatsample STATIC)
  endif()

  # Since flatsample has no sources, we have to explicitly set the linker lang.
  set_target_properties(flatsample PROPERTIES LINKER_LANGUAGE CXX)

  target_link_libraries(flatsamplebinary PRIVATE $<BUILD_INTERFACE:ProjectConfig> flatsample)
  target_link_libraries(flatsampletext PRIVATE $<BUILD_INTERFACE:ProjectConfig> flatsample)
  target_link_libraries(flatsamplebfbs PRIVATE $<BUILD_INTERFACE:ProjectConfig> flatsample)

  if(FLATBUFFERS_BUILD_CPP17)
    add_executable(flattests_cpp17 ${FlatBuffers_Tests_CPP17_SRCS})
    target_link_libraries(flattests_cpp17 PRIVATE $<BUILD_INTERFACE:ProjectConfig>)
    target_include_directories(flattests_cpp17 PUBLIC src tests)
    target_compile_features(flattests_cpp17 PRIVATE cxx_std_17) # requires cmake 3.8

    if(FLATBUFFERS_CODE_SANITIZE)
      add_fsanitize_to_target(flattests_cpp17 ${FLATBUFFERS_CODE_SANITIZE})
    endif()
  endif(FLATBUFFERS_BUILD_CPP17)
endif()

if(FLATBUFFERS_BUILD_GRPCTEST)
  if(NOT GRPC_INSTALL_PATH)
    message(SEND_ERROR "GRPC_INSTALL_PATH variable is not defined. See grpc/README.md")
  endif()
  if(NOT PROTOBUF_DOWNLOAD_PATH)
    message(SEND_ERROR "PROTOBUF_DOWNLOAD_PATH variable is not defined. See grpc/README.md")
  endif()
  INCLUDE_DIRECTORIES(${GRPC_INSTALL_PATH}/include)
  INCLUDE_DIRECTORIES(${PROTOBUF_DOWNLOAD_PATH}/src)
  find_package(Threads REQUIRED)
  list(APPEND CMAKE_PREFIX_PATH ${GRPC_INSTALL_PATH})
  find_package(absl CONFIG REQUIRED)
  find_package(protobuf CONFIG REQUIRED)
  find_package(gRPC CONFIG REQUIRED)
  add_executable(grpctest ${FlatBuffers_GRPCTest_SRCS})
  target_link_libraries(grpctest
    PRIVATE
      $<BUILD_INTERFACE:ProjectConfig>
      gRPC::grpc++_unsecure
      gRPC::gpr
      pthread
      dl
  )
endif()

if(FLATBUFFERS_INSTALL)
  include(GNUInstallDirs)

  install(DIRECTORY include/flatbuffers DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

  set(FB_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/flatbuffers")

  configure_file(CMake/flatbuffers-config-version.cmake.in flatbuffers-config-version.cmake @ONLY)
  install(
      FILES
        "CMake/flatbuffers-config.cmake"
        "CMake/BuildFlatBuffers.cmake"
        "${CMAKE_CURRENT_BINARY_DIR}/flatbuffers-config-version.cmake"
      DESTINATION ${FB_CMAKE_DIR}
  )

  if(FLATBUFFERS_BUILD_FLATLIB)
    install(
      TARGETS flatbuffers EXPORT FlatBuffersTargets
      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
      INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
    )

    install(EXPORT FlatBuffersTargets
      FILE FlatBuffersTargets.cmake
      NAMESPACE flatbuffers::
      DESTINATION ${FB_CMAKE_DIR}
    )
  endif()

  if(FLATBUFFERS_BUILD_FLATC)
    install(
      TARGETS flatc EXPORT FlatcTargets
      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
    )

    install(
      EXPORT FlatcTargets
      FILE FlatcTargets.cmake
      NAMESPACE flatbuffers::
      DESTINATION ${FB_CMAKE_DIR}
    )
  endif()

  if(FLATBUFFERS_BUILD_SHAREDLIB)
    install(
      TARGETS flatbuffers_shared EXPORT FlatBuffersSharedTargets
      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
      RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
      INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
    )

    install(
      EXPORT FlatBuffersSharedTargets
      FILE FlatBuffersSharedTargets.cmake
      NAMESPACE flatbuffers::
      DESTINATION ${FB_CMAKE_DIR}
    )
  endif()

  if(FLATBUFFERS_BUILD_SHAREDLIB OR FLATBUFFERS_BUILD_FLATLIB)
      configure_file(CMake/flatbuffers.pc.in flatbuffers.pc @ONLY)
      install(
        FILES "${CMAKE_CURRENT_BINARY_DIR}/flatbuffers.pc"
        DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
      )
  endif()
endif()

if(FLATBUFFERS_BUILD_TESTS)
  enable_testing()

  add_test(NAME flattests COMMAND flattests)
  if(FLATBUFFERS_BUILD_CPP17)
    add_test(NAME flattests_cpp17 COMMAND flattests_cpp17)
  endif()
  if(FLATBUFFERS_BUILD_GRPCTEST)
    add_test(NAME grpctest COMMAND grpctest)
  endif()
endif()

include(CMake/BuildFlatBuffers.cmake)

if(UNIX)
    # Use of CPack only supported on Linux systems.
    if(FLATBUFFERS_PACKAGE_DEBIAN)
        include(CMake/PackageDebian.cmake)
        include(CPack)
    endif()
    if (FLATBUFFERS_PACKAGE_REDHAT)
        include(CMake/PackageRedhat.cmake)
        include(CPack)
    endif()
endif()

# Include for running Google Benchmarks.
if(FLATBUFFERS_BUILD_BENCHMARKS)
  add_subdirectory(benchmarks)
endif()

# Add FlatBuffers::FlatBuffers interface, needed for FetchContent_Declare
add_library(FlatBuffers INTERFACE)
add_library(FlatBuffers::FlatBuffers ALIAS FlatBuffers)
target_include_directories(
  FlatBuffers
  INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
            $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/include>)


================================================
FILE: CONTRIBUTING.md
================================================
Contributing    {#contributing}
============

Want to contribute? Great! First, read this page (including the small print at
the end).

# Before you contribute
Before we can use your code, you must sign the
[Google Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual?csw=1)
(CLA), which you can do online. The CLA is necessary mainly because you own the
copyright to your changes, even after your contribution becomes part of our
codebase, so we need your permission to use and distribute your code. We also
need to be sure of various other things—for instance that you'll tell us if you
know that your code infringes on other people's patents. You don't have to sign
the CLA until after you've submitted your code for review and a member has
approved it, but you must do it before we can put your code into our codebase.
Before you start working on a larger contribution, you should get in touch with
us first through the issue tracker with your idea so that we can help out and
possibly guide you. Coordinating up front makes it much easier to avoid
frustration later on.

# Code reviews
All submissions, including submissions by project members, require review. We
use Github pull requests for this purpose.

Some tips for good pull requests:
* Use our code
  [style guide](https://google.github.io/styleguide/cppguide.html).
  When in doubt, try to stay true to the existing code of the project.
* Write a descriptive commit message. What problem are you solving and what
  are the consequences? Where and what did you test? Some good tips:
  [here](http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message)
  and [here](https://www.kernel.org/doc/Documentation/process/submitting-patches.rst).
* If your PR consists of multiple commits which are successive improvements /
  fixes to your first commit, consider squashing them into a single commit
  (`git rebase -i`) such that your PR is a single commit on top of the current
  HEAD. This make reviewing the code so much easier, and our history more
  readable.

# The small print
Contributions made by corporations are covered by a different agreement than
the one above, the Software Grant and Corporate Contributor License Agreement.

# Code

TL/DR

See [how to build flatc](https://flatbuffers.dev/building/).

When making changes, build `flatc` and then re-generate the goldens files to see the effect of your changes:

```
$ cp build/flatc .
$ goldens/generate_goldens.py
```

Re-generate other code files to see the effects of the changes:

```
$ scripts/generate_code.py
```

Run tests with [TestAll.sh](tests/TestAll.sh) in [tests](tests), or directly any of the sub-scripts run by it.

[Format the code](Formatters.md) before submitting a PR.


================================================
FILE: FlatBuffers.podspec
================================================
Pod::Spec.new do |s|
  s.name             = 'FlatBuffers'
  s.version          = '25.12.19'
  s.summary          = 'FlatBuffers: Memory Efficient Serialization Library'

  s.description      = "FlatBuffers is a cross platform serialization library architected for
  maximum memory efficiency. It allows you to directly access serialized
  data without parsing/unpacking it first, while still having great 
  forwards/backwards compatibility."

  s.homepage         = 'https://github.com/google/flatbuffers'
  s.license          = { :type => 'Apache2.0', :file => 'LICENSE' }
  s.author           = { 'mustii' => 'me@mustiikhalil.se' }
  s.source           = { :git => 'https://github.com/google/flatbuffers.git', :tag => "v" + s.version.to_s, :submodules => true }

  s.ios.deployment_target = '11.0'
  s.osx.deployment_target = '10.14'

  s.swift_version = '5.10'
  s.source_files = 'swift/Sources/Flatbuffers/*.swift'
  s.pod_target_xcconfig = {
    'BUILD_LIBRARY_FOR_DISTRIBUTION' => 'YES'
  }
end


================================================
FILE: Formatters.md
================================================
# Format Guidelines

If you are interesting in contributing to the flatbuffers project, please take a second to read this document. Each language has it's own set of rules, that are defined in their respective formatter/linter documents.

# Notes

- Run the linter on the language you are working on before making a Pull Request.
- DONT format/lint the generated code.

# Languages

## C++

C++ uses `clang-format` as it's formatter. Run the following script `sh scripts/clang-format-git.sh`, and it should style the C++ code according to [google style guide](https://google.github.io/styleguide/cppguide.html).

## Swift

Swift uses swiftformat as it's formatter. Take a look at [how to install here](https://github.com/nicklockwood/SwiftFormat/blob/master/README.md#how-do-i-install-it). Run the following command `swiftformat --config swift.swiftformat .` in the root directory of the project

## Typescript

Typescript uses eslint as it's linter. Take a look at [how to install here](https://eslint.org/docs/user-guide/getting-started). Run the following command `eslint ts/** --ext .ts` in the root directory of the project


================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: MODULE.bazel
================================================
module(
    name = "flatbuffers",
    version = "25.12.19",
    compatibility_level = 1,
    repo_name = "com_github_google_flatbuffers",
)

bazel_dep(
    name = "aspect_bazel_lib",
    version = "2.14.0",
)
bazel_dep(
    name = "aspect_rules_esbuild",
    version = "0.21.0",
)
bazel_dep(
    name = "aspect_rules_js",
    version = "2.3.8",
)
bazel_dep(
    name = "aspect_rules_ts",
    version = "3.6.0",
)
bazel_dep(
    name = "grpc",
    version = "1.76.0",
    repo_name = "com_github_grpc_grpc",
)
bazel_dep(
    name = "platforms",
    version = "0.0.11",
)
bazel_dep(
    name = "rules_cc",
    version = "0.1.1",
)
bazel_dep(
    name = "rules_go",
    version = "0.50.1",
    repo_name = "io_bazel_rules_go",
)
bazel_dep(
    name = "rules_nodejs",
    version = "6.3.3",
)
bazel_dep(
    name = "rules_shell",
    version = "0.3.0",
)
bazel_dep(
    name = "rules_swift",
    version = "3.1.2",
    max_compatibility_level = 3,
    repo_name = "build_bazel_rules_swift",
)
bazel_dep(
    name = "bazel_skylib",
    version = "1.7.1",
)

npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
    name = "flatbuffers_npm",
    npmrc = "//:.npmrc",
    pnpm_lock = "//ts:pnpm-lock.yaml",
    verify_node_modules_ignored = "//:.bazelignore",
)
use_repo(npm, "flatbuffers_npm")

node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
use_repo(node, "nodejs_linux_amd64")

rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext", dev_dependency = True)
rules_ts_ext.deps()
use_repo(rules_ts_ext, "npm_typescript")


================================================
FILE: Package.swift
================================================
// swift-tools-version:5.10
/*
 * Copyright 2020 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import PackageDescription

let package = Package(
  name: "FlatBuffers",
  platforms: [
    .iOS(.v12),
    .macOS(.v10_14),
  ],
  products: [
    .library(
      name: "FlatBuffers",
      targets: ["FlatBuffers"]),
    .library(
      name: "FlexBuffers",
      targets: ["FlexBuffers"]),
  ],
  dependencies: .dependencies,
  targets: [
    .target(
      name: "FlatBuffers",
      dependencies: ["Common"],
      path: "swift/Sources/FlatBuffers"),
    .target(
      name: "FlexBuffers",
      dependencies: ["Common"],
      path: "swift/Sources/FlexBuffers"),
    .target(
      name: "Common",
      path: "swift/Sources/Common"),
    .testTarget(
      name: "FlatbuffersTests",
      dependencies: .dependencies,
      path: "tests/swift/Tests/Flatbuffers"),
    .testTarget(
      name: "FlexbuffersTests",
      dependencies: ["FlexBuffers"],
      path: "tests/swift/Tests/Flexbuffers"),
  ])

extension Array where Element == Package.Dependency {
  static var dependencies: [Package.Dependency] {
    #if os(Windows)
    []
    #else
    // Test only Dependency
    [.package(url: "https://github.com/grpc/grpc-swift.git", from: "1.4.1")]
    #endif
  }
}

extension Array where Element == PackageDescription.Target.Dependency {
  static var dependencies: [PackageDescription.Target.Dependency] {
    #if os(Windows)
    ["FlatBuffers"]
    #else
    // Test only Dependency
    [
      .product(name: "GRPC", package: "grpc-swift"),
      "FlatBuffers",
    ]
    #endif
  }
}


================================================
FILE: README.md
================================================
![logo](https://flatbuffers.dev/assets/flatbuffers_logo.svg) FlatBuffers
===========

![Build status](https://github.com/google/flatbuffers/actions/workflows/build.yml/badge.svg?branch=master)
[![BuildKite status](https://badge.buildkite.com/7979d93bc6279aa539971f271253c65d5e8fe2fe43c90bbb25.svg)](https://buildkite.com/bazel/flatbuffers)
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/flatbuffers.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:flatbuffers)
[![Discord Chat](https://img.shields.io/discord/656202785926152206.svg)](https:///discord.gg/6qgKs3R)
[![Twitter Follow](https://img.shields.io/twitter/follow/wvo.svg?style=social)](https://twitter.com/wvo)
[![Twitter Follow](https://img.shields.io/twitter/follow/dbaileychess.svg?style=social)](https://twitter.com/dbaileychess)


**FlatBuffers** is a cross platform serialization library architected for
maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.

## Quick Start

1. Build the compiler for flatbuffers (`flatc`)

    Use `cmake` to create the build files for your platform and then perform the compilation (Linux example).

    ```
    cmake -G "Unix Makefiles"
    make -j
    ```

2. Define your flatbuffer schema (`.fbs`)

    Write the [schema](https://flatbuffers.dev/flatbuffers_guide_writing_schema.html) to define the data you want to serialize. See [monster.fbs](https://github.com/google/flatbuffers/blob/master/samples/monster.fbs) for an example.

3. Generate code for your language(s)

    Use the `flatc` compiler to take your schema and generate language-specific code:

    ```
    ./flatc --cpp --rust monster.fbs
    ```

    Which generates `monster_generated.h` and `monster_generated.rs` files.

4. Serialize data

    Use the generated code, as well as the `FlatBufferBuilder` to construct your serialized buffer. ([`C++` example](https://github.com/google/flatbuffers/blob/master/samples/sample_binary.cpp#L24-L56))

5. Transmit/store/save Buffer

    Use your serialized buffer however you want. Send it to someone, save it for later, etc...

6. Read the data

    Use the generated accessors to read the data from the serialized buffer.

    It doesn't need to be the same language/schema version, FlatBuffers ensures the data is readable across languages and schema versions. See the [`Rust` example](https://github.com/google/flatbuffers/blob/master/samples/sample_binary.rs#L92-L106) reading the data written by `C++`.

## Documentation

**Go to our [landing page][] to browse our documentation.**

## Supported operating systems
- Windows
- macOS
- Linux
- Android
- And any others with a recent C++ compiler (C++ 11 and newer)

## Supported programming languages

Code generation and runtime libraries for many popular languages.

1. C
1. C++ - [snapcraft.io](https://snapcraft.io/flatbuffers)
1. C# - [nuget.org](https://www.nuget.org/packages/Google.FlatBuffers)
1. Dart - [pub.dev](https://pub.dev/packages/flat_buffers)
1. Go - [go.dev](https://pkg.go.dev/github.com/google/flatbuffers)
1. Java - [Maven](https://search.maven.org/artifact/com.google.flatbuffers/flatbuffers-java)
1. JavaScript - [NPM](https://www.npmjs.com/package/flatbuffers)
1. Kotlin
1. Lobster
1. Lua
1. PHP
1. Python - [PyPI](https://pypi.org/project/flatbuffers/)
1. Rust - [crates.io](https://crates.io/crates/flatbuffers)
1. Swift - [swiftpackageindex](https://swiftpackageindex.com/google/flatbuffers)
1. TypeScript - [NPM](https://www.npmjs.com/package/flatbuffers)
1. Nim

## Versioning

FlatBuffers does not follow traditional SemVer versioning (see [rationale](https://github.com/google/flatbuffers/wiki/Versioning)) but rather uses a format of the date of the release.

## Contribution

* [FlatBuffers Issues Tracker][] to submit an issue.
* [stackoverflow.com][] with [`flatbuffers` tag][] for any questions regarding FlatBuffers.

*To contribute to this project,* see [CONTRIBUTING][].

## Community

* [Discord Server](https:///discord.gg/6qgKs3R)

## Security

Please see our [Security Policy](SECURITY.md) for reporting vulnerabilities.

## Licensing
*Flatbuffers* is licensed under the Apache License, Version 2.0. See [LICENSE][] for the full license text.

<br>

   [CONTRIBUTING]: http://github.com/google/flatbuffers/blob/master/CONTRIBUTING.md
   [`flatbuffers` tag]: https://stackoverflow.com/questions/tagged/flatbuffers
   [FlatBuffers Google Group]: https://groups.google.com/forum/#!forum/flatbuffers
   [FlatBuffers Issues Tracker]: http://github.com/google/flatbuffers/issues
   [stackoverflow.com]: http://stackoverflow.com/search?q=flatbuffers
   [landing page]: https://google.github.io/flatbuffers
   [LICENSE]: https://github.com/google/flatbuffers/blob/master/LICENSE


================================================
FILE: SECURITY.md
================================================
# Security Policy

## Reporting a Vulnerability

To report a security issue, please use http://g.co/vulnz. We use
http://g.co/vulnz for our intake, and do coordination and disclosure here on
GitHub (including using GitHub Security Advisory). The Google Security Team will
respond within 5 working days of your report on g.co/vulnz.

Select the `I want to report a technical security or an abuse risk related bug
in a Google product (SQLi, XSS, etc.)` option and complete the form.


================================================
FILE: android/AndroidManifest.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.FlatBufferTest">

    <uses-sdk android:minSdkVersion="14"/>
    <uses-feature android:glEsVersion="0x00020000"></uses-feature>

    <!-- This .apk has no Java code itself, so set hasCode to false. -->
    <application android:name="android.support.multidex.MultiDexApplication"
                 android:label="@string/app_name"
                 android:hasCode="false"
                 android:allowBackup="false">
        <!-- Our activity is the built-in NativeActivity framework class.
             This will take care of integrating with our NDK code. -->
        <activity android:name="android.app.NativeActivity"
                android:label="@string/app_name"
                android:configChanges="orientation|keyboardHidden"
                android:screenOrientation="landscape">
            <!-- Tell NativeActivity the name of or .so -->
            <meta-data android:name="android.app.lib_name"
                    android:value="FlatBufferTest" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
<!-- END_INCLUDE(manifest) -->


================================================
FILE: android/app/.gitignore
================================================
/build


================================================
FILE: android/app/build.gradle
================================================
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
  compileSdk 33

  defaultConfig {
    applicationId "com.flatbuffers.app"
    minSdkVersion 26
    targetSdkVersion 33
    versionCode 1
    versionName "1.0"

    compileOptions {
      sourceCompatibility JavaVersion.VERSION_1_8
      targetCompatibility JavaVersion.VERSION_1_8
    }

    sourceSets {
      main {
        java {
          srcDir '../../java/src/main/java/'
        }
      }
    }

    ndk {
      abiFilters 'arm64-v8a', 'armeabi-v7a'
    }
    
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    externalNativeBuild {
      cmake {
        arguments "-DFLATBUFFERS_SRC=${rootProject.projectDir}/.."
      }
    }
  }

  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
  }

  externalNativeBuild {
    cmake {
      path "src/main/cpp/CMakeLists.txt"
    }
  }

  task generateFbsCpp(type: Exec) {
    def inputDir = file("$projectDir/src/main/fbs")
    def outputCppDir = file("$projectDir/src/main/cpp/generated/")
    def fbsFiles = layout.files { file(inputDir).listFiles() }.filter { File f -> f.name.endsWith(".fbs") }.toList()
    ignoreExitValue(true)

    standardOutput = new ByteArrayOutputStream()
    errorOutput = new ByteArrayOutputStream()
    def commandLineArgs = ['flatc', '-o', outputCppDir, '--cpp']
    fbsFiles.forEach{
      commandLineArgs.add(it.path)
    }

    commandLine commandLineArgs

    doFirst {
      delete "$outputCppDir/"
      mkdir "$outputCppDir/"
    }

    doLast {
      if (executionResult.get().exitValue != 0) {
        throw new GradleException("flatc failed with: ${executionResult.get().toString()}")
      }
    }
  }

  task generateFbsKotlin(type: Exec) {
    def inputDir = file("$projectDir/src/main/fbs")
    def outputKotlinDir = file("$projectDir/src/main/java/generated/")
    def fbsFiles = layout.files { file(inputDir).listFiles() }.filter { File f -> f.name.endsWith(".fbs") }.toList()
    ignoreExitValue(true)

    standardOutput = new ByteArrayOutputStream()
    errorOutput = new ByteArrayOutputStream()

    setErrorOutput(errorOutput)
    setStandardOutput(standardOutput)

    def commandLineArgs = ['flatc', '-o', outputKotlinDir, '--kotlin']
    fbsFiles.forEach{
      commandLineArgs.add(it.path)
    }
    commandLine commandLineArgs

    doFirst {
      delete "$outputKotlinDir/"
      mkdir "$outputKotlinDir/"
    }
    doLast {
      if (executionResult.get().exitValue != 0) {
        throw new GradleException("flatc failed with: ${executionResult.get().toString()}")
      }
    }
  }

  afterEvaluate {
    tasks.named("preBuild") {
      dependsOn(generateFbsKotlin)
      dependsOn(generateFbsCpp)
    }
  }
  namespace 'com.flatbuffers.app'
}

dependencies {
  implementation fileTree(dir: "libs", include: ["*.jar"])
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
  implementation 'androidx.appcompat:appcompat:1.6.1'

  // If you using java runtime you can add its dependency as the example below
  // implementation 'com.google.flatbuffers:flatbuffers-java:$latest_version'

}


================================================
FILE: android/app/src/main/AndroidManifest.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

  <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
      android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>

</manifest>


================================================
FILE: android/app/src/main/cpp/CMakeLists.txt
================================================
# For more information about using CMake with Android Studio, read the
# documentation: https://d.android.com/studio/projects/add-native-code.html

# Sets the minimum version of CMake required to build the native library.

cmake_minimum_required(VERSION 3.4.1)

# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds them for you.
# Gradle automatically packages shared libraries with your APK.

include_directories(${FLATBUFFERS_SRC}/include)

add_subdirectory(flatbuffers)

FILE(GLOB Generated_SRCS generated/*.h)

add_library( # Sets the name of the library.
             native-lib

             # Sets the library as a shared library.
             SHARED

             # Provides a relative path to your source file(s).
             animals.cpp
             ${Generated_SRCS}

)

# Searches for a specified prebuilt library and stores the path as a
# variable. Because CMake includes system libraries in the search path by
# default, you only need to specify the name of the public NDK library
# you want to add. CMake verifies that the library exists before
# completing its build.

find_library( # Sets the name of the path variable.
              log-lib

              # Specifies the name of the NDK library that
              # you want CMake to locate.
              log )

# Specifies libraries CMake should link to your target library. You
# can link multiple libraries, such as libraries you define in this
# build script, prebuilt third-party libraries, or system libraries.

target_link_libraries( # Specifies the target library.
                       native-lib
                       flatbuffers
                       # Links the target library to the log library
                       # included in the NDK.
                       ${log-lib} )


================================================
FILE: android/app/src/main/cpp/animals.cpp
================================================
/*
 * Copyright 2014 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <jni.h>
#include <search.h>

#include <string>

#include "generated/animal_generated.h"

using namespace com::fbs::app;
using namespace flatbuffers;

extern "C" JNIEXPORT jbyteArray JNICALL
Java_com_flatbuffers_app_MainActivity_createAnimalFromJNI(JNIEnv* env,
                                                          jobject /* this */) {
  // create a new animal flatbuffers
  auto fb = FlatBufferBuilder(1024);
  auto tiger = CreateAnimalDirect(fb, "Tiger", "Roar", 300);
  fb.Finish(tiger);

  // copies it to a Java byte array.
  auto buf = reinterpret_cast<jbyte*>(fb.GetBufferPointer());
  int size = fb.GetSize();
  auto ret = env->NewByteArray(size);
  env->SetByteArrayRegion(ret, 0, fb.GetSize(), buf);
  return ret;
}


================================================
FILE: android/app/src/main/cpp/flatbuffers/CMakeLists.txt
================================================
# For more information about using CMake with Android Studio, read the
# documentation: https://d.android.com/studio/projects/add-native-code.html

# Sets the minimum version of CMake required to build the native library.

cmake_minimum_required(VERSION 3.4.1)

include_directories(${FLATBUFFERS_SRC}/include)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -fexceptions -Wall -DFLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE")

# Certain platforms such as ARM do not use signed chars by default
# which causes issues with certain bounds checks.
set(CMAKE_CXX_FLAGS
   "${CMAKE_CXX_FLAGS} -fsigned-char")

set(FlatBuffers_Library_SRCS
        ${FLATBUFFERS_SRC}/include/flatbuffers/allocator.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/array.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/base.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/buffer.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/buffer_ref.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/default_allocator.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/detached_buffer.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/flatbuffer_builder.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/flatbuffers.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/flexbuffers.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/flex_flat_util.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/hash.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/idl.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/minireflect.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/reflection.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/reflection_generated.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/registry.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/stl_emulation.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/string.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/struct.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/table.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/util.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/vector.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/vector_downward.h
        ${FLATBUFFERS_SRC}/include/flatbuffers/verifier.h
        ${FLATBUFFERS_SRC}/src/idl_parser.cpp
        ${FLATBUFFERS_SRC}/src/idl_gen_text.cpp
        ${FLATBUFFERS_SRC}/src/reflection.cpp
        ${FLATBUFFERS_SRC}/src/util.cpp
        ${FLATBUFFERS_SRC}/src/idl_gen_fbs.cpp
        ${FLATBUFFERS_SRC}/src/code_generators.cpp
        )

add_library( # Sets the name of the library.
             flatbuffers

             ${FlatBuffers_Library_SRCS}
             ${Generated_SRCS}
)


================================================
FILE: android/app/src/main/cpp/generated/animal_generated.h
================================================
// automatically generated by the FlatBuffers compiler, do not modify

#ifndef FLATBUFFERS_GENERATED_ANIMAL_COM_FBS_APP_H_
#define FLATBUFFERS_GENERATED_ANIMAL_COM_FBS_APP_H_

#include "flatbuffers/flatbuffers.h"

// Ensure the included flatbuffers.h is the same version as when this file was
// generated, otherwise it may not be compatible.
static_assert(FLATBUFFERS_VERSION_MAJOR == 24 &&
                  FLATBUFFERS_VERSION_MINOR == 12 &&
                  FLATBUFFERS_VERSION_REVISION == 23,
              "Non-compatible flatbuffers version included");

namespace com {
namespace fbs {
namespace app {

struct Animal;
struct AnimalBuilder;

struct Animal FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  typedef AnimalBuilder Builder;
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
    VT_NAME = 4,
    VT_SOUND = 6,
    VT_WEIGHT = 8
  };
  const ::flatbuffers::String* name() const {
    return GetPointer<const ::flatbuffers::String*>(VT_NAME);
  }
  const ::flatbuffers::String* sound() const {
    return GetPointer<const ::flatbuffers::String*>(VT_SOUND);
  }
  uint16_t weight() const { return GetField<uint16_t>(VT_WEIGHT, 0); }
  bool Verify(::flatbuffers::Verifier& verifier) const {
    return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NAME) &&
           verifier.VerifyString(name()) && VerifyOffset(verifier, VT_SOUND) &&
           verifier.VerifyString(sound()) &&
           VerifyField<uint16_t>(verifier, VT_WEIGHT, 2) && verifier.EndTable();
  }
};

struct AnimalBuilder {
  typedef Animal Table;
  ::flatbuffers::FlatBufferBuilder& fbb_;
  ::flatbuffers::uoffset_t start_;
  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
    fbb_.AddOffset(Animal::VT_NAME, name);
  }
  void add_sound(::flatbuffers::Offset<::flatbuffers::String> sound) {
    fbb_.AddOffset(Animal::VT_SOUND, sound);
  }
  void add_weight(uint16_t weight) {
    fbb_.AddElement<uint16_t>(Animal::VT_WEIGHT, weight, 0);
  }
  explicit AnimalBuilder(::flatbuffers::FlatBufferBuilder& _fbb) : fbb_(_fbb) {
    start_ = fbb_.StartTable();
  }
  ::flatbuffers::Offset<Animal> Finish() {
    const auto end = fbb_.EndTable(start_);
    auto o = ::flatbuffers::Offset<Animal>(end);
    return o;
  }
};

inline ::flatbuffers::Offset<Animal> CreateAnimal(
    ::flatbuffers::FlatBufferBuilder& _fbb,
    ::flatbuffers::Offset<::flatbuffers::String> name = 0,
    ::flatbuffers::Offset<::flatbuffers::String> sound = 0,
    uint16_t weight = 0) {
  AnimalBuilder builder_(_fbb);
  builder_.add_sound(sound);
  builder_.add_name(name);
  builder_.add_weight(weight);
  return builder_.Finish();
}

inline ::flatbuffers::Offset<Animal> CreateAnimalDirect(
    ::flatbuffers::FlatBufferBuilder& _fbb, const char* name = nullptr,
    const char* sound = nullptr, uint16_t weight = 0) {
  auto name__ = name ? _fbb.CreateString(name) : 0;
  auto sound__ = sound ? _fbb.CreateString(sound) : 0;
  return com::fbs::app::CreateAnimal(_fbb, name__, sound__, weight);
}

inline const com::fbs::app::Animal* GetAnimal(const void* buf) {
  return ::flatbuffers::GetRoot<com::fbs::app::Animal>(buf);
}

inline const com::fbs::app::Animal* GetSizePrefixedAnimal(const void* buf) {
  return ::flatbuffers::GetSizePrefixedRoot<com::fbs::app::Animal>(buf);
}

inline bool VerifyAnimalBuffer(::flatbuffers::Verifier& verifier) {
  return verifier.VerifyBuffer<com::fbs::app::Animal>(nullptr);
}

inline bool VerifySizePrefixedAnimalBuffer(::flatbuffers::Verifier& verifier) {
  return verifier.VerifySizePrefixedBuffer<com::fbs::app::Animal>(nullptr);
}

inline void FinishAnimalBuffer(
    ::flatbuffers::FlatBufferBuilder& fbb,
    ::flatbuffers::Offset<com::fbs::app::Animal> root) {
  fbb.Finish(root);
}

inline void FinishSizePrefixedAnimalBuffer(
    ::flatbuffers::FlatBufferBuilder& fbb,
    ::flatbuffers::Offset<com::fbs::app::Animal> root) {
  fbb.FinishSizePrefixed(root);
}

}  // namespace app
}  // namespace fbs
}  // namespace com

#endif  // FLATBUFFERS_GENERATED_ANIMAL_COM_FBS_APP_H_


================================================
FILE: android/app/src/main/fbs/animal.fbs
================================================
// Copyright 2015 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

namespace com.fbs.app;

table Animal {
  name:string;
  sound:string;
  weight: uint16;
}

root_type Animal;


================================================
FILE: android/app/src/main/java/com/flatbuffers/app/MainActivity.kt
================================================
package com.flatbuffers.app

import android.annotation.SuppressLint
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import com.fbs.app.Animal
import com.google.flatbuffers.FlatBufferBuilder
import java.nio.ByteBuffer

@ExperimentalUnsignedTypes
class MainActivity : AppCompatActivity() {

  @SuppressLint("SetTextI18n")
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val tiger = Animal.getRootAsAnimal(ByteBuffer.wrap(createAnimalFromJNI()))
    findViewById<TextView>(R.id.tv_animal_one).text = animalInfo(tiger)

    findViewById<TextView>(R.id.tv_animal_two).text = animalInfo(createAnimalFromKotlin())
  }

  // This function is a sample of communicating FlatBuffers between JNI (native C++) and Java.
  // Implementation can be found on animals.cpp file.
  private external fun createAnimalFromJNI(): ByteArray

  // Create a "Cow" Animal flatbuffers from Kotlin
  private fun createAnimalFromKotlin(): Animal {
    val fb = FlatBufferBuilder(100)
    val cowOffset =
      Animal.createAnimal(
        builder = fb,
        nameOffset = fb.createString("Cow"),
        soundOffset = fb.createString("Moo"),
        weight = 720u,
      )
    fb.finish(cowOffset)
    return Animal.getRootAsAnimal(fb.dataBuffer())
  }

  private fun animalInfo(animal: Animal): String =
    "The ${animal.name} sound is ${animal.sound} and it weights ${animal.weight}kg."

  companion object {
    // Used to load the 'native-lib' library on application startup.
    init {
      System.loadLibrary("native-lib")
    }
  }
}


================================================
FILE: android/app/src/main/java/generated/com/fbs/app/Animal.kt
================================================
// automatically generated by the FlatBuffers compiler, do not modify

package com.fbs.app

import com.google.flatbuffers.Constants
import com.google.flatbuffers.FlatBufferBuilder
import com.google.flatbuffers.Table
import java.nio.ByteBuffer
import java.nio.ByteOrder

@Suppress("unused")
@kotlin.ExperimentalUnsignedTypes
class Animal : Table() {

  fun __init(_i: Int, _bb: ByteBuffer) {
    __reset(_i, _bb)
  }

  fun __assign(_i: Int, _bb: ByteBuffer): Animal {
    __init(_i, _bb)
    return this
  }

  val name: String?
    get() {
      val o = __offset(4)
      return if (o != 0) {
        __string(o + bb_pos)
      } else {
        null
      }
    }

  val nameAsByteBuffer: ByteBuffer
    get() = __vector_as_bytebuffer(4, 1)

  fun nameInByteBuffer(_bb: ByteBuffer): ByteBuffer = __vector_in_bytebuffer(_bb, 4, 1)

  val sound: String?
    get() {
      val o = __offset(6)
      return if (o != 0) {
        __string(o + bb_pos)
      } else {
        null
      }
    }

  val soundAsByteBuffer: ByteBuffer
    get() = __vector_as_bytebuffer(6, 1)

  fun soundInByteBuffer(_bb: ByteBuffer): ByteBuffer = __vector_in_bytebuffer(_bb, 6, 1)

  val weight: UShort
    get() {
      val o = __offset(8)
      return if (o != 0) bb.getShort(o + bb_pos).toUShort() else 0u
    }

  companion object {
    fun validateVersion() = Constants.FLATBUFFERS_25_12_19()

    fun getRootAsAnimal(_bb: ByteBuffer): Animal = getRootAsAnimal(_bb, Animal())

    fun getRootAsAnimal(_bb: ByteBuffer, obj: Animal): Animal {
      _bb.order(ByteOrder.LITTLE_ENDIAN)
      return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
    }

    fun createAnimal(
      builder: FlatBufferBuilder,
      nameOffset: Int,
      soundOffset: Int,
      weight: UShort,
    ): Int {
      builder.startTable(3)
      addSound(builder, soundOffset)
      addName(builder, nameOffset)
      addWeight(builder, weight)
      return endAnimal(builder)
    }

    fun startAnimal(builder: FlatBufferBuilder) = builder.startTable(3)

    fun addName(builder: FlatBufferBuilder, name: Int) = builder.addOffset(0, name, 0)

    fun addSound(builder: FlatBufferBuilder, sound: Int) = builder.addOffset(1, sound, 0)

    fun addWeight(builder: FlatBufferBuilder, weight: UShort) =
      builder.addShort(2, weight.toShort(), 0)

    fun endAnimal(builder: FlatBufferBuilder): Int {
      val o = builder.endTable()
      return o
    }

    fun finishAnimalBuffer(builder: FlatBufferBuilder, offset: Int) = builder.finish(offset)

    fun finishSizePrefixedAnimalBuffer(builder: FlatBufferBuilder, offset: Int) =
      builder.finishSizePrefixed(offset)
  }
}


================================================
FILE: android/app/src/main/res/drawable/ic_launcher_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="108"
    android:viewportHeight="108">
    <path
        android:fillColor="#3DDC84"
        android:pathData="M0,0h108v108h-108z" />
    <path
        android:fillColor="#00000000"
        android:pathData="M9,0L9,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M19,0L19,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M29,0L29,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M39,0L39,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M49,0L49,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M59,0L59,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M69,0L69,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M79,0L79,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M89,0L89,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M99,0L99,108"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,9L108,9"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,19L108,19"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,29L108,29"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,39L108,39"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,49L108,49"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,59L108,59"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,69L108,69"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,79L108,79"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,89L108,89"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M0,99L108,99"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M19,29L89,29"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M19,39L89,39"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M19,49L89,49"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M19,59L89,59"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M19,69L89,69"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M19,79L89,79"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M29,19L29,89"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M39,19L39,89"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M49,19L49,89"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M59,19L59,89"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M69,19L69,89"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
    <path
        android:fillColor="#00000000"
        android:pathData="M79,19L79,89"
        android:strokeWidth="0.8"
        android:strokeColor="#33FFFFFF" />
</vector>


================================================
FILE: android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
================================================
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:aapt="http://schemas.android.com/aapt"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="108"
    android:viewportHeight="108">
    <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
        <aapt:attr name="android:fillColor">
            <gradient
                android:endX="85.84757"
                android:endY="92.4963"
                android:startX="42.9492"
                android:startY="49.59793"
                android:type="linear">
                <item
                    android:color="#44000000"
                    android:offset="0.0" />
                <item
                    android:color="#00000000"
                    android:offset="1.0" />
            </gradient>
        </aapt:attr>
    </path>
    <path
        android:fillColor="#FFFFFF"
        android:fillType="nonZero"
        android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
        android:strokeWidth="1"
        android:strokeColor="#00000000" />
</vector>


================================================
FILE: android/app/src/main/res/layout/activity_main.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  android:gravity="center"
  tools:context=".MainActivity">

  <TextView
    android:id="@+id/tv_animal_one"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:text="Text Sample"/>

  <TextView
    android:id="@+id/tv_animal_two"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:text="Text Sample 2"/>

</LinearLayout>


================================================
FILE: android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>


================================================
FILE: android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>


================================================
FILE: android/app/src/main/res/values/colors.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#6200EE</color>
    <color name="colorPrimaryDark">#3700B3</color>
    <color name="colorAccent">#03DAC5</color>
</resources>


================================================
FILE: android/app/src/main/res/values/strings.xml
================================================
<resources>
  <string name="app_name">FlatbuffersTestApp</string>
</resources>


================================================
FILE: android/app/src/main/res/values/styles.xml
================================================
<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>


================================================
FILE: android/build.gradle
================================================
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
  ext.kotlin_version = "1.7.21"
  repositories {
    google()
    mavenCentral()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:7.4.1'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
  }
}

allprojects {
  repositories {
    google()
    mavenCentral()
  }
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
  sourceCompatibility = JavaVersion.VERSION_1_8
  targetCompatibility = JavaVersion.VERSION_1_8

  compileKotlin {
    dependsOn flatbuffer
  }
}

task clean(type: Delete) {
  delete rootProject.buildDir
}


================================================
FILE: android/gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists


================================================
FILE: android/gradle.properties
================================================
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
# Use parallel builds
org.gradle.parallel=true

================================================
FILE: android/gradlew
================================================
#!/usr/bin/env sh

##############################################################################
##
##  Gradle start up script for UN*X
##
##############################################################################

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
    ls=`ls -ld "$PRG"`
    link=`expr "$ls" : '.*-> \(.*\)$'`
    if expr "$link" : '/.*' > /dev/null; then
        PRG="$link"
    else
        PRG=`dirname "$PRG"`"/$link"
    fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn () {
    echo "$*"
}

die () {
    echo
    echo "$*"
    echo
    exit 1
}

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
  CYGWIN* )
    cygwin=true
    ;;
  Darwin* )
    darwin=true
    ;;
  MINGW* )
    msys=true
    ;;
  NONSTOP* )
    nonstop=true
    ;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
        # IBM's JDK on AIX uses strange locations for the executables
        JAVACMD="$JAVA_HOME/jre/sh/java"
    else
        JAVACMD="$JAVA_HOME/bin/java"
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
    fi
else
    JAVACMD="java"
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
    MAX_FD_LIMIT=`ulimit -H -n`
    if [ $? -eq 0 ] ; then
        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
            MAX_FD="$MAX_FD_LIMIT"
        fi
        ulimit -n $MAX_FD
        if [ $? -ne 0 ] ; then
            warn "Could not set maximum file descriptor limit: $MAX_FD"
        fi
    else
        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
    fi
fi

# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
    JAVACMD=`cygpath --unix "$JAVACMD"`

    # We build the pattern for arguments to be converted via cygpath
    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
    SEP=""
    for dir in $ROOTDIRSRAW ; do
        ROOTDIRS="$ROOTDIRS$SEP$dir"
        SEP="|"
    done
    OURCYGPATTERN="(^($ROOTDIRS))"
    # Add a user-defined pattern to the cygpath arguments
    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
    fi
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    i=0
    for arg in "$@" ; do
        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option

        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
        else
            eval `echo args$i`="\"$arg\""
        fi
        i=$((i+1))
    done
    case $i in
        (0) set -- ;;
        (1) set -- "$args0" ;;
        (2) set -- "$args0" "$args1" ;;
        (3) set -- "$args0" "$args1" "$args2" ;;
        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
    esac
fi

# Escape application args
save () {
    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
    echo " "
}
APP_ARGS=$(save "$@")

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
  cd "$(dirname "$0")"
fi

exec "$JAVACMD" "$@"


================================================
FILE: android/gradlew.bat
================================================
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem  Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto init

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:init
@rem Get command-line arguments, handling Windows variants

if not "%OS%" == "Windows_NT" goto win9xME_args

:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2

:win9xME_args_slurp
if "x%~1" == "x" goto execute

set CMD_LINE_ARGS=%*

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar

@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega


================================================
FILE: android/settings.gradle
================================================
include ':app'
rootProject.name = "FlatbuffersTest"


================================================
FILE: bazel/BUILD.bazel
================================================


================================================
FILE: benchmarks/CMakeLists.txt
================================================
# Setup for running Google Benchmarks (https://github.com/google/benchmark) on
# flatbuffers. This requires both that benchmark library and its dependency gtest
# to build. Instead of including them here or doing a submodule, this uses
# FetchContent (https://cmake.org/cmake/help/latest/module/FetchContent.html) to
# grab the dependencies at config time. This requires CMake 3.14 or higher.

cmake_minimum_required(VERSION 3.14)
include(FetchContent)

# No particular reason for the specific GIT_TAGs for the following repos, they
# were just the latest releases when this was added.
FetchContent_Declare(
    googletest
    GIT_REPOSITORY https://github.com/google/googletest.git
    GIT_TAG        e2239ee6043f73722e7aa812a459f54a28552929 # release-1.11.0
)
FetchContent_Declare(
    googlebenchmark
    GIT_REPOSITORY https://github.com/google/benchmark.git
    GIT_TAG        0d98dba29d66e93259db7daa53a9327df767a415 # v1.6.1
)

# For Windows: Prevent overriding the parent project's compiler/linker 
# settings.
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(
    googletest
    googlebenchmark
)

set(CPP_BENCH_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cpp)
set(CPP_FB_BENCH_DIR ${CPP_BENCH_DIR}/flatbuffers)
set(CPP_RAW_BENCH_DIR ${CPP_BENCH_DIR}/raw)
set(CPP_BENCH_FBS ${CPP_FB_BENCH_DIR}/bench.fbs)
set(CPP_BENCH_FB_GEN ${CPP_FB_BENCH_DIR}/bench_generated.h)

set(FlatBenchmark_SRCS
    ${CPP_BENCH_DIR}/benchmark_main.cpp
    ${CPP_FB_BENCH_DIR}/fb_bench.cpp
    ${CPP_RAW_BENCH_DIR}/raw_bench.cpp
    ${CPP_BENCH_FB_GEN}
)

# Generate the flatbuffers benchmark code from the flatbuffers schema using
# flatc itself, thus it depends on flatc. This also depends on the C++ runtime
# flatbuffers and the schema file itself, so it should auto-generated at the
# correct times.
add_custom_command(
    OUTPUT ${CPP_BENCH_FB_GEN}
    COMMAND 
        "${FLATBUFFERS_FLATC_EXECUTABLE}"
        --cpp
        -o ${CPP_FB_BENCH_DIR}
        ${CPP_BENCH_FBS}
    DEPENDS 
        flatc
        flatbuffers
        ${CPP_BENCH_FBS}
    COMMENT "Run Flatbuffers Benchmark Codegen: ${CPP_BENCH_FB_GEN}"
    VERBATIM)

# The main flatbuffers benchmark executable
add_executable(flatbenchmark ${FlatBenchmark_SRCS})

# Benchmark requires C++11 
target_compile_features(flatbenchmark PRIVATE
    cxx_std_11 # requires cmake 3.8
)

target_compile_options(flatbenchmark
    PRIVATE
        -fno-aligned-new
        -Wno-deprecated-declarations
)

# Set the output directory to the root binary directory
set_target_properties(flatbenchmark 
    PROPERTIES RUNTIME_OUTPUT_DIRECTORY 
    "${CMAKE_BINARY_DIR}"
)

# The includes of the benchmark files are fully qualified from flatbuffers root.
target_include_directories(flatbenchmark PUBLIC ${CMAKE_SOURCE_DIR})

target_link_libraries(flatbenchmark PRIVATE
    benchmark::benchmark_main # _main to use their entry point 
    gtest # Link to gtest so we can also assert in the benchmarks
)

================================================
FILE: benchmarks/cpp/bench.h
================================================
#ifndef BENCHMARKS_CPP_BENCH_H_
#define BENCHMARKS_CPP_BENCH_H_

#include <cstdint>

struct Bench {
  virtual ~Bench() {}

  inline void Add(int64_t value) { sum += value; }

  virtual uint8_t* Encode(void* buf, int64_t& len) = 0;
  virtual void* Decode(void* buf, int64_t len) = 0;
  virtual int64_t Use(void* decoded) = 0;
  virtual void Dealloc(void* decoded) = 0;

  int64_t sum = 0;
};

#endif  // BENCHMARKS_CPP_BENCH_H_

================================================
FILE: benchmarks/cpp/benchmark_main.cpp
================================================
#include <benchmark/benchmark.h>
#include <gtest/gtest.h>

#include "benchmarks/cpp/bench.h"
#include "benchmarks/cpp/flatbuffers/fb_bench.h"
#include "benchmarks/cpp/raw/raw_bench.h"

static inline void Encode(benchmark::State& state,
                          std::unique_ptr<Bench>& bench, uint8_t* buffer) {
  int64_t length;
  for (auto _ : state) {
    bench->Encode(buffer, length);
    benchmark::DoNotOptimize(length);
  }
}

static inline void Decode(benchmark::State& state,
                          std::unique_ptr<Bench>& bench, uint8_t* buffer) {
  int64_t length;
  uint8_t* encoded = bench->Encode(buffer, length);

  for (auto _ : state) {
    void* decoded = bench->Decode(encoded, length);
    benchmark::DoNotOptimize(decoded);
  }
}

static inline void Use(benchmark::State& state, std::unique_ptr<Bench>& bench,
                       uint8_t* buffer, int64_t check_sum) {
  int64_t length;
  uint8_t* encoded = bench->Encode(buffer, length);
  void* decoded = bench->Decode(encoded, length);

  int64_t sum = 0;

  for (auto _ : state) {
    sum = bench->Use(decoded);
  }

  EXPECT_EQ(sum, check_sum);
}

static void BM_Flatbuffers_Encode(benchmark::State& state) {
  const int64_t kBufferLength = 1024;
  uint8_t buffer[kBufferLength];

  StaticAllocator allocator(&buffer[0]);
  std::unique_ptr<Bench> bench = NewFlatBuffersBench(kBufferLength, &allocator);
  Encode(state, bench, buffer);
}
BENCHMARK(BM_Flatbuffers_Encode);

static void BM_Flatbuffers_Decode(benchmark::State& state) {
  const int64_t kBufferLength = 1024;
  uint8_t buffer[kBufferLength];

  StaticAllocator allocator(&buffer[0]);
  std::unique_ptr<Bench> bench = NewFlatBuffersBench(kBufferLength, &allocator);
  Decode(state, bench, buffer);
}
BENCHMARK(BM_Flatbuffers_Decode);

static void BM_Flatbuffers_Use(benchmark::State& state) {
  const int64_t kBufferLength = 1024;
  uint8_t buffer[kBufferLength];

  StaticAllocator allocator(&buffer[0]);
  std::unique_ptr<Bench> bench = NewFlatBuffersBench(kBufferLength, &allocator);
  Use(state, bench, buffer, 218812692406581874);
}
BENCHMARK(BM_Flatbuffers_Use);

static void BM_Raw_Encode(benchmark::State& state) {
  const int64_t kBufferLength = 1024;
  uint8_t buffer[kBufferLength];

  std::unique_ptr<Bench> bench = NewRawBench();
  Encode(state, bench, buffer);
}
BENCHMARK(BM_Raw_Encode);

static void BM_Raw_Decode(benchmark::State& state) {
  const int64_t kBufferLength = 1024;
  uint8_t buffer[kBufferLength];

  std::unique_ptr<Bench> bench = NewRawBench();
  Decode(state, bench, buffer);
}
BENCHMARK(BM_Raw_Decode);

static void BM_Raw_Use(benchmark::State& state) {
  const int64_t kBufferLength = 1024;
  uint8_t buffer[kBufferLength];

  std::unique_ptr<Bench> bench = NewRawBench();
  Use(state, bench, buffer, 218812692406581874);
}
BENCHMARK(BM_Raw_Use);


================================================
FILE: benchmarks/cpp/flatbuffers/bench.fbs
================================================
// Copyright 2021 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


// trying to represent a typical mix of datatypes:
// 1 array of 3 elements, each element: 1 string, 3 nested objects, 9 scalars
// root element has the array, additional string and an enum

namespace benchmarks_flatbuffers;

enum Enum : short { Apples, Pears, Bananas}

struct Foo {
  id:ulong;
  count:short;
  prefix:byte;
  length:uint;
}

struct Bar {
  parent:Foo;
  time:int;
  ratio:float;
  size:ushort;
}

table FooBar {
  sibling:Bar;
  name:string;
  rating:double;
  postfix:ubyte;
}

table FooBarContainer {
  list:[FooBar];  // 3 copies of the above
  initialized:bool;
  fruit:Enum;
  location:string;
}

root_type FooBarContainer;


================================================
FILE: benchmarks/cpp/flatbuffers/bench_generated.h
================================================
// automatically generated by the FlatBuffers compiler, do not modify

#ifndef FLATBUFFERS_GENERATED_BENCH_BENCHMARKS_FLATBUFFERS_H_
#define FLATBUFFERS_GENERATED_BENCH_BENCHMARKS_FLATBUFFERS_H_

#include "flatbuffers/flatbuffers.h"

// Ensure the included flatbuffers.h is the same version as when this file was
// generated, otherwise it may not be compatible.
static_assert(FLATBUFFERS_VERSION_MAJOR == 24 &&
                  FLATBUFFERS_VERSION_MINOR == 12 &&
                  FLATBUFFERS_VERSION_REVISION == 23,
              "Non-compatible flatbuffers version included");

namespace benchmarks_flatbuffers {

struct Foo;

struct Bar;

struct FooBar;
struct FooBar
Download .txt
gitextract_0i2he2td/

├── .bazelci/
│   └── presubmit.yml
├── .bazelignore
├── .bazelrc
├── .clang-format
├── .clang-tidy
├── .editorconfig
├── .gitattributes
├── .github/
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   └── 404-doc.md
│   ├── ISSUE_TEMPLATE.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   ├── labeler.yml
│   └── workflows/
│       ├── build.yml
│       ├── docs.yml
│       ├── label.yml
│       ├── main.yml
│       ├── release.yml
│       └── stale.yml
├── .gitignore
├── .npmrc
├── BUILD.bazel
├── CHANGELOG.md
├── CMake/
│   ├── BuildFlatBuffers.cmake
│   ├── DESCRIPTION.txt
│   ├── FindFlatBuffers.cmake
│   ├── PackageDebian.cmake
│   ├── PackageRedhat.cmake
│   ├── Version.cmake
│   ├── flatbuffers-config-version.cmake.in
│   ├── flatbuffers-config.cmake
│   └── flatbuffers.pc.in
├── CMakeLists.txt
├── CONTRIBUTING.md
├── FlatBuffers.podspec
├── Formatters.md
├── LICENSE
├── MODULE.bazel
├── Package.swift
├── README.md
├── SECURITY.md
├── android/
│   ├── AndroidManifest.xml
│   ├── app/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── cpp/
│   │           │   ├── CMakeLists.txt
│   │           │   ├── animals.cpp
│   │           │   ├── flatbuffers/
│   │           │   │   └── CMakeLists.txt
│   │           │   └── generated/
│   │           │       └── animal_generated.h
│   │           ├── fbs/
│   │           │   └── animal.fbs
│   │           ├── java/
│   │           │   ├── com/
│   │           │   │   └── flatbuffers/
│   │           │   │       └── app/
│   │           │   │           └── MainActivity.kt
│   │           │   └── generated/
│   │           │       └── com/
│   │           │           └── fbs/
│   │           │               └── app/
│   │           │                   └── Animal.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   └── ic_launcher_background.xml
│   │               ├── drawable-v24/
│   │               │   └── ic_launcher_foreground.xml
│   │               ├── layout/
│   │               │   └── activity_main.xml
│   │               ├── mipmap-anydpi-v26/
│   │               │   ├── ic_launcher.xml
│   │               │   └── ic_launcher_round.xml
│   │               └── values/
│   │                   ├── colors.xml
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── bazel/
│   └── BUILD.bazel
├── benchmarks/
│   ├── CMakeLists.txt
│   ├── cpp/
│   │   ├── bench.h
│   │   ├── benchmark_main.cpp
│   │   ├── flatbuffers/
│   │   │   ├── bench.fbs
│   │   │   ├── bench_generated.h
│   │   │   ├── fb_bench.cpp
│   │   │   └── fb_bench.h
│   │   └── raw/
│   │       ├── raw_bench.cpp
│   │       └── raw_bench.h
│   └── swift/
│       ├── Benchmarks/
│       │   └── FlatbuffersBenchmarks/
│       │       └── FlatbuffersBenchmarks.swift
│       ├── Package.swift
│       └── README.md
├── build_defs.bzl
├── composer.json
├── dart/
│   ├── CHANGELOG.md
│   ├── LICENSE
│   ├── README.md
│   ├── analysis_options.yaml
│   ├── example/
│   │   ├── example.dart
│   │   └── monster_my_game.sample_generated.dart
│   ├── lib/
│   │   ├── flat_buffers.dart
│   │   ├── flex_buffers.dart
│   │   └── src/
│   │       ├── builder.dart
│   │       ├── reference.dart
│   │       └── types.dart
│   ├── publish.sh
│   ├── pubspec.yaml
│   └── test/
│       ├── bool_structs.fbs
│       ├── bool_structs_generated.dart
│       ├── enums.fbs
│       ├── enums_generated.dart
│       ├── flat_buffers_test.dart
│       ├── flex_builder_test.dart
│       ├── flex_reader_test.dart
│       ├── flex_types_test.dart
│       ├── include_test1_generated.dart
│       ├── include_test2_my_game.other_name_space_generated.dart
│       ├── keyword_test_keyword_test_generated.dart
│       ├── monster_test.fbs
│       ├── monster_test_my_game.example2_generated.dart
│       ├── monster_test_my_game.example_generated.dart
│       ├── monster_test_my_game_generated.dart
│       └── monsterdata_test.mon
├── docs/
│   ├── README.md
│   ├── mkdocs.yml
│   ├── overrides/
│   │   ├── 404.html
│   │   └── main.html
│   └── source/
│       ├── CNAME
│       ├── annotation.md
│       ├── benchmarks.md
│       ├── building.md
│       ├── contributing.md
│       ├── evolution.md
│       ├── flatc.md
│       ├── flexbuffers.md
│       ├── grammar.md
│       ├── index.md
│       ├── intermediate_representation.md
│       ├── internals.md
│       ├── languages/
│       │   ├── c.md
│       │   ├── c_sharp.md
│       │   ├── cpp.md
│       │   ├── dart.md
│       │   ├── go.md
│       │   ├── java.md
│       │   ├── javascript.md
│       │   ├── kotlin.md
│       │   ├── lobster.md
│       │   ├── lua.md
│       │   ├── php.md
│       │   ├── python.md
│       │   ├── rust.md
│       │   ├── swift.md
│       │   └── typescript.md
│       ├── quick_start.md
│       ├── schema.md
│       ├── support.md
│       ├── tutorial.md
│       └── white_paper.md
├── eslint.config.mjs
├── examples/
│   └── go-echo/
│       ├── README.md
│       ├── client/
│       │   └── client.go
│       ├── go.mod
│       ├── hero/
│       │   └── Warrior.go
│       ├── hero.fbs
│       ├── net/
│       │   ├── Request.go
│       │   └── Response.go
│       ├── net.fbs
│       └── server/
│           └── server.go
├── extensions.bzl
├── go/
│   ├── BUILD.bazel
│   ├── builder.go
│   ├── doc.go
│   ├── encode.go
│   ├── grpc.go
│   ├── lib.go
│   ├── sizes.go
│   ├── struct.go
│   └── table.go
├── goldens/
│   ├── README.md
│   ├── cpp/
│   │   ├── basic_generated.h
│   │   └── generate.py
│   ├── csharp/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.cs
│   │   │       └── Universe.cs
│   │   └── generate.py
│   ├── dart/
│   │   ├── basic_flatbuffers.goldens_generated.dart
│   │   └── generate.py
│   ├── generate_goldens.py
│   ├── go/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.go
│   │   │       └── Universe.go
│   │   └── generate.py
│   ├── golden_utils.py
│   ├── java/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.java
│   │   │       └── Universe.java
│   │   └── generate.py
│   ├── kotlin/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.kt
│   │   │       └── Universe.kt
│   │   └── generate.py
│   ├── lobster/
│   │   ├── basic_generated.lobster
│   │   └── generate.py
│   ├── lua/
│   │   ├── Galaxy.lua
│   │   ├── Universe.lua
│   │   └── generate.py
│   ├── nim/
│   │   ├── Galaxy.nim
│   │   ├── Universe.nim
│   │   └── generate.py
│   ├── php/
│   │   ├── flatbuffers/
│   │   │   └── goldens/
│   │   │       ├── Galaxy.php
│   │   │       └── Universe.php
│   │   └── generate.py
│   ├── py/
│   │   ├── __init__.py
│   │   ├── flatbuffers/
│   │   │   ├── __init__.py
│   │   │   └── goldens/
│   │   │       ├── Galaxy.py
│   │   │       ├── Universe.py
│   │   │       └── __init__.py
│   │   └── generate.py
│   ├── rust/
│   │   ├── basic_generated.rs
│   │   └── generate.py
│   ├── schema/
│   │   └── basic.fbs
│   ├── swift/
│   │   ├── __init__.py
│   │   ├── basic_generated.swift
│   │   └── generate.py
│   └── ts/
│       ├── basic.ts
│       ├── flatbuffers/
│       │   ├── goldens/
│       │   │   ├── galaxy.ts
│       │   │   └── universe.ts
│       │   └── goldens.ts
│       └── generate.py
├── grpc/
│   ├── BUILD.bazel
│   ├── README.md
│   ├── boringssl.patch
│   ├── build_grpc.sh
│   ├── build_grpc_with_cxx14.patch
│   ├── examples/
│   │   ├── README.md
│   │   ├── go/
│   │   │   ├── format.sh
│   │   │   └── greeter/
│   │   │       ├── .gitignore
│   │   │       ├── README.md
│   │   │       └── models/
│   │   │           ├── Greeter_grpc.go
│   │   │           ├── HelloReply.go
│   │   │           ├── HelloRequest.go
│   │   │           └── go.mod
│   │   ├── greeter.fbs
│   │   ├── python/
│   │   │   └── greeter/
│   │   │       ├── README.md
│   │   │       ├── client.py
│   │   │       ├── greeter_grpc.fb.py
│   │   │       ├── models/
│   │   │       │   ├── HelloReply.py
│   │   │       │   ├── HelloRequest.py
│   │   │       │   ├── __init__.py
│   │   │       │   └── greeter_grpc_fb.py
│   │   │       └── server.py
│   │   ├── swift/
│   │   │   └── Greeter/
│   │   │       ├── Package.swift
│   │   │       ├── README.md
│   │   │       └── Sources/
│   │   │           ├── Model/
│   │   │           │   ├── greeter.grpc.swift
│   │   │           │   └── greeter_generated.swift
│   │   │           ├── client/
│   │   │           │   └── main.swift
│   │   │           └── server/
│   │   │               └── main.swift
│   │   └── ts/
│   │       └── greeter/
│   │           ├── README.md
│   │           ├── package.json
│   │           ├── src/
│   │           │   ├── client.ts
│   │           │   ├── greeter.ts
│   │           │   ├── greeter_generated.ts
│   │           │   ├── greeter_grpc.d.ts
│   │           │   ├── greeter_grpc.js
│   │           │   ├── models/
│   │           │   │   ├── hello-reply.ts
│   │           │   │   └── hello-request.ts
│   │           │   ├── models.ts
│   │           │   └── server.ts
│   │           └── tsconfig.json
│   ├── flatbuffers-java-grpc/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── google/
│   │                       └── flatbuffers/
│   │                           └── grpc/
│   │                               └── FlatbuffersUtils.java
│   ├── pom.xml
│   ├── samples/
│   │   └── greeter/
│   │       ├── client.cpp
│   │       ├── greeter.fbs
│   │       └── server.cpp
│   ├── src/
│   │   └── compiler/
│   │       ├── BUILD.bazel
│   │       ├── cpp_generator.cc
│   │       ├── cpp_generator.h
│   │       ├── go_generator.cc
│   │       ├── go_generator.h
│   │       ├── java_generator.cc
│   │       ├── java_generator.h
│   │       ├── python_generator.cc
│   │       ├── python_generator.h
│   │       ├── schema_interface.h
│   │       ├── swift_generator.cc
│   │       ├── swift_generator.h
│   │       ├── ts_generator.cc
│   │       └── ts_generator.h
│   └── tests/
│       ├── BUILD
│       ├── GameFactory.java
│       ├── JavaGrpcTest.java
│       ├── go_test.go
│       ├── grpctest.cpp
│       ├── grpctest.py
│       ├── grpctest_callback_client_compile.cpp
│       ├── grpctest_callback_compile.cpp
│       ├── java-grpc-test.sh
│       ├── message_builder_test.cpp
│       └── pom.xml
├── include/
│   ├── codegen/
│   │   ├── BUILD.bazel
│   │   ├── idl_namer.h
│   │   ├── namer.h
│   │   ├── python.cc
│   │   └── python.h
│   └── flatbuffers/
│       ├── allocator.h
│       ├── array.h
│       ├── base.h
│       ├── buffer.h
│       ├── buffer_ref.h
│       ├── code_generator.h
│       ├── code_generators.h
│       ├── default_allocator.h
│       ├── detached_buffer.h
│       ├── file_manager.h
│       ├── flatbuffer_builder.h
│       ├── flatbuffers.h
│       ├── flatc.h
│       ├── flex_flat_util.h
│       ├── flexbuffers.h
│       ├── grpc.h
│       ├── hash.h
│       ├── idl.h
│       ├── minireflect.h
│       ├── pch/
│       │   ├── flatc_pch.h
│       │   └── pch.h
│       ├── reflection.h
│       ├── reflection_generated.h
│       ├── registry.h
│       ├── stl_emulation.h
│       ├── string.h
│       ├── struct.h
│       ├── table.h
│       ├── util.h
│       ├── vector.h
│       ├── vector_downward.h
│       └── verifier.h
├── java/
│   ├── pom.xml
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── google/
│       │               └── flatbuffers/
│       │                   ├── ArrayReadWriteBuf.java
│       │                   ├── BaseVector.java
│       │                   ├── BooleanVector.java
│       │                   ├── ByteBufferReadWriteBuf.java
│       │                   ├── ByteBufferUtil.java
│       │                   ├── ByteVector.java
│       │                   ├── Constants.java
│       │                   ├── DoubleVector.java
│       │                   ├── FlatBufferBuilder.java
│       │                   ├── FlexBuffers.java
│       │                   ├── FlexBuffersBuilder.java
│       │                   ├── FloatVector.java
│       │                   ├── IntVector.java
│       │                   ├── LongVector.java
│       │                   ├── ReadBuf.java
│       │                   ├── ReadWriteBuf.java
│       │                   ├── ShortVector.java
│       │                   ├── StringVector.java
│       │                   ├── Struct.java
│       │                   ├── Table.java
│       │                   ├── UnionVector.java
│       │                   ├── Utf8.java
│       │                   ├── Utf8Old.java
│       │                   ├── Utf8Safe.java
│       │                   └── reflection/
│       │                       ├── AdvancedFeatures.java
│       │                       ├── BaseType.java
│       │                       ├── Enum.java
│       │                       ├── EnumVal.java
│       │                       ├── Field.java
│       │                       ├── KeyValue.java
│       │                       ├── Object.java
│       │                       ├── RPCCall.java
│       │                       ├── Schema.java
│       │                       ├── SchemaFile.java
│       │                       ├── Service.java
│       │                       └── Type.java
│       └── test/
│           ├── java/
│           │   └── JavaTest.java
│           └── resources/
│               └── monsterdata_test.mon
├── js/
│   └── README.md
├── kotlin/
│   ├── benchmark/
│   │   ├── build.gradle.kts
│   │   ├── monster_test_java.fbs
│   │   ├── monster_test_kotlin.fbs
│   │   └── src/
│   │       └── jvmMain/
│   │           └── kotlin/
│   │               └── com/
│   │                   └── google/
│   │                       └── flatbuffers/
│   │                           └── kotlin/
│   │                               └── benchmark/
│   │                                   ├── FlatbufferBenchmark.kt
│   │                                   ├── FlexBuffersBenchmark.kt
│   │                                   ├── JsonBenchmark.kt
│   │                                   └── UTF8Benchmark.kt
│   ├── build.gradle.kts
│   ├── convention-plugins/
│   │   ├── build.gradle.kts
│   │   └── src/
│   │       └── main/
│   │           └── kotlin/
│   │               └── convention.publication.gradle.kts
│   ├── flatbuffers-kotlin/
│   │   ├── build.gradle.kts
│   │   └── src/
│   │       ├── commonMain/
│   │       │   └── kotlin/
│   │       │       └── com/
│   │       │           └── google/
│   │       │               └── flatbuffers/
│   │       │                   └── kotlin/
│   │       │                       ├── Buffers.kt
│   │       │                       ├── ByteArray.kt
│   │       │                       ├── FlatBufferBuilder.kt
│   │       │                       ├── Flatbuffers.kt
│   │       │                       ├── FlexBuffers.kt
│   │       │                       ├── FlexBuffersBuilder.kt
│   │       │                       ├── FlexBuffersInternals.kt
│   │       │                       ├── Utf8.kt
│   │       │                       └── json.kt
│   │       ├── commonTest/
│   │       │   └── kotlin/
│   │       │       └── com/
│   │       │           └── google/
│   │       │               └── flatbuffers/
│   │       │                   └── kotlin/
│   │       │                       ├── Asserts.kt
│   │       │                       ├── BuffersTest.kt
│   │       │                       ├── ByteArrayTest.kt
│   │       │                       ├── FlatBufferBuilderTest.kt
│   │       │                       ├── FlexBuffersTest.kt
│   │       │                       └── JSONTest.kt
│   │       ├── jsMain/
│   │       │   └── kotlin/
│   │       │       └── com/
│   │       │           └── google/
│   │       │               └── flatbuffers/
│   │       │                   └── kotlin/
│   │       │                       └── ByteArray.kt
│   │       ├── jvmMain/
│   │       │   └── kotlin/
│   │       │       └── com/
│   │       │           └── google/
│   │       │               └── flatbuffers/
│   │       │                   └── kotlin/
│   │       │                       └── ByteArray.kt
│   │       ├── jvmTest/
│   │       │   ├── kotlin/
│   │       │   │   └── com/
│   │       │   │       └── google/
│   │       │   │           └── flatbuffers/
│   │       │   │               └── kotlin/
│   │       │   │                   └── Utf8Test.kt
│   │       │   └── resources/
│   │       │       └── utf8_sample.txt
│   │       └── nativeMain/
│   │           └── kotlin/
│   │               └── com/
│   │                   └── google/
│   │                       └── flatbuffers/
│   │                           └── kotlin/
│   │                               └── ByteArray.kt
│   ├── gradle/
│   │   ├── libs.versions.toml
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle.kts
│   └── spotless/
│       └── spotless.kt
├── library.json
├── lobster/
│   └── flatbuffers.lobster
├── lua/
│   ├── flatbuffers/
│   │   ├── binaryarray.lua
│   │   ├── builder.lua
│   │   ├── compat.lua
│   │   ├── compat_5_1.lua
│   │   ├── compat_5_3.lua
│   │   ├── compat_luajit.lua
│   │   ├── numTypes.lua
│   │   └── view.lua
│   └── flatbuffers.lua
├── mjs/
│   └── README.md
├── net/
│   └── FlatBuffers/
│       ├── ByteBuffer.cs
│       ├── ByteBufferUtil.cs
│       ├── FlatBufferBuilder.cs
│       ├── FlatBufferConstants.cs
│       ├── FlatBufferVerify.cs
│       ├── Google.FlatBuffers.csproj
│       ├── IFlatbufferObject.cs
│       ├── Offset.cs
│       ├── Struct.cs
│       ├── Table.cs
│       └── flatbuffers.snk
├── nim/
│   ├── flatbuffers/
│   │   ├── flatbuffers.nim
│   │   └── src/
│   │       ├── builder.nim
│   │       ├── endian.nim
│   │       ├── struct.nim
│   │       └── table.nim
│   └── flatbuffers.nimble
├── package.json
├── php/
│   ├── ByteBuffer.php
│   ├── Constants.php
│   ├── FlatbufferBuilder.php
│   ├── Struct.php
│   └── Table.php
├── python/
│   ├── .gitignore
│   ├── __init__.py
│   ├── flatbuffers/
│   │   ├── __init__.py
│   │   ├── _version.py
│   │   ├── builder.py
│   │   ├── compat.py
│   │   ├── encode.py
│   │   ├── flexbuffers.py
│   │   ├── number_types.py
│   │   ├── packer.py
│   │   ├── reflection/
│   │   │   ├── AdvancedFeatures.py
│   │   │   ├── BaseType.py
│   │   │   ├── Enum.py
│   │   │   ├── EnumVal.py
│   │   │   ├── Field.py
│   │   │   ├── KeyValue.py
│   │   │   ├── Object.py
│   │   │   ├── RPCCall.py
│   │   │   ├── Schema.py
│   │   │   ├── SchemaFile.py
│   │   │   ├── Service.py
│   │   │   ├── Type.py
│   │   │   └── __init__.py
│   │   ├── table.py
│   │   └── util.py
│   ├── py.typed
│   ├── setup.cfg
│   └── setup.py
├── reflection/
│   ├── BUILD.bazel
│   ├── reflection.fbs
│   └── ts/
│       └── BUILD.bazel
├── rust/
│   ├── flatbuffers/
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── build.rs
│   │   └── src/
│   │       ├── array.rs
│   │       ├── builder.rs
│   │       ├── endian_scalar.rs
│   │       ├── follow.rs
│   │       ├── get_root.rs
│   │       ├── lib.rs
│   │       ├── primitives.rs
│   │       ├── push.rs
│   │       ├── table.rs
│   │       ├── vector.rs
│   │       ├── verifier.rs
│   │       ├── vtable.rs
│   │       └── vtable_writer.rs
│   ├── flexbuffers/
│   │   ├── .gitignore
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   └── src/
│   │       ├── bitwidth.rs
│   │       ├── buffer.rs
│   │       ├── builder/
│   │       │   ├── map.rs
│   │       │   ├── mod.rs
│   │       │   ├── push.rs
│   │       │   ├── ser.rs
│   │       │   ├── value.rs
│   │       │   └── vector.rs
│   │       ├── flexbuffer_type.rs
│   │       ├── lib.rs
│   │       └── reader/
│   │           ├── de.rs
│   │           ├── iter.rs
│   │           ├── map.rs
│   │           ├── mod.rs
│   │           ├── serialize.rs
│   │           └── vector.rs
│   └── reflection/
│       ├── .gitignore
│       ├── Cargo.toml
│       └── src/
│           ├── lib.rs
│           ├── reflection_generated.rs
│           ├── reflection_verifier.rs
│           ├── safe_buffer.rs
│           └── struct.rs
├── samples/
│   ├── SampleBinary.cs
│   ├── SampleBinary.java
│   ├── SampleBinary.kt
│   ├── SampleBinary.php
│   ├── csharp_sample.sh
│   ├── dart_sample.sh
│   ├── go.mod
│   ├── go_sample.sh
│   ├── java_sample.sh
│   ├── javascript_sample.sh
│   ├── kotlin_sample.sh
│   ├── lua/
│   │   └── MyGame/
│   │       └── Sample/
│   │           ├── Color.lua
│   │           ├── Equipment.lua
│   │           ├── Monster.lua
│   │           ├── Vec3.lua
│   │           └── Weapon.lua
│   ├── monster.bfbs
│   ├── monster.fbs
│   ├── monster_generated.h
│   ├── monster_generated.lobster
│   ├── monster_generated.swift
│   ├── monsterdata.json
│   ├── php_sample.sh
│   ├── python_sample.sh
│   ├── rust_generated/
│   │   ├── mod.rs
│   │   └── my_game/
│   │       └── sample/
│   │           ├── color_generated.rs
│   │           ├── equipment_generated.rs
│   │           ├── monster_generated.rs
│   │           ├── vec_3_generated.rs
│   │           └── weapon_generated.rs
│   ├── sample_bfbs.cpp
│   ├── sample_binary.cpp
│   ├── sample_binary.go
│   ├── sample_binary.lobster
│   ├── sample_binary.lua
│   ├── sample_binary.py
│   ├── sample_binary.rs
│   ├── sample_binary.swift
│   ├── sample_flexbuffers.rs
│   ├── sample_flexbuffers_serde.rs
│   ├── sample_text.cpp
│   └── sample_text.lobster
├── scripts/
│   ├── check-grpc-generated-code.py
│   ├── check_generate_code.py
│   ├── clang-format-all.sh
│   ├── clang-format-git.sh
│   ├── clang-tidy-git.sh
│   ├── generate_code.py
│   ├── generate_grpc_examples.py
│   ├── release.sh
│   └── util.py
├── snap/
│   └── snapcraft.yaml
├── src/
│   ├── BUILD.bazel
│   ├── annotated_binary_text_gen.cpp
│   ├── annotated_binary_text_gen.h
│   ├── bfbs_gen.h
│   ├── bfbs_gen_lua.cpp
│   ├── bfbs_gen_lua.h
│   ├── bfbs_gen_nim.cpp
│   ├── bfbs_gen_nim.h
│   ├── bfbs_namer.h
│   ├── binary_annotator.cpp
│   ├── binary_annotator.h
│   ├── code_generators.cpp
│   ├── file_manager.cpp
│   ├── file_name_manager.cpp
│   ├── flatc.cpp
│   ├── flatc_main.cpp
│   ├── flathash.cpp
│   ├── idl_gen_binary.cpp
│   ├── idl_gen_binary.h
│   ├── idl_gen_cpp.cpp
│   ├── idl_gen_cpp.h
│   ├── idl_gen_csharp.cpp
│   ├── idl_gen_csharp.h
│   ├── idl_gen_dart.cpp
│   ├── idl_gen_dart.h
│   ├── idl_gen_fbs.cpp
│   ├── idl_gen_fbs.h
│   ├── idl_gen_go.cpp
│   ├── idl_gen_go.h
│   ├── idl_gen_grpc.cpp
│   ├── idl_gen_java.cpp
│   ├── idl_gen_java.h
│   ├── idl_gen_json_schema.cpp
│   ├── idl_gen_json_schema.h
│   ├── idl_gen_kotlin.cpp
│   ├── idl_gen_kotlin.h
│   ├── idl_gen_kotlin_kmp.cpp
│   ├── idl_gen_lobster.cpp
│   ├── idl_gen_lobster.h
│   ├── idl_gen_php.cpp
│   ├── idl_gen_php.h
│   ├── idl_gen_python.cpp
│   ├── idl_gen_python.h
│   ├── idl_gen_rust.cpp
│   ├── idl_gen_rust.h
│   ├── idl_gen_swift.cpp
│   ├── idl_gen_swift.h
│   ├── idl_gen_text.cpp
│   ├── idl_gen_text.h
│   ├── idl_gen_ts.cpp
│   ├── idl_gen_ts.h
│   ├── idl_namer.h
│   ├── idl_parser.cpp
│   ├── namer.h
│   ├── reflection.cpp
│   └── util.cpp
├── swift/
│   ├── BUILD.bazel
│   ├── LICENSE
│   ├── README.md
│   └── Sources/
│       ├── Common/
│       │   ├── Int+extension.swift
│       │   ├── Scalar.swift
│       │   └── padding.swift
│       ├── FlatBuffers/
│       │   ├── ByteBuffer.swift
│       │   ├── Constants.swift
│       │   ├── Documentation.docc/
│       │   │   ├── Documentation.md
│       │   │   ├── Resources/
│       │   │   │   └── code/
│       │   │   │       ├── fbs/
│       │   │   │       │   ├── monster_step_1.fbs
│       │   │   │       │   ├── monster_step_2.fbs
│       │   │   │       │   ├── monster_step_3.fbs
│       │   │   │       │   ├── monster_step_4.fbs
│       │   │   │       │   ├── monster_step_5.fbs
│       │   │   │       │   ├── monster_step_6.fbs
│       │   │   │       │   └── monster_step_7.fbs
│       │   │   │       └── swift/
│       │   │   │           ├── swift_code_1.swift
│       │   │   │           ├── swift_code_10.swift
│       │   │   │           ├── swift_code_11.swift
│       │   │   │           ├── swift_code_12.swift
│       │   │   │           ├── swift_code_13.swift
│       │   │   │           ├── swift_code_2.swift
│       │   │   │           ├── swift_code_3.swift
│       │   │   │           ├── swift_code_4.swift
│       │   │   │           ├── swift_code_5.swift
│       │   │   │           ├── swift_code_6.swift
│       │   │   │           ├── swift_code_7.swift
│       │   │   │           ├── swift_code_8.swift
│       │   │   │           └── swift_code_9.swift
│       │   │   └── Tutorials/
│       │   │       ├── Tutorial_Table_of_Contents.tutorial
│       │   │       ├── create_your_first_buffer.tutorial
│       │   │       ├── creating_flatbuffer_schema.tutorial
│       │   │       └── reading_bytebuffer.tutorial
│       │   ├── Enum.swift
│       │   ├── FlatBufferBuilder.swift
│       │   ├── FlatBufferObject.swift
│       │   ├── FlatBuffersUtils.swift
│       │   ├── FlatbuffersErrors.swift
│       │   ├── Message.swift
│       │   ├── Mutable.swift
│       │   ├── NativeObject.swift
│       │   ├── Offset.swift
│       │   ├── Root.swift
│       │   ├── String+extension.swift
│       │   ├── Struct.swift
│       │   ├── Table.swift
│       │   ├── TableVerifier.swift
│       │   ├── Vectors/
│       │   │   ├── FlatbufferVector.swift
│       │   │   ├── FlatbuffersVectorInitializable.swift
│       │   │   └── UnionFlatbufferVector.swift
│       │   ├── VeriferOptions.swift
│       │   ├── Verifiable.swift
│       │   ├── Verifier.swift
│       │   └── _InternalByteBuffer.swift
│       └── FlexBuffers/
│           ├── ByteBuffer.swift
│           ├── FlexBufferType.swift
│           ├── Reader/
│           │   ├── FixedTypedVector.swift
│           │   ├── FlexBufferVector.swift
│           │   ├── Map.swift
│           │   ├── Reference.swift
│           │   ├── Sized.swift
│           │   ├── TypedVector.swift
│           │   └── Vector.swift
│           ├── Utils/
│           │   ├── BitWidth.swift
│           │   ├── Constants.swift
│           │   ├── Value.swift
│           │   └── functions.swift
│           ├── Writer/
│           │   └── FlexBuffersWriter.swift
│           └── _InternalByteBuffer.swift
├── swift.swiftformat
├── tests/
│   ├── .gitignore
│   ├── 64bit/
│   │   ├── evolution/
│   │   │   ├── v1.fbs
│   │   │   └── v2.fbs
│   │   ├── offset64_test.cpp
│   │   ├── offset64_test.h
│   │   ├── test_64bit.afb
│   │   ├── test_64bit.bfbs
│   │   ├── test_64bit.fbs
│   │   └── test_64bit.json
│   ├── Abc.nim
│   ├── BUILD.bazel
│   ├── DartTest.sh
│   ├── DictionaryLookup/
│   │   ├── LongFloatEntry.java
│   │   ├── LongFloatEntry.kt
│   │   ├── LongFloatMap.java
│   │   └── LongFloatMap.kt
│   ├── FlatBuffers.Benchmarks/
│   │   ├── FlatBufferBuilderBenchmark.cs
│   │   ├── FlatBuffers.Benchmarks.csproj
│   │   └── Program.cs
│   ├── FlatBuffers.Test/
│   │   ├── .gitignore
│   │   ├── Assert.cs
│   │   ├── ByteBufferTests.cs
│   │   ├── FlatBufferBuilderTests.cs
│   │   ├── FlatBuffers.Test.csproj
│   │   ├── FlatBuffersExampleTests.cs
│   │   ├── FlatBuffersFixedLengthArrayTests.cs
│   │   ├── FlatBuffersFuzzTests.cs
│   │   ├── FlatBuffersTestClassAttribute.cs
│   │   ├── FlatBuffersTestMethodAttribute.cs
│   │   ├── FuzzTestData.cs
│   │   ├── Lcg.cs
│   │   ├── NetTest.bat
│   │   ├── NetTest.sh
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── README.md
│   │   ├── TestTable.cs
│   │   ├── clean.sh
│   │   ├── monsterdata_cstest.mon
│   │   ├── monsterdata_cstest_sp.mon
│   │   └── packages.config
│   ├── GoTest.sh
│   ├── KeywordTest/
│   │   ├── ABC.cs
│   │   ├── KeywordsInTable.cs
│   │   ├── KeywordsInUnion.cs
│   │   ├── Table2.cs
│   │   └── public.cs
│   ├── KotlinTest.kt
│   ├── KotlinTest.sh
│   ├── LobsterTest.bat
│   ├── LuaTest.bat
│   ├── LuaTest.sh
│   ├── MoreDefaults.nim
│   ├── MutatingBool.fbs
│   ├── MyGame/
│   │   ├── Example/
│   │   │   ├── Ability.cs
│   │   │   ├── Ability.go
│   │   │   ├── Ability.java
│   │   │   ├── Ability.kt
│   │   │   ├── Ability.lua
│   │   │   ├── Ability.nim
│   │   │   ├── Ability.php
│   │   │   ├── Ability.py
│   │   │   ├── AbilityT.java
│   │   │   ├── Any.cs
│   │   │   ├── Any.go
│   │   │   ├── Any.java
│   │   │   ├── Any.kt
│   │   │   ├── Any.lua
│   │   │   ├── Any.nim
│   │   │   ├── Any.php
│   │   │   ├── Any.py
│   │   │   ├── AnyAmbiguousAliases.cs
│   │   │   ├── AnyAmbiguousAliases.go
│   │   │   ├── AnyAmbiguousAliases.java
│   │   │   ├── AnyAmbiguousAliases.kt
│   │   │   ├── AnyAmbiguousAliases.lua
│   │   │   ├── AnyAmbiguousAliases.nim
│   │   │   ├── AnyAmbiguousAliases.php
│   │   │   ├── AnyAmbiguousAliases.py
│   │   │   ├── AnyAmbiguousAliasesUnion.java
│   │   │   ├── AnyUnion.java
│   │   │   ├── AnyUniqueAliases.cs
│   │   │   ├── AnyUniqueAliases.go
│   │   │   ├── AnyUniqueAliases.java
│   │   │   ├── AnyUniqueAliases.kt
│   │   │   ├── AnyUniqueAliases.lua
│   │   │   ├── AnyUniqueAliases.nim
│   │   │   ├── AnyUniqueAliases.php
│   │   │   ├── AnyUniqueAliases.py
│   │   │   ├── AnyUniqueAliasesUnion.java
│   │   │   ├── ArrayStruct.cs
│   │   │   ├── ArrayStruct.java
│   │   │   ├── ArrayStruct.py
│   │   │   ├── ArrayStruct.pyi
│   │   │   ├── ArrayStructT.java
│   │   │   ├── ArrayTable.cs
│   │   │   ├── ArrayTable.java
│   │   │   ├── ArrayTable.py
│   │   │   ├── ArrayTable.pyi
│   │   │   ├── ArrayTableT.java
│   │   │   ├── Color.cs
│   │   │   ├── Color.go
│   │   │   ├── Color.java
│   │   │   ├── Color.kt
│   │   │   ├── Color.lua
│   │   │   ├── Color.nim
│   │   │   ├── Color.php
│   │   │   ├── Color.py
│   │   │   ├── LargeArrayStruct.cs
│   │   │   ├── LargeArrayStruct.java
│   │   │   ├── LargeArrayStruct.py
│   │   │   ├── LargeArrayStruct.pyi
│   │   │   ├── LargeArrayStructT.java
│   │   │   ├── LongEnum.cs
│   │   │   ├── LongEnum.go
│   │   │   ├── LongEnum.java
│   │   │   ├── LongEnum.kt
│   │   │   ├── LongEnum.lua
│   │   │   ├── LongEnum.nim
│   │   │   ├── LongEnum.php
│   │   │   ├── LongEnum.py
│   │   │   ├── Monster.cs
│   │   │   ├── Monster.go
│   │   │   ├── Monster.java
│   │   │   ├── Monster.kt
│   │   │   ├── Monster.lua
│   │   │   ├── Monster.nim
│   │   │   ├── Monster.php
│   │   │   ├── Monster.py
│   │   │   ├── MonsterStorageGrpc.java
│   │   │   ├── MonsterStorage_grpc.go
│   │   │   ├── MonsterT.java
│   │   │   ├── NestedStruct.cs
│   │   │   ├── NestedStruct.java
│   │   │   ├── NestedStruct.py
│   │   │   ├── NestedStruct.pyi
│   │   │   ├── NestedStructT.java
│   │   │   ├── NestedUnion/
│   │   │   │   ├── Any.py
│   │   │   │   ├── Any.pyi
│   │   │   │   ├── Color.py
│   │   │   │   ├── Color.pyi
│   │   │   │   ├── NestedUnionTest.py
│   │   │   │   ├── NestedUnionTest.pyi
│   │   │   │   ├── Test.py
│   │   │   │   ├── Test.pyi
│   │   │   │   ├── TestSimpleTableWithEnum.py
│   │   │   │   ├── TestSimpleTableWithEnum.pyi
│   │   │   │   ├── Vec3.py
│   │   │   │   ├── Vec3.pyi
│   │   │   │   └── __init__.py
│   │   │   ├── Race.cs
│   │   │   ├── Race.go
│   │   │   ├── Race.java
│   │   │   ├── Race.kt
│   │   │   ├── Race.lua
│   │   │   ├── Race.nim
│   │   │   ├── Race.php
│   │   │   ├── Race.py
│   │   │   ├── Referrable.cs
│   │   │   ├── Referrable.go
│   │   │   ├── Referrable.java
│   │   │   ├── Referrable.kt
│   │   │   ├── Referrable.lua
│   │   │   ├── Referrable.nim
│   │   │   ├── Referrable.php
│   │   │   ├── Referrable.py
│   │   │   ├── ReferrableT.java
│   │   │   ├── Stat.cs
│   │   │   ├── Stat.go
│   │   │   ├── Stat.java
│   │   │   ├── Stat.kt
│   │   │   ├── Stat.lua
│   │   │   ├── Stat.nim
│   │   │   ├── Stat.php
│   │   │   ├── Stat.py
│   │   │   ├── StatT.java
│   │   │   ├── StructOfStructs.cs
│   │   │   ├── StructOfStructs.go
│   │   │   ├── StructOfStructs.java
│   │   │   ├── StructOfStructs.kt
│   │   │   ├── StructOfStructs.lua
│   │   │   ├── StructOfStructs.nim
│   │   │   ├── StructOfStructs.php
│   │   │   ├── StructOfStructs.py
│   │   │   ├── StructOfStructsOfStructs.cs
│   │   │   ├── StructOfStructsOfStructs.go
│   │   │   ├── StructOfStructsOfStructs.java
│   │   │   ├── StructOfStructsOfStructs.kt
│   │   │   ├── StructOfStructsOfStructs.lua
│   │   │   ├── StructOfStructsOfStructs.nim
│   │   │   ├── StructOfStructsOfStructs.php
│   │   │   ├── StructOfStructsOfStructs.py
│   │   │   ├── StructOfStructsOfStructsT.java
│   │   │   ├── StructOfStructsT.java
│   │   │   ├── Test.cs
│   │   │   ├── Test.go
│   │   │   ├── Test.java
│   │   │   ├── Test.kt
│   │   │   ├── Test.lua
│   │   │   ├── Test.nim
│   │   │   ├── Test.php
│   │   │   ├── Test.py
│   │   │   ├── TestEnum.cs
│   │   │   ├── TestEnum.java
│   │   │   ├── TestEnum.kt
│   │   │   ├── TestEnum.py
│   │   │   ├── TestEnum.pyi
│   │   │   ├── TestSimpleTableWithEnum.cs
│   │   │   ├── TestSimpleTableWithEnum.go
│   │   │   ├── TestSimpleTableWithEnum.java
│   │   │   ├── TestSimpleTableWithEnum.kt
│   │   │   ├── TestSimpleTableWithEnum.lua
│   │   │   ├── TestSimpleTableWithEnum.nim
│   │   │   ├── TestSimpleTableWithEnum.php
│   │   │   ├── TestSimpleTableWithEnum.py
│   │   │   ├── TestSimpleTableWithEnumT.java
│   │   │   ├── TestT.java
│   │   │   ├── TypeAliases.cs
│   │   │   ├── TypeAliases.go
│   │   │   ├── TypeAliases.java
│   │   │   ├── TypeAliases.kt
│   │   │   ├── TypeAliases.lua
│   │   │   ├── TypeAliases.nim
│   │   │   ├── TypeAliases.php
│   │   │   ├── TypeAliases.py
│   │   │   ├── TypeAliasesT.java
│   │   │   ├── Vec3.cs
│   │   │   ├── Vec3.go
│   │   │   ├── Vec3.java
│   │   │   ├── Vec3.kt
│   │   │   ├── Vec3.lua
│   │   │   ├── Vec3.nim
│   │   │   ├── Vec3.php
│   │   │   ├── Vec3.py
│   │   │   ├── Vec3T.java
│   │   │   ├── __init__.py
│   │   │   └── monster_test_grpc_fb.py
│   │   ├── Example2/
│   │   │   ├── Monster.cs
│   │   │   ├── Monster.go
│   │   │   ├── Monster.java
│   │   │   ├── Monster.kt
│   │   │   ├── Monster.lua
│   │   │   ├── Monster.nim
│   │   │   ├── Monster.php
│   │   │   ├── Monster.py
│   │   │   ├── MonsterT.java
│   │   │   └── __init__.py
│   │   ├── InParentNamespace.cs
│   │   ├── InParentNamespace.go
│   │   ├── InParentNamespace.java
│   │   ├── InParentNamespace.kt
│   │   ├── InParentNamespace.lua
│   │   ├── InParentNamespace.nim
│   │   ├── InParentNamespace.php
│   │   ├── InParentNamespace.py
│   │   ├── InParentNamespaceT.java
│   │   ├── MonsterExtra.cs
│   │   ├── MonsterExtra.java
│   │   ├── MonsterExtra.kt
│   │   ├── MonsterExtra.py
│   │   ├── MonsterExtra.pyi
│   │   ├── MonsterExtraT.java
│   │   ├── OtherNameSpace/
│   │   │   ├── FromInclude.lua
│   │   │   ├── FromInclude.nim
│   │   │   ├── TableB.lua
│   │   │   ├── TableB.nim
│   │   │   ├── TableBT.java
│   │   │   ├── Unused.lua
│   │   │   ├── Unused.nim
│   │   │   └── UnusedT.java
│   │   └── __init__.py
│   ├── Pizza.go
│   ├── Property.nim
│   ├── PythonTest.sh
│   ├── RustTest.bat
│   ├── RustTest.sh
│   ├── TableA.lua
│   ├── TableA.nim
│   ├── TableAT.java
│   ├── TestAll.sh
│   ├── TestMutatingBool.nim
│   ├── alignment_test.cpp
│   ├── alignment_test.fbs
│   ├── alignment_test.h
│   ├── alignment_test.json
│   ├── alignment_test_after_fix.afb
│   ├── alignment_test_before_fix.afb
│   ├── annotated_binary/
│   │   ├── README.md
│   │   ├── annotated_binary.afb
│   │   ├── annotated_binary.bfbs
│   │   ├── annotated_binary.fbs
│   │   ├── annotated_binary.json
│   │   ├── annotated_binary_old.afb
│   │   ├── annotated_binary_old.fbs
│   │   ├── generate_annotations.py
│   │   └── tests/
│   │       ├── README.md
│   │       ├── invalid_root_offset.afb
│   │       ├── invalid_root_table_too_short.afb
│   │       ├── invalid_root_table_vtable_offset.afb
│   │       ├── invalid_string_length.afb
│   │       ├── invalid_string_length_cut_short.afb
│   │       ├── invalid_struct_array_field_cut_short.afb
│   │       ├── invalid_struct_field_cut_short.afb
│   │       ├── invalid_table_field_offset.afb
│   │       ├── invalid_table_field_size.afb
│   │       ├── invalid_union_type_value.afb
│   │       ├── invalid_vector_length_cut_short.afb
│   │       ├── invalid_vector_scalars_cut_short.afb
│   │       ├── invalid_vector_strings_cut_short.afb
│   │       ├── invalid_vector_structs_cut_short.afb
│   │       ├── invalid_vector_tables_cut_short.afb
│   │       ├── invalid_vector_union_type_value.afb
│   │       ├── invalid_vector_unions_cut_short.afb
│   │       ├── invalid_vtable_field_offset.afb
│   │       ├── invalid_vtable_ref_table_size.afb
│   │       ├── invalid_vtable_ref_table_size_short.afb
│   │       ├── invalid_vtable_size.afb
│   │       └── invalid_vtable_size_short.afb
│   ├── arrays_test/
│   │   ├── arrays_test_generated.rs
│   │   ├── mod.rs
│   │   └── my_game/
│   │       └── example/
│   │           ├── array_struct_generated.rs
│   │           ├── array_table_generated.rs
│   │           ├── large_array_struct_generated.rs
│   │           ├── nested_struct_generated.rs
│   │           └── test_enum_generated.rs
│   ├── arrays_test.bfbs
│   ├── arrays_test.fbs
│   ├── arrays_test.golden
│   ├── arrays_test.schema.json
│   ├── bazel_repository_test_dir/
│   │   ├── .bazelrc
│   │   ├── .gitignore
│   │   ├── BUILD
│   │   ├── MODULE.bazel
│   │   ├── README.md
│   │   └── pulls_in_flatbuffers_test.cpp
│   ├── cpp17/
│   │   ├── stringify_util.h
│   │   └── test_cpp17.cpp
│   ├── cross_namespace_pack_test.fbs
│   ├── default_vectors_strings_test.cpp
│   ├── default_vectors_strings_test.fbs
│   ├── default_vectors_strings_test.h
│   ├── dictionary_lookup.fbs
│   ├── docker/
│   │   ├── Dockerfile.testing.build_flatc_debian_stretch
│   │   ├── Dockerfile.testing.cpp.debian_buster
│   │   ├── TODO.Dockerfile.testing.php.hhvm_2019_01_16
│   │   ├── TODO.Dockerfile.testing.python.cpython_with_conda
│   │   ├── TODO.Dockerfile.testing.python.cpython_with_numpy
│   │   ├── TODO.Dockerfile.testing.python.pypy_6_0_0_py2
│   │   ├── TODO.Dockerfile.testing.python.pypy_6_0_0_py3
│   │   ├── build_flatc.run.sh
│   │   ├── cpp_test.run.sh
│   │   └── languages/
│   │       ├── Dockerfile.testing.csharp.mono_5_18
│   │       ├── Dockerfile.testing.golang.1_11
│   │       ├── Dockerfile.testing.java.openjdk_10_0_2
│   │       ├── Dockerfile.testing.java.openjdk_11_0_1
│   │       ├── Dockerfile.testing.node.12_20_1
│   │       ├── Dockerfile.testing.node.14_15_4
│   │       ├── Dockerfile.testing.php.zend_7_3
│   │       ├── Dockerfile.testing.python.cpython_2_7_15
│   │       ├── Dockerfile.testing.python.cpython_3_7_1
│   │       ├── Dockerfile.testing.python.numpy.cpython_2_7_15
│   │       ├── Dockerfile.testing.python.numpy.cpython_3_7_1
│   │       ├── Dockerfile.testing.rust.1_51_0
│   │       ├── Dockerfile.testing.rust.big_endian.1_51_0
│   │       ├── Dockerfile.testing.rust.nightly
│   │       └── Dockerfile.testing.swift_5_2
│   ├── even_more_defaults.fbs
│   ├── evolution_test/
│   │   ├── evolution_v1.fbs
│   │   ├── evolution_v1.json
│   │   ├── evolution_v2.fbs
│   │   └── evolution_v2.json
│   ├── evolution_test.cpp
│   ├── evolution_test.h
│   ├── flexbuffers_test.cpp
│   ├── flexbuffers_test.h
│   ├── fuzz_test.cpp
│   ├── fuzz_test.h
│   ├── fuzzer/
│   │   ├── .gitignore
│   │   ├── CMakeLists.txt
│   │   ├── codegen_json.dict
│   │   ├── flatbuffers_64bit_fuzzer.cc
│   │   ├── flatbuffers_annotator_fuzzer.cc
│   │   ├── flatbuffers_codegen_fuzzer.cc
│   │   ├── flatbuffers_monster_fuzzer.cc
│   │   ├── flatbuffers_parser_fuzzer.cc
│   │   ├── flatbuffers_scalar_fuzzer.cc
│   │   ├── flatbuffers_verifier_fuzzer.cc
│   │   ├── flexbuffers_verifier_fuzzer.cc
│   │   ├── fuzzer_assert.h
│   │   ├── monster_debug.cpp
│   │   ├── monster_fuzzer.dict
│   │   ├── parser_fuzzer.dict
│   │   ├── readme.md
│   │   ├── scalar_debug.cpp
│   │   ├── scalar_fuzzer.dict
│   │   ├── seed_codegen/
│   │   │   ├── attributes_test
│   │   │   ├── complex_schema
│   │   │   ├── empty_namespace
│   │   │   ├── enum_test
│   │   │   ├── monster_sample
│   │   │   ├── rpc_test
│   │   │   ├── struct_test
│   │   │   └── test_union
│   │   └── test_init.h
│   ├── go_test.go
│   ├── include_build_test.cc
│   ├── include_test/
│   │   ├── include_test1.fbs
│   │   ├── order.fbs
│   │   └── sub/
│   │       ├── include_test2.fbs
│   │       └── no_namespace.fbs
│   ├── include_test1/
│   │   ├── mod.rs
│   │   ├── my_game/
│   │   │   └── other_name_space/
│   │   │       ├── from_include_generated.rs
│   │   │       ├── table_b_generated.rs
│   │   │       └── unused_generated.rs
│   │   └── table_a_generated.rs
│   ├── include_test1_generated.dart
│   ├── include_test1_generated.rs
│   ├── include_test2/
│   │   ├── mod.rs
│   │   ├── my_game/
│   │   │   └── other_name_space/
│   │   │       ├── from_include_generated.rs
│   │   │       ├── table_b_generated.rs
│   │   │       └── unused_generated.rs
│   │   └── table_a_generated.rs
│   ├── include_test2_generated.rs
│   ├── include_test2_my_game.other_name_space_generated.dart
│   ├── included_test.fbs
│   ├── includer_test.fbs
│   ├── is_quiet_nan.h
│   ├── json_test.cpp
│   ├── json_test.h
│   ├── key_field/
│   │   └── key_field_sample.fbs
│   ├── key_field_test.cpp
│   ├── key_field_test.h
│   ├── keyword_test/
│   │   ├── keyword_test/
│   │   │   ├── abc_generated.rs
│   │   │   ├── keywords_in_table_generated.rs
│   │   │   ├── keywords_in_union_generated.rs
│   │   │   ├── public_generated.rs
│   │   │   └── table_2_generated.rs
│   │   └── mod.rs
│   ├── keyword_test.fbs
│   ├── lobstertest.lobster
│   ├── long_namespace.fbs
│   ├── longer_namespace.fbs
│   ├── luatest.lua
│   ├── minified_enums/
│   │   └── enums.fbs
│   ├── monster_extra.fbs
│   ├── monster_extra_my_game_generated.dart
│   ├── monster_test/
│   │   ├── mod.rs
│   │   ├── my_game/
│   │   │   ├── example/
│   │   │   │   ├── ability_generated.rs
│   │   │   │   ├── any_ambiguous_aliases_generated.rs
│   │   │   │   ├── any_generated.rs
│   │   │   │   ├── any_unique_aliases_generated.rs
│   │   │   │   ├── color_generated.rs
│   │   │   │   ├── long_enum_generated.rs
│   │   │   │   ├── monster_generated.rs
│   │   │   │   ├── race_generated.rs
│   │   │   │   ├── referrable_generated.rs
│   │   │   │   ├── stat_generated.rs
│   │   │   │   ├── struct_of_structs_generated.rs
│   │   │   │   ├── struct_of_structs_of_structs_generated.rs
│   │   │   │   ├── test_generated.rs
│   │   │   │   ├── test_simple_table_with_enum_generated.rs
│   │   │   │   ├── type_aliases_generated.rs
│   │   │   │   └── vec_3_generated.rs
│   │   │   ├── example_2/
│   │   │   │   └── monster_generated.rs
│   │   │   ├── in_parent_namespace_generated.rs
│   │   │   └── other_name_space/
│   │   │       ├── from_include_generated.rs
│   │   │       ├── table_b_generated.rs
│   │   │       └── unused_generated.rs
│   │   └── table_a_generated.rs
│   ├── monster_test.afb
│   ├── monster_test.bfbs
│   ├── monster_test.cpp
│   ├── monster_test.fbs
│   ├── monster_test.grpc.fb.cc
│   ├── monster_test.grpc.fb.h
│   ├── monster_test.h
│   ├── monster_test.schema.json
│   ├── monster_test_callback.grpc.fb.cc
│   ├── monster_test_callback.grpc.fb.h
│   ├── monster_test_generated.grpc.fb.cc
│   ├── monster_test_generated.grpc.fb.h
│   ├── monster_test_generated.lobster
│   ├── monster_test_generated.py
│   ├── monster_test_generated.ts
│   ├── monster_test_my_game.example2_generated.dart
│   ├── monster_test_my_game.example_generated.dart
│   ├── monster_test_my_game_generated.dart
│   ├── monster_test_serialize/
│   │   ├── mod.rs
│   │   ├── my_game/
│   │   │   ├── example/
│   │   │   │   ├── ability_generated.rs
│   │   │   │   ├── any_ambiguous_aliases_generated.rs
│   │   │   │   ├── any_generated.rs
│   │   │   │   ├── any_unique_aliases_generated.rs
│   │   │   │   ├── color_generated.rs
│   │   │   │   ├── long_enum_generated.rs
│   │   │   │   ├── monster_generated.rs
│   │   │   │   ├── race_generated.rs
│   │   │   │   ├── referrable_generated.rs
│   │   │   │   ├── stat_generated.rs
│   │   │   │   ├── struct_of_structs_generated.rs
│   │   │   │   ├── struct_of_structs_of_structs_generated.rs
│   │   │   │   ├── test_generated.rs
│   │   │   │   ├── test_simple_table_with_enum_generated.rs
│   │   │   │   ├── type_aliases_generated.rs
│   │   │   │   └── vec_3_generated.rs
│   │   │   ├── example_2/
│   │   │   │   └── monster_generated.rs
│   │   │   ├── in_parent_namespace_generated.rs
│   │   │   └── other_name_space/
│   │   │       ├── from_include_generated.rs
│   │   │       ├── table_b_generated.rs
│   │   │       └── unused_generated.rs
│   │   └── table_a_generated.rs
│   ├── monster_test_suffix/
│   │   ├── ext_only/
│   │   │   ├── monster_test.grpc.fb.cc
│   │   │   ├── monster_test.grpc.fb.h
│   │   │   └── monster_test_generated.hpp
│   │   ├── filesuffix_only/
│   │   │   ├── monster_test.grpc.fb.cc
│   │   │   ├── monster_test.grpc.fb.h
│   │   │   └── monster_test_suffix.h
│   │   ├── monster_test.grpc.fb.cc
│   │   ├── monster_test.grpc.fb.h
│   │   └── monster_test_suffix.hpp
│   ├── monsterdata_extra.json
│   ├── monsterdata_go_wire.mon.sp
│   ├── monsterdata_python_wire.mon
│   ├── monsterdata_test.afb
│   ├── monsterdata_test.golden
│   ├── monsterdata_test.json
│   ├── monsterdata_test.mon
│   ├── more_defaults/
│   │   ├── abc_generated.rs
│   │   ├── mod.rs
│   │   └── more_defaults_generated.rs
│   ├── more_defaults.fbs
│   ├── name_clash_test/
│   │   ├── invalid_test1.fbs
│   │   ├── invalid_test2.fbs
│   │   ├── valid_test1.fbs
│   │   └── valid_test2.fbs
│   ├── namespace_test/
│   │   ├── NamespaceA/
│   │   │   ├── NamespaceB/
│   │   │   │   ├── EnumInNestedNS.cs
│   │   │   │   ├── EnumInNestedNS.go
│   │   │   │   ├── EnumInNestedNS.java
│   │   │   │   ├── EnumInNestedNS.kt
│   │   │   │   ├── EnumInNestedNS.lua
│   │   │   │   ├── EnumInNestedNS.php
│   │   │   │   ├── EnumInNestedNS.py
│   │   │   │   ├── StructInNestedNS.cs
│   │   │   │   ├── StructInNestedNS.go
│   │   │   │   ├── StructInNestedNS.java
│   │   │   │   ├── StructInNestedNS.kt
│   │   │   │   ├── StructInNestedNS.lua
│   │   │   │   ├── StructInNestedNS.php
│   │   │   │   ├── StructInNestedNS.py
│   │   │   │   ├── StructInNestedNST.java
│   │   │   │   ├── TableInNestedNS.cs
│   │   │   │   ├── TableInNestedNS.go
│   │   │   │   ├── TableInNestedNS.java
│   │   │   │   ├── TableInNestedNS.kt
│   │   │   │   ├── TableInNestedNS.lua
│   │   │   │   ├── TableInNestedNS.php
│   │   │   │   ├── TableInNestedNS.py
│   │   │   │   ├── TableInNestedNST.java
│   │   │   │   ├── UnionInNestedNS.cs
│   │   │   │   ├── UnionInNestedNS.go
│   │   │   │   ├── UnionInNestedNS.java
│   │   │   │   ├── UnionInNestedNS.kt
│   │   │   │   ├── UnionInNestedNS.lua
│   │   │   │   ├── UnionInNestedNS.php
│   │   │   │   ├── UnionInNestedNS.py
│   │   │   │   ├── UnionInNestedNSUnion.java
│   │   │   │   └── __init__.py
│   │   │   ├── SecondTableInA.cs
│   │   │   ├── SecondTableInA.go
│   │   │   ├── SecondTableInA.java
│   │   │   ├── SecondTableInA.kt
│   │   │   ├── SecondTableInA.lua
│   │   │   ├── SecondTableInA.php
│   │   │   ├── SecondTableInA.py
│   │   │   ├── SecondTableInAT.java
│   │   │   ├── TableInC.cs
│   │   │   ├── TableInC.go
│   │   │   ├── TableInC.php
│   │   │   ├── TableInC.py
│   │   │   ├── TableInFirstNS.cs
│   │   │   ├── TableInFirstNS.go
│   │   │   ├── TableInFirstNS.java
│   │   │   ├── TableInFirstNS.kt
│   │   │   ├── TableInFirstNS.lua
│   │   │   ├── TableInFirstNS.php
│   │   │   ├── TableInFirstNS.py
│   │   │   ├── TableInFirstNST.java
│   │   │   └── __init__.py
│   │   ├── NamespaceC/
│   │   │   ├── TableInC.cs
│   │   │   ├── TableInC.go
│   │   │   ├── TableInC.java
│   │   │   ├── TableInC.kt
│   │   │   ├── TableInC.lua
│   │   │   ├── TableInC.php
│   │   │   ├── TableInC.py
│   │   │   ├── TableInCT.java
│   │   │   └── __init__.py
│   │   ├── mod.rs
│   │   ├── namespace_a/
│   │   │   ├── namespace_b/
│   │   │   │   ├── enum_in_nested_ns_generated.rs
│   │   │   │   ├── struct_in_nested_ns_generated.rs
│   │   │   │   ├── table_in_nested_ns_generated.rs
│   │   │   │   └── union_in_nested_ns_generated.rs
│   │   │   ├── second_table_in_a_generated.rs
│   │   │   └── table_in_first_ns_generated.rs
│   │   ├── namespace_c/
│   │   │   └── table_in_c_generated.rs
│   │   ├── namespace_test1.fbs
│   │   ├── namespace_test1_generated.lobster
│   │   ├── namespace_test1_namespace_a.namespace_b_generated.dart
│   │   ├── namespace_test2.fbs
│   │   ├── namespace_test2_generated.lobster
│   │   ├── namespace_test2_namespace_a_generated.dart
│   │   └── namespace_test2_namespace_c_generated.dart
│   ├── nan_inf_test.fbs
│   ├── native_inline_table_test.fbs
│   ├── native_type_test.fbs
│   ├── native_type_test_impl.cpp
│   ├── native_type_test_impl.h
│   ├── nested_namespace_test/
│   │   ├── nested_namespace_test1.fbs
│   │   ├── nested_namespace_test1_generated.cs
│   │   ├── nested_namespace_test2.fbs
│   │   ├── nested_namespace_test2_generated.cs
│   │   ├── nested_namespace_test3.fbs
│   │   └── nested_namespace_test3_generated.cs
│   ├── nested_union_test.fbs
│   ├── nim/
│   │   ├── testnim.py
│   │   └── tests/
│   │       ├── moredefaults/
│   │       │   └── test.nim
│   │       ├── mutatingbool/
│   │       │   └── test.nim
│   │       ├── mygame/
│   │       │   └── test.nim
│   │       └── optional_scalars/
│   │           └── test.nim
│   ├── non_zero_enum.fbs
│   ├── optional_scalars/
│   │   ├── OptionalByte.cs
│   │   ├── OptionalByte.go
│   │   ├── OptionalByte.java
│   │   ├── OptionalByte.kt
│   │   ├── OptionalByte.nim
│   │   ├── OptionalByte.py
│   │   ├── ScalarStuff.cs
│   │   ├── ScalarStuff.go
│   │   ├── ScalarStuff.java
│   │   ├── ScalarStuff.kt
│   │   ├── ScalarStuff.nim
│   │   ├── ScalarStuff.py
│   │   ├── __init__.py
│   │   ├── mod.rs
│   │   └── optional_scalars/
│   │       ├── optional_byte_generated.rs
│   │       └── scalar_stuff_generated.rs
│   ├── optional_scalars.fbs
│   ├── optional_scalars.json
│   ├── optional_scalars_defaults.json
│   ├── optional_scalars_generated.lobster
│   ├── optional_scalars_generated.ts
│   ├── optional_scalars_test.cpp
│   ├── optional_scalars_test.h
│   ├── order/
│   │   └── Food.go
│   ├── parser_test.cpp
│   ├── parser_test.h
│   ├── phpTest.php
│   ├── phpUnionVectorTest.php
│   ├── phpUnionVectorTest.sh
│   ├── private_annotation_test/
│   │   ├── ab_generated.rs
│   │   ├── annotations_generated.rs
│   │   ├── any_generated.rs
│   │   ├── game_generated.rs
│   │   ├── mod.rs
│   │   └── object_generated.rs
│   ├── private_annotation_test.fbs
│   ├── proto_test.cpp
│   ├── proto_test.h
│   ├── prototest/
│   │   ├── GenerateProtoGoldens.sh
│   │   ├── imported.proto
│   │   ├── non-positive-id.proto
│   │   ├── test.golden.fbs
│   │   ├── test.proto
│   │   ├── test_id.golden.fbs
│   │   ├── test_include.golden.fbs
│   │   ├── test_include_id.golden.fbs
│   │   ├── test_suffix.golden.fbs
│   │   ├── test_suffix_id.golden.fbs
│   │   ├── test_union.golden.fbs
│   │   ├── test_union_id.golden.fbs
│   │   ├── test_union_include.golden.fbs
│   │   ├── test_union_include_id.golden.fbs
│   │   ├── test_union_suffix.golden.fbs
│   │   ├── test_union_suffix_id.golden.fbs
│   │   ├── twice-id.proto
│   │   └── use-reserved-id.proto
│   ├── py_flexbuffers_test.py
│   ├── py_test.py
│   ├── reflection_test.cpp
│   ├── reflection_test.h
│   ├── required_strings.fbs
│   ├── rust_namer_test/
│   │   ├── mod.rs
│   │   └── rust_namer_test/
│   │       ├── field_table_generated.rs
│   │       ├── field_union_generated.rs
│   │       ├── game_message_generated.rs
│   │       ├── game_message_wrapper_generated.rs
│   │       ├── player_input_change_generated.rs
│   │       ├── player_spectate_generated.rs
│   │       ├── player_stat_event_generated.rs
│   │       ├── possibly_reserved_words_generated.rs
│   │       └── root_table_generated.rs
│   ├── rust_namer_test.fbs
│   ├── rust_no_std_compilation_test/
│   │   ├── .cargo/
│   │   │   └── config.toml
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── rust_reflection_test/
│   │   ├── .gitignore
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── lib.rs
│   ├── rust_serialize_test/
│   │   ├── Cargo.toml
│   │   └── src/
│   │       └── main.rs
│   ├── rust_usage_test/
│   │   ├── Cargo.toml
│   │   ├── benches/
│   │   │   ├── benchmarks.rs
│   │   │   ├── flatbuffers_benchmarks.rs
│   │   │   └── flexbuffers_benchmarks.rs
│   │   ├── bin/
│   │   │   ├── flatbuffers_alloc_check.rs
│   │   │   ├── flexbuffers_alloc_check.rs
│   │   │   └── monster_example.rs
│   │   ├── outdir/
│   │   │   ├── .gitignore
│   │   │   ├── Cargo.toml
│   │   │   ├── build.rs
│   │   │   └── src/
│   │   │       └── main.rs
│   │   └── tests/
│   │       ├── arrays_test.rs
│   │       ├── flexbuffers_tests/
│   │       │   ├── binary_format.rs
│   │       │   ├── interop.rs
│   │       │   ├── mod.rs
│   │       │   ├── other_api.rs
│   │       │   ├── qc_serious.rs
│   │       │   └── rwyw.rs
│   │       ├── include_test.rs
│   │       ├── integration_test.rs
│   │       ├── more_defaults_test.rs
│   │       ├── optional_scalars_test.rs
│   │       └── vtable_zeroed_test.rs
│   ├── service_test.fbs
│   ├── service_test_generated.py
│   ├── service_test_generated.pyi
│   ├── service_test_grpc.fb.py
│   ├── service_test_grpc.fb.pyi
│   ├── swift/
│   │   ├── Tests/
│   │   │   ├── Flatbuffers/
│   │   │   │   ├── ByteBufferTests.swift
│   │   │   │   ├── FlatBuffersArraysTests.swift
│   │   │   │   ├── FlatBuffersMonsterWriterTests.swift
│   │   │   │   ├── FlatBuffersNanInfTests.swift
│   │   │   │   ├── FlatBuffersStructsTests.swift
│   │   │   │   ├── FlatBuffersTests.swift
│   │   │   │   ├── FlatBuffersUnionTests.swift
│   │   │   │   ├── FlatBuffersVectorsTests.swift
│   │   │   │   ├── FlatbuffersDoubleTests.swift
│   │   │   │   ├── FlatbuffersMoreDefaults.swift
│   │   │   │   ├── FlatbuffersVerifierTests.swift
│   │   │   │   ├── MutatingBool_generated.swift
│   │   │   │   ├── arrays_test_generated.swift
│   │   │   │   ├── empty_vtable_generated.swift
│   │   │   │   ├── monster_test.grpc.swift
│   │   │   │   ├── monster_test_generated.swift
│   │   │   │   ├── monsterdata_test.mon
│   │   │   │   ├── more_defaults_generated.swift
│   │   │   │   ├── nan_inf_test_generated.swift
│   │   │   │   ├── optional_scalars_generated.swift
│   │   │   │   ├── union_vector_generated.swift
│   │   │   │   └── vector_has_test_generated.swift
│   │   │   └── Flexbuffers/
│   │   │       ├── FlexBuffersJSONTests.swift
│   │   │       ├── FlexBuffersReaderTests.swift
│   │   │       ├── FlexBuffersStringTests.swift
│   │   │       ├── FlexBuffersWriterTests.swift
│   │   │       └── Mocks.swift
│   │   ├── Wasm.tests/
│   │   │   ├── .swift-version
│   │   │   ├── Package.swift
│   │   │   ├── Sources/
│   │   │   │   └── Wasm/
│   │   │   │       └── Wasm.swift
│   │   │   └── Tests/
│   │   │       ├── FlatBuffers.Test.Swift.WasmTests/
│   │   │       │   ├── FlatBuffersMonsterWriterTests.swift
│   │   │       │   └── monster_test_generated.swift
│   │   │       └── FlexBuffers.Test.Swift.WasmTests/
│   │   │           ├── FlexBuffersJSONTests.swift
│   │   │           ├── FlexBuffersReaderTests.swift
│   │   │           ├── FlexBuffersStringTests.swift
│   │   │           ├── FlexBuffersWriterTests.swift
│   │   │           └── Mocks.swift
│   │   └── fuzzer/
│   │       ├── CodeGenerationTests/
│   │       │   ├── empty_vtable.fbs
│   │       │   ├── test_import.fbs
│   │       │   ├── test_import_generated.swift
│   │       │   ├── test_no_include.fbs
│   │       │   └── test_no_include_generated.swift
│   │       ├── Package.swift
│   │       └── Sources/
│   │           └── fuzzer/
│   │               ├── fuzzer.fbs
│   │               ├── fuzzer_generated.swift
│   │               └── main.swift
│   ├── test.cpp
│   ├── test.fbs
│   ├── test_assert.cpp
│   ├── test_assert.h
│   ├── test_builder.cpp
│   ├── test_builder.h
│   ├── ts/
│   │   ├── BUILD.bazel
│   │   ├── JavaScriptComplexArraysTest.js
│   │   ├── JavaScriptFlexBuffersTest.js
│   │   ├── JavaScriptRelativeImportPathTest.js
│   │   ├── JavaScriptRequiredStringTest.js
│   │   ├── JavaScriptTest.js
│   │   ├── JavaScriptTestv1.cjs
│   │   ├── JavaScriptUndefinedForOptionals.js
│   │   ├── JavaScriptUnionUnderlyingTypeTest.js
│   │   ├── JavaScriptUnionVectorTest.js
│   │   ├── TypeScriptTest.py
│   │   ├── arrays_test_complex/
│   │   │   ├── arrays_test_complex.fbs
│   │   │   ├── arrays_test_complex_generated.cjs
│   │   │   └── my-game/
│   │   │       ├── example/
│   │   │       │   ├── array-struct.d.ts
│   │   │       │   ├── array-struct.js
│   │   │       │   ├── array-struct.ts
│   │   │       │   ├── array-table.d.ts
│   │   │       │   ├── array-table.js
│   │   │       │   ├── array-table.ts
│   │   │       │   ├── inner-struct.d.ts
│   │   │       │   ├── inner-struct.js
│   │   │       │   ├── inner-struct.ts
│   │   │       │   ├── nested-struct.d.ts
│   │   │       │   ├── nested-struct.js
│   │   │       │   ├── nested-struct.ts
│   │   │       │   ├── outer-struct.d.ts
│   │   │       │   ├── outer-struct.js
│   │   │       │   ├── outer-struct.ts
│   │   │       │   ├── test-enum.d.ts
│   │   │       │   ├── test-enum.js
│   │   │       │   └── test-enum.ts
│   │   │       ├── example.d.ts
│   │   │       ├── example.js
│   │   │       └── example.ts
│   │   ├── bazel_repository_test_dir/
│   │   │   ├── .bazelignore
│   │   │   ├── .bazelrc
│   │   │   ├── .gitignore
│   │   │   ├── BUILD.bazel
│   │   │   ├── MODULE.bazel
│   │   │   ├── README.md
│   │   │   ├── import_test.js
│   │   │   ├── independent_deps_test.js
│   │   │   ├── one.fbs
│   │   │   ├── package.json
│   │   │   └── two.fbs
│   │   ├── com/
│   │   │   └── company/
│   │   │       ├── test/
│   │   │       │   └── person.ts
│   │   │       └── test.ts
│   │   ├── foobar/
│   │   │   ├── abc.d.ts
│   │   │   ├── abc.js
│   │   │   ├── abc.ts
│   │   │   ├── class.d.ts
│   │   │   ├── class.js
│   │   │   ├── class.ts
│   │   │   └── tab.ts
│   │   ├── foobar.d.ts
│   │   ├── foobar.js
│   │   ├── foobar.ts
│   │   ├── longer-namespace/
│   │   │   └── a/
│   │   │       └── b/
│   │   │           ├── c/
│   │   │           │   ├── person.d.ts
│   │   │           │   ├── person.js
│   │   │           │   └── person.ts
│   │   │           ├── c.d.ts
│   │   │           ├── c.js
│   │   │           └── c.ts
│   │   ├── monster_test.d.ts
│   │   ├── monster_test.js
│   │   ├── monster_test.ts
│   │   ├── monster_test_generated.cjs
│   │   ├── monsterdata_javascript_wire.mon
│   │   ├── my-game/
│   │   │   ├── example/
│   │   │   │   ├── ability.d.ts
│   │   │   │   ├── ability.js
│   │   │   │   ├── ability.ts
│   │   │   │   ├── any-ambiguous-aliases.d.ts
│   │   │   │   ├── any-ambiguous-aliases.js
│   │   │   │   ├── any-ambiguous-aliases.ts
│   │   │   │   ├── any-unique-aliases.d.ts
│   │   │   │   ├── any-unique-aliases.js
│   │   │   │   ├── any-unique-aliases.ts
│   │   │   │   ├── any.d.ts
│   │   │   │   ├── any.js
│   │   │   │   ├── any.ts
│   │   │   │   ├── color.d.ts
│   │   │   │   ├── color.js
│   │   │   │   ├── color.ts
│   │   │   │   ├── long-enum.d.ts
│   │   │   │   ├── long-enum.js
│   │   │   │   ├── long-enum.ts
│   │   │   │   ├── monster.d.ts
│   │   │   │   ├── monster.js
│   │   │   │   ├── monster.ts
│   │   │   │   ├── race.d.ts
│   │   │   │   ├── race.js
│   │   │   │   ├── race.ts
│   │   │   │   ├── referrable.d.ts
│   │   │   │   ├── referrable.js
│   │   │   │   ├── referrable.ts
│   │   │   │   ├── stat.d.ts
│   │   │   │   ├── stat.js
│   │   │   │   ├── stat.ts
│   │   │   │   ├── struct-of-structs-of-structs.d.ts
│   │   │   │   ├── struct-of-structs-of-structs.js
│   │   │   │   ├── struct-of-structs-of-structs.ts
│   │   │   │   ├── struct-of-structs.d.ts
│   │   │   │   ├── struct-of-structs.js
│   │   │   │   ├── struct-of-structs.ts
│   │   │   │   ├── test-simple-table-with-enum.d.ts
│   │   │   │   ├── test-simple-table-with-enum.js
│   │   │   │   ├── test-simple-table-with-enum.ts
│   │   │   │   ├── test.d.ts
│   │   │   │   ├── test.js
│   │   │   │   ├── test.ts
│   │   │   │   ├── type-aliases.d.ts
│   │   │   │   ├── type-aliases.js
│   │   │   │   ├── type-aliases.ts
│   │   │   │   ├── vec3.d.ts
│   │   │   │   ├── vec3.js
│   │   │   │   └── vec3.ts
│   │   │   ├── example.d.ts
│   │   │   ├── example.js
│   │   │   ├── example.ts
│   │   │   ├── example2/
│   │   │   │   ├── monster.d.ts
│   │   │   │   ├── monster.js
│   │   │   │   └── monster.ts
│   │   │   ├── example2.d.ts
│   │   │   ├── example2.js
│   │   │   ├── example2.ts
│   │   │   ├── in-parent-namespace.d.ts
│   │   │   ├── in-parent-namespace.js
│   │   │   ├── in-parent-namespace.ts
│   │   │   ├── other-name-space/
│   │   │   │   ├── from-include.d.ts
│   │   │   │   ├── from-include.js
│   │   │   │   ├── from-include.ts
│   │   │   │   ├── table-b.d.ts
│   │   │   │   ├── table-b.js
│   │   │   │   ├── table-b.ts
│   │   │   │   ├── unused.d.ts
│   │   │   │   ├── unused.js
│   │   │   │   └── unused.ts
│   │   │   ├── other-name-space.d.ts
│   │   │   ├── other-name-space.js
│   │   │   └── other-name-space.ts
│   │   ├── my-game.d.ts
│   │   ├── my-game.js
│   │   ├── my-game.ts
│   │   ├── no_import_ext/
│   │   │   ├── optional-scalars/
│   │   │   │   ├── optional-byte.d.ts
│   │   │   │   ├── optional-byte.js
│   │   │   │   ├── optional-byte.ts
│   │   │   │   ├── scalar-stuff.d.ts
│   │   │   │   ├── scalar-stuff.js
│   │   │   │   └── scalar-stuff.ts
│   │   │   ├── optional-scalars.d.ts
│   │   │   ├── optional-scalars.js
│   │   │   ├── optional-scalars.ts
│   │   │   ├── optional_scalars.d.ts
│   │   │   ├── optional_scalars.js
│   │   │   └── optional_scalars.ts
│   │   ├── optional-scalars/
│   │   │   ├── optional-byte.ts
│   │   │   └── scalar-stuff.ts
│   │   ├── optional-scalars.ts
│   │   ├── optional_scalars.ts
│   │   ├── package.json
│   │   ├── reflection/
│   │   │   ├── advanced-features.d.ts
│   │   │   ├── advanced-features.js
│   │   │   ├── advanced-features.ts
│   │   │   ├── base-type.d.ts
│   │   │   ├── base-type.js
│   │   │   ├── base-type.ts
│   │   │   ├── enum-val.d.ts
│   │   │   ├── enum-val.js
│   │   │   ├── enum-val.ts
│   │   │   ├── enum.d.ts
│   │   │   ├── enum.js
│   │   │   ├── enum.ts
│   │   │   ├── field.d.ts
│   │   │   ├── field.js
│   │   │   ├── field.ts
│   │   │   ├── key-value.d.ts
│   │   │   ├── key-value.js
│   │   │   ├── key-value.ts
│   │   │   ├── object.d.ts
│   │   │   ├── object.js
│   │   │   ├── object.ts
│   │   │   ├── rpccall.d.ts
│   │   │   ├── rpccall.js
│   │   │   ├── rpccall.ts
│   │   │   ├── schema-file.d.ts
│   │   │   ├── schema-file.js
│   │   │   ├── schema-file.ts
│   │   │   ├── schema.d.ts
│   │   │   ├── schema.js
│   │   │   ├── schema.ts
│   │   │   ├── service.d.ts
│   │   │   ├── service.js
│   │   │   ├── service.ts
│   │   │   ├── type.d.ts
│   │   │   ├── type.js
│   │   │   └── type.ts
│   │   ├── reflection.d.ts
│   │   ├── reflection.js
│   │   ├── reflection.ts
│   │   ├── reflection_generated.cjs
│   │   ├── relative_imports/
│   │   │   └── relative_imports.fbs
│   │   ├── required-strings/
│   │   │   ├── foo.js
│   │   │   └── foo.ts
│   │   ├── required_strings_generated.js
│   │   ├── required_strings_generated.ts
│   │   ├── table-a.d.ts
│   │   ├── table-a.js
│   │   ├── table-a.ts
│   │   ├── test_dir/
│   │   │   ├── BUILD.bazel
│   │   │   ├── import_test.js
│   │   │   ├── package.json
│   │   │   ├── typescript_include.fbs
│   │   │   └── typescript_transitive_include.fbs
│   │   ├── ts-undefined-for-optionals/
│   │   │   ├── optional-scalars/
│   │   │   │   ├── optional-byte.ts
│   │   │   │   └── scalar-stuff.ts
│   │   │   ├── optional-scalars.ts
│   │   │   ├── optional_scalars.ts
│   │   │   └── optional_scalars_generated.cjs
│   │   ├── tsconfig.json
│   │   ├── tsconfig.node.json
│   │   ├── typescript/
│   │   │   ├── class.d.ts
│   │   │   ├── class.js
│   │   │   ├── class.ts
│   │   │   ├── object.d.ts
│   │   │   ├── object.js
│   │   │   └── object.ts
│   │   ├── typescript.d.ts
│   │   ├── typescript.js
│   │   ├── typescript.ts
│   │   ├── typescript_include.ts
│   │   ├── typescript_include_generated.cjs
│   │   ├── typescript_keywords.d.ts
│   │   ├── typescript_keywords.fbs
│   │   ├── typescript_keywords.js
│   │   ├── typescript_keywords.ts
│   │   ├── typescript_keywords_generated.cjs
│   │   ├── typescript_transitive_include.ts
│   │   ├── typescript_transitive_include_generated.cjs
│   │   ├── unicode_test.mon
│   │   ├── union-underlying-type/
│   │   │   ├── a.d.ts
│   │   │   ├── a.js
│   │   │   ├── a.ts
│   │   │   ├── abc.d.ts
│   │   │   ├── abc.js
│   │   │   ├── abc.ts
│   │   │   ├── b.d.ts
│   │   │   ├── b.js
│   │   │   ├── b.ts
│   │   │   ├── c.d.ts
│   │   │   ├── c.js
│   │   │   ├── c.ts
│   │   │   ├── d.d.ts
│   │   │   ├── d.js
│   │   │   └── d.ts
│   │   ├── union-underlying-type.d.ts
│   │   ├── union-underlying-type.js
│   │   ├── union-underlying-type.ts
│   │   ├── union_underlying_type_test.d.ts
│   │   ├── union_underlying_type_test.js
│   │   ├── union_underlying_type_test.ts
│   │   └── union_vector/
│   │       ├── attacker.d.ts
│   │       ├── attacker.js
│   │       ├── attacker.ts
│   │       ├── book-reader.d.ts
│   │       ├── book-reader.js
│   │       ├── book-reader.ts
│   │       ├── character.d.ts
│   │       ├── character.js
│   │       ├── character.ts
│   │       ├── falling-tub.d.ts
│   │       ├── falling-tub.js
│   │       ├── falling-tub.ts
│   │       ├── gadget.d.ts
│   │       ├── gadget.js
│   │       ├── gadget.ts
│   │       ├── hand-fan.d.ts
│   │       ├── hand-fan.js
│   │       ├── hand-fan.ts
│   │       ├── movie.d.ts
│   │       ├── movie.js
│   │       ├── movie.ts
│   │       ├── rapunzel.d.ts
│   │       ├── rapunzel.js
│   │       ├── rapunzel.ts
│   │       ├── union_vector.d.ts
│   │       ├── union_vector.js
│   │       ├── union_vector.ts
│   │       └── union_vector_generated.cjs
│   ├── type_field_collsion/
│   │   └── Collision.cs
│   ├── type_field_collsion.fbs
│   ├── unicode_test.json
│   ├── unicode_test.mon
│   ├── union_name_test/
│   │   ├── Bar.py
│   │   ├── Container.py
│   │   ├── Foo.py
│   │   ├── __init__.py
│   │   └── my_test_union.py
│   ├── union_name_test.fbs
│   ├── union_underlying_type_test.fbs
│   ├── union_value_collision.fbs
│   ├── union_value_collsion/
│   │   └── union_value_collision_generated.cs
│   ├── union_vector/
│   │   ├── Attacker.cs
│   │   ├── Attacker.java
│   │   ├── Attacker.kt
│   │   ├── Attacker.php
│   │   ├── AttackerT.java
│   │   ├── BookReader.cs
│   │   ├── BookReader.java
│   │   ├── BookReader.kt
│   │   ├── BookReader.php
│   │   ├── BookReaderT.java
│   │   ├── Character.cs
│   │   ├── Character.java
│   │   ├── Character.kt
│   │   ├── Character.php
│   │   ├── CharacterUnion.java
│   │   ├── FallingTub.cs
│   │   ├── FallingTub.java
│   │   ├── FallingTub.kt
│   │   ├── FallingTub.php
│   │   ├── FallingTubT.java
│   │   ├── Gadget.cs
│   │   ├── Gadget.java
│   │   ├── Gadget.kt
│   │   ├── Gadget.php
│   │   ├── GadgetUnion.java
│   │   ├── HandFan.cs
│   │   ├── HandFan.java
│   │   ├── HandFan.kt
│   │   ├── HandFan.php
│   │   ├── HandFanT.java
│   │   ├── Movie.cs
│   │   ├── Movie.java
│   │   ├── Movie.kt
│   │   ├── Movie.php
│   │   ├── MovieT.java
│   │   ├── Rapunzel.cs
│   │   ├── Rapunzel.java
│   │   ├── Rapunzel.kt
│   │   ├── Rapunzel.php
│   │   ├── RapunzelT.java
│   │   ├── union_vector.fbs
│   │   └── union_vector.json
│   ├── util_test.cpp
│   ├── util_test.h
│   ├── vector_has_test.fbs
│   ├── vector_table_naked_ptr.fbs
│   ├── vector_table_naked_ptr_test.cpp
│   └── vector_table_naked_ptr_test.h
├── ts/
│   ├── BUILD.bazel
│   ├── builder.ts
│   ├── byte-buffer.ts
│   ├── compile_flat_file.sh
│   ├── constants.ts
│   ├── encoding.ts
│   ├── flatbuffers.ts
│   ├── flexbuffers/
│   │   ├── bit-width-util.ts
│   │   ├── bit-width.ts
│   │   ├── builder.ts
│   │   ├── flexbuffers-util.ts
│   │   ├── reference-util.ts
│   │   ├── reference.ts
│   │   ├── stack-value.ts
│   │   ├── value-type-util.ts
│   │   └── value-type.ts
│   ├── flexbuffers.ts
│   ├── types.ts
│   └── utils.ts
├── tsconfig.json
├── tsconfig.mjs.json
└── typescript.bzl
Download .txt
Showing preview only (2,111K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (22952 symbols across 993 files)

FILE: android/app/src/main/cpp/animals.cpp
  function JNIEXPORT (line 27) | JNIEXPORT jbyteArray JNICALL

FILE: android/app/src/main/cpp/generated/animal_generated.h
  function namespace (line 15) | namespace com {

FILE: benchmarks/cpp/bench.h
  type Bench (line 6) | struct Bench {

FILE: benchmarks/cpp/benchmark_main.cpp
  function Encode (line 8) | static inline void Encode(benchmark::State& state,
  function Decode (line 17) | static inline void Decode(benchmark::State& state,
  function Use (line 28) | static inline void Use(benchmark::State& state, std::unique_ptr<Bench>& ...
  function BM_Flatbuffers_Encode (line 43) | static void BM_Flatbuffers_Encode(benchmark::State& state) {
  function BM_Flatbuffers_Decode (line 53) | static void BM_Flatbuffers_Decode(benchmark::State& state) {
  function BM_Flatbuffers_Use (line 63) | static void BM_Flatbuffers_Use(benchmark::State& state) {
  function BM_Raw_Encode (line 73) | static void BM_Raw_Encode(benchmark::State& state) {
  function BM_Raw_Decode (line 82) | static void BM_Raw_Decode(benchmark::State& state) {
  function BM_Raw_Use (line 91) | static void BM_Raw_Use(benchmark::State& state) {

FILE: benchmarks/cpp/flatbuffers/bench_generated.h
  function namespace (line 15) | namespace benchmarks_flatbuffers {
  function Bar (line 78) | Bar FLATBUFFERS_FINAL_CLASS {
  function time (line 105) | int32_t time() const { return flatbuffers::EndianScalar(time_); }
  function size (line 107) | uint16_t size() const { return flatbuffers::EndianScalar(size_); }
  function FLATBUFFERS_FINAL_CLASS (line 184) | struct FooBarContainer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Ta...
  function benchmarks_flatbuffers (line 280) | inline const benchmarks_flatbuffers::FooBarContainer* GetFooBarContainer(
  function benchmarks_flatbuffers (line 285) | inline const benchmarks_flatbuffers::FooBarContainer*
  function VerifyFooBarContainerBuffer (line 291) | inline bool VerifyFooBarContainerBuffer(flatbuffers::Verifier& verifier) {
  function VerifySizePrefixedFooBarContainerBuffer (line 296) | inline bool VerifySizePrefixedFooBarContainerBuffer(
  function FinishFooBarContainerBuffer (line 303) | inline void FinishFooBarContainerBuffer(
  function FinishSizePrefixedFooBarContainerBuffer (line 309) | inline void FinishSizePrefixedFooBarContainerBuffer(

FILE: benchmarks/cpp/flatbuffers/fb_bench.cpp
  type FlatBufferBench (line 15) | struct FlatBufferBench : Bench {
    method FlatBufferBench (line 16) | explicit FlatBufferBench(int64_t initial_size, Allocator* allocator)
    method Use (line 43) | int64_t Use(void* decoded) override {
  function NewFlatBuffersBench (line 76) | std::unique_ptr<Bench> NewFlatBuffersBench(int64_t initial_size,

FILE: benchmarks/cpp/flatbuffers/fb_bench.h
  type StaticAllocator (line 10) | struct StaticAllocator
  function explicit (line 11) | explicit StaticAllocator(uint8_t* buffer) : buffer_(buffer) {}
  function deallocate (line 15) | void deallocate(uint8_t*, size_t) override {}

FILE: benchmarks/cpp/raw/raw_bench.cpp
  type Enum (line 13) | enum Enum { Apples, Pears, Bananas }
  type Foo (line 15) | struct Foo {
  type Bar (line 22) | struct Bar {
  type FooBar (line 29) | struct FooBar {
  type FooBarContainer (line 39) | struct FooBarContainer {
  type RawBench (line 47) | struct RawBench : Bench {
    method Use (line 77) | int64_t Use(void* decoded) override {
  function NewRawBench (line 107) | std::unique_ptr<Bench> NewRawBench() {

FILE: dart/example/example.dart
  function main (line 23) | void main()
  function builderTest (line 28) | void builderTest()
  function objectBuilderTest (line 87) | void objectBuilderTest()
  function verify (line 121) | bool verify(List<int> buffer)

FILE: dart/example/monster_my_game.sample_generated.dart
  class Color (line 10) | class Color {
    method _createOrNull (line 22) | Color? _createOrNull(int? value)
    method containsValue (line 27) | bool containsValue(int value)
    method toString (line 37) | String toString()
  class _ColorReader (line 42) | class _ColorReader extends fb.Reader<Color> {
    method read (line 49) | Color read(fb.BufferContext bc, int offset)
  class EquipmentTypeId (line 53) | class EquipmentTypeId {
    method _createOrNull (line 67) | EquipmentTypeId? _createOrNull(int? value)
    method containsValue (line 72) | bool containsValue(int value)
    method toString (line 81) | String toString()
  class _EquipmentTypeIdReader (line 86) | class _EquipmentTypeIdReader extends fb.Reader<EquipmentTypeId> {
    method read (line 93) | EquipmentTypeId read(fb.BufferContext bc, int offset)
  class Vec3 (line 97) | class Vec3 {
    method toString (line 110) | String toString()
  class _Vec3Reader (line 115) | class _Vec3Reader extends fb.StructReader<Vec3> {
    method createObject (line 122) | Vec3 createObject(fb.BufferContext bc, int offset)
  class Vec3Builder (line 125) | class Vec3Builder {
    method finish (line 130) | int finish(double x, double y, double z)
  class Vec3ObjectBuilder (line 138) | class Vec3ObjectBuilder extends fb.ObjectBuilder {
    method finish (line 150) | int finish(fb.Builder fbBuilder)
    method toBytes (line 159) | Uint8List toBytes([String? fileIdentifier])
  class Monster (line 166) | class Monster {
    method toString (line 207) | String toString()
  class _MonsterReader (line 212) | class _MonsterReader extends fb.TableReader<Monster> {
    method createObject (line 216) | Monster createObject(fb.BufferContext bc, int offset)
  class MonsterBuilder (line 220) | class MonsterBuilder {
    method begin (line 225) | void begin()
    method addPos (line 229) | int addPos(int offset)
    method addMana (line 234) | int addMana(int? mana)
    method addHp (line 239) | int addHp(int? hp)
    method addNameOffset (line 244) | int addNameOffset(int? offset)
    method addInventoryOffset (line 249) | int addInventoryOffset(int? offset)
    method addColor (line 254) | int addColor(Color? color)
    method addWeaponsOffset (line 259) | int addWeaponsOffset(int? offset)
    method addEquippedType (line 264) | int addEquippedType(EquipmentTypeId? equippedType)
    method addEquippedOffset (line 269) | int addEquippedOffset(int? offset)
    method addPathOffset (line 274) | int addPathOffset(int? offset)
    method finish (line 279) | int finish()
  class MonsterObjectBuilder (line 284) | class MonsterObjectBuilder extends fb.ObjectBuilder {
    method finish (line 320) | int finish(fb.Builder fbBuilder)
    method toBytes (line 354) | Uint8List toBytes([String? fileIdentifier])
  class Weapon (line 361) | class Weapon {
    method toString (line 378) | String toString()
  class _WeaponReader (line 383) | class _WeaponReader extends fb.TableReader<Weapon> {
    method createObject (line 387) | Weapon createObject(fb.BufferContext bc, int offset)
  class WeaponBuilder (line 390) | class WeaponBuilder {
    method begin (line 395) | void begin()
    method addNameOffset (line 399) | int addNameOffset(int? offset)
    method addDamage (line 404) | int addDamage(int? damage)
    method finish (line 409) | int finish()
  class WeaponObjectBuilder (line 414) | class WeaponObjectBuilder extends fb.ObjectBuilder {
    method finish (line 424) | int finish(fb.Builder fbBuilder)
    method toBytes (line 436) | Uint8List toBytes([String? fileIdentifier])

FILE: dart/lib/flat_buffers.dart
  type StructBuilder (line 21) | typedef StructBuilder = void Function();
  class BufferContext (line 24) | class BufferContext {
    method derefObject (line 40) | int derefObject(int offset)
    method _asUint8List (line 43) | Uint8List _asUint8List(int offset, int length)
    method _getFloat64 (line 47) | double _getFloat64(int offset)
    method _getFloat32 (line 50) | double _getFloat32(int offset)
    method _getInt64 (line 53) | int _getInt64(int offset)
    method _getInt32 (line 56) | int _getInt32(int offset)
    method _getInt16 (line 59) | int _getInt16(int offset)
    method _getInt8 (line 62) | int _getInt8(int offset)
    method _getUint64 (line 65) | int _getUint64(int offset)
    method _getUint32 (line 68) | int _getUint32(int offset)
    method _getUint16 (line 71) | int _getUint16(int offset)
    method _getUint8 (line 74) | int _getUint8(int offset)
  class Packable (line 78) | abstract class Packable {
    method pack (line 80) | int pack(Builder fbBuilder)
  class ObjectBuilder (line 84) | abstract class ObjectBuilder {
    method getOrCreateOffset (line 93) | int getOrCreateOffset(Builder fbBuilder)
    method finish (line 99) | int finish(Builder fbBuilder)
    method toBytes (line 103) | Uint8List toBytes()
  class Builder (line 107) | class Builder {
    method size (line 163) | int size()
    method addBool (line 168) | void addBool(int field, bool? value, [bool? def])
    method addInt32 (line 179) | void addInt32(int field, int? value, [int? def])
    method addInt16 (line 190) | void addInt16(int field, int? value, [int? def])
    method addInt8 (line 201) | void addInt8(int field, int? value, [int? def])
    method addStruct (line 210) | void addStruct(int field, int offset)
    method addOffset (line 217) | void addOffset(int field, int? offset)
    method addUint32 (line 228) | void addUint32(int field, int? value, [int? def])
    method addUint16 (line 239) | void addUint16(int field, int? value, [int? def])
    method addUint8 (line 250) | void addUint8(int field, int? value, [int? def])
    method addFloat32 (line 261) | void addFloat32(int field, double? value, [double? def])
    method addFloat64 (line 272) | void addFloat64(int field, double? value, [double? def])
    method addUint64 (line 283) | void addUint64(int field, int? value, [double? def])
    method addInt64 (line 294) | void addInt64(int field, int? value, [double? def])
    method endTable (line 304) | int endTable()
    method finish (line 365) | void finish(int offset, [String? fileIdentifier])
    method putFloat64 (line 394) | void putFloat64(double value)
    method putFloat32 (line 402) | void putFloat32(double value)
    method putBool (line 411) | void putBool(bool value)
    method putInt64 (line 419) | void putInt64(int value)
    method putInt32 (line 427) | void putInt32(int value)
    method putInt16 (line 435) | void putInt16(int value)
    method putInt8 (line 443) | void putInt8(int value)
    method putUint64 (line 451) | void putUint64(int value)
    method putUint32 (line 459) | void putUint32(int value)
    method putUint16 (line 467) | void putUint16(int value)
    method putUint8 (line 475) | void putUint8(int value)
    method reset (line 481) | void reset()
    method startTable (line 493) | void startTable(int numFields)
    method endStructVector (line 502) | int endStructVector(int count)
    method writeListOfStructs (line 508) | int writeListOfStructs(List<ObjectBuilder> structBuilders)
    method writeList (line 517) | int writeList(List<int> values)
    method writeListFloat64 (line 532) | int writeListFloat64(List<double> values)
    method writeListFloat32 (line 547) | int writeListFloat32(List<double> values)
    method writeListInt64 (line 562) | int writeListInt64(List<int> values)
    method writeListUint64 (line 577) | int writeListUint64(List<int> values)
    method writeListInt32 (line 592) | int writeListInt32(List<int> values)
    method writeListUint32 (line 607) | int writeListUint32(List<int> values)
    method writeListInt16 (line 622) | int writeListInt16(List<int> values)
    method writeListUint16 (line 637) | int writeListUint16(List<int> values)
    method writeListBool (line 652) | int writeListBool(List<bool> values)
    method writeListInt8 (line 657) | int writeListInt8(List<int> values)
    method writeListUint8 (line 672) | int writeListUint8(List<int> values)
    method writeString (line 694) | int writeString(String value, {bool asciiOptimization = false})
    method _writeString (line 706) | int _writeString(String value, bool asciiOptimization)
    method _tryWriteASCIIString (line 721) | bool _tryWriteASCIIString(String value)
    method _writeUTFString (line 740) | void _writeUTFString(String value)
    method pad (line 772) | void pad(int howManyBytes)
    method _prepare (line 782) | void _prepare(int size, int count, {int additionalBytes = 0})
    method _trackField (line 815) | void _trackField(int field)
    method _setFloat64AtTail (line 818) | void _setFloat64AtTail(int tail, double x)
    method _setFloat32AtTail (line 822) | void _setFloat32AtTail(int tail, double x)
    method _setUint64AtTail (line 826) | void _setUint64AtTail(int tail, int x)
    method _setInt64AtTail (line 830) | void _setInt64AtTail(int tail, int x)
    method _setInt32AtTail (line 834) | void _setInt32AtTail(int tail, int x)
    method _setUint32AtTail (line 838) | void _setUint32AtTail(int tail, int x)
    method _setInt16AtTail (line 842) | void _setInt16AtTail(int tail, int x)
    method _setUint16AtTail (line 846) | void _setUint16AtTail(int tail, int x)
    method _setInt8AtTail (line 850) | void _setInt8AtTail(int tail, int x)
    method _setUint8AtTail (line 854) | void _setUint8AtTail(int tail, int x)
  class BoolListReader (line 861) | class BoolListReader extends Reader<List<bool>> {
    method read (line 870) | List<bool> read(BufferContext bc, int offset)
  class BoolReader (line 875) | class BoolReader extends Reader<bool> {
    method read (line 884) | bool read(BufferContext bc, int offset)
  class Float64ListReader (line 890) | class Float64ListReader extends Reader<List<double>> {
    method read (line 899) | List<double> read(BufferContext bc, int offset)
  class Float32ListReader (line 903) | class Float32ListReader extends Reader<List<double>> {
    method read (line 912) | List<double> read(BufferContext bc, int offset)
  class Float64Reader (line 916) | class Float64Reader extends Reader<double> {
    method read (line 925) | double read(BufferContext bc, int offset)
  class Float32Reader (line 928) | class Float32Reader extends Reader<double> {
    method read (line 937) | double read(BufferContext bc, int offset)
  class Int64Reader (line 940) | class Int64Reader extends Reader<int> {
    method read (line 949) | int read(BufferContext bc, int offset)
  class Int32Reader (line 953) | class Int32Reader extends Reader<int> {
    method read (line 962) | int read(BufferContext bc, int offset)
  class Int16Reader (line 966) | class Int16Reader extends Reader<int> {
    method read (line 975) | int read(BufferContext bc, int offset)
  class Int8Reader (line 979) | class Int8Reader extends Reader<int> {
    method read (line 988) | int read(BufferContext bc, int offset)
  class ListReader (line 992) | class ListReader<E> extends Reader<List<E>> {
    method read (line 1010) | List<E> read(BufferContext bc, int offset)
  class Reader (line 1026) | abstract class Reader<T> {
    method read (line 1033) | T read(BufferContext bc, int offset)
    method vTableGet (line 1037) | T vTableGet(BufferContext object, int offset, int field, T defaultValue)
    method vTableGetNullable (line 1044) | T? vTableGetNullable(BufferContext object, int offset, int field)
    method _vTableFieldOffset (line 1050) | int _vTableFieldOffset(BufferContext object, int offset, int field)
  class StringReader (line 1060) | class StringReader extends Reader<String> {
    method read (line 1071) | String read(BufferContext bc, int offset)
    method _isLatin (line 1082) | bool _isLatin(Uint8List bytes)
  class StructReader (line 1094) | abstract class StructReader<T> extends Reader<T> {
    method createObject (line 1098) | T createObject(BufferContext bc, int offset)
    method read (line 1101) | T read(BufferContext bc, int offset)
  class TableReader (line 1107) | abstract class TableReader<T> extends Reader<T> {
    method createObject (line 1115) | T createObject(BufferContext bc, int offset)
    method read (line 1118) | T read(BufferContext bc, int offset)
  class Uint32ListReader (line 1127) | class Uint32ListReader extends Reader<List<int>> {
    method read (line 1136) | List<int> read(BufferContext bc, int offset)
  class Uint64Reader (line 1143) | class Uint64Reader extends Reader<int> {
    method read (line 1152) | int read(BufferContext bc, int offset)
  class Uint32Reader (line 1156) | class Uint32Reader extends Reader<int> {
    method read (line 1165) | int read(BufferContext bc, int offset)
  class Uint16ListReader (line 1171) | class Uint16ListReader extends Reader<List<int>> {
    method read (line 1180) | List<int> read(BufferContext bc, int offset)
  class Uint16Reader (line 1185) | class Uint16Reader extends Reader<int> {
    method read (line 1194) | int read(BufferContext bc, int offset)
  class Uint8ListReader (line 1198) | class Uint8ListReader extends Reader<List<int>> {
    method read (line 1215) | List<int> read(BufferContext bc, int offset)
  class Uint8Reader (line 1230) | class Uint8Reader extends Reader<int> {
    method read (line 1239) | int read(BufferContext bc, int offset)
  class Int8ListReader (line 1243) | class Int8ListReader extends Reader<List<int>> {
    method read (line 1260) | List<int> read(BufferContext bc, int offset)
  class _FbFloat64List (line 1275) | class _FbFloat64List extends _FbList<double> {
  class _FbFloat32List (line 1284) | class _FbFloat32List extends _FbList<double> {
  class _FbGenericList (line 1293) | class _FbGenericList<E> extends _FbList<E> {
  class _FbList (line 1315) | abstract class _FbList<E> extends Object with ListMixin<E> implements Li...
  class _FbUint32List (line 1335) | class _FbUint32List extends _FbList<int> {
  class _FbUint16List (line 1344) | class _FbUint16List extends _FbList<int> {
  class _FbUint8List (line 1353) | class _FbUint8List extends _FbList<int> {
  class _FbInt8List (line 1362) | class _FbInt8List extends _FbList<int> {
  class _FbBoolList (line 1371) | class _FbBoolList extends _FbList<bool> {
  class _VTable (line 1380) | class _VTable {
    method addField (line 1404) | void addField(int field, int offset)
    method _offsetsMatch (line 1412) | bool _offsetsMatch(int vt2Start, ByteData buf)
    method computeFieldOffsets (line 1425) | void computeFieldOffsets(int tableTail)
    method output (line 1438) | void output(ByteData buf, int bufOffset)
  class Allocator (line 1455) | abstract class Allocator {
    method allocate (line 1459) | ByteData allocate(int size)
    method deallocate (line 1462) | void deallocate(ByteData data)
    method resize (line 1468) | ByteData resize(
    method _copyDownward (line 1483) | void _copyDownward(
  class DefaultAllocator (line 1507) | class DefaultAllocator extends Allocator {
    method allocate (line 1511) | ByteData allocate(int size)
    method deallocate (line 1514) | void deallocate(ByteData data)

FILE: dart/lib/src/builder.dart
  class Builder (line 7) | class Builder {
    method buildFromObject (line 28) | ByteBuffer buildFromObject(Object? value)
    method _add (line 37) | void _add(Object? value)
    method addNull (line 71) | void addNull()
    method addInt (line 77) | void addInt(int value)
    method addBool (line 83) | void addBool(bool value)
    method addDouble (line 89) | void addDouble(double value)
    method addString (line 95) | void addString(String value)
    method addKey (line 122) | void addKey(String value)
    method addBlob (line 146) | void addBlob(ByteBuffer value)
    method addIntIndirectly (line 170) | void addIntIndirectly(int value, {bool cache = false})
    method addDoubleIndirectly (line 198) | void addDoubleIndirectly(double value, {bool cache = false})
    method startVector (line 225) | void startVector()
    method startMap (line 235) | void startMap()
    method end (line 241) | void end()
    method finish (line 254) | Uint8List finish()
    method snapshot (line 265) | ByteBuffer snapshot()
    method _integrityCheckOnValueAddition (line 283) | void _integrityCheckOnValueAddition()
    method _integrityCheckOnKeyAddition (line 296) | void _integrityCheckOnKeyAddition()
    method _finish (line 305) | void _finish()
    method _createVector (line 319) | _StackValue _createVector(
    method _endVector (line 384) | void _endVector(_StackPointer pointer)
    method _sortKeysAndEndMap (line 391) | void _sortKeysAndEndMap(_StackPointer pointer)
    method _endMap (line 427) | void _endMap(_StackPointer pointer)
    method _shouldFlip (line 451) | bool _shouldFlip(_StackValue v1, _StackValue v2)
    method _align (line 470) | int _align(BitWidth width)
    method _writeStackValue (line 476) | void _writeStackValue(_StackValue value, int byteWidth)
    method _writeUInt (line 493) | void _writeUInt(int value, int byteWidth)
    method _newOffset (line 499) | int _newOffset(int newValueSize)
    method _pushInt (line 514) | void _pushInt(int value, BitWidth width)
    method _pushUInt (line 531) | void _pushUInt(int value, BitWidth width)
    method _pushBuffer (line 548) | void _pushBuffer(List<int> value)
  class _StackValue (line 553) | class _StackValue {
    method storedWidth (line 581) | BitWidth storedWidth({BitWidth width = BitWidth.width8})
    method storedPackedType (line 587) | int storedPackedType({BitWidth width = BitWidth.width8})
    method elementWidth (line 591) | BitWidth elementWidth(int size, int index)
    method asU8List (line 608) | List<int> asU8List(BitWidth width)
  class _StackPointer (line 676) | class _StackPointer {
  class _KeysHash (line 683) | class _KeysHash {

FILE: dart/lib/src/reference.dart
  class Reference (line 10) | class Reference {
    method fromBuffer (line 31) | Reference fromBuffer(ByteBuffer buffer)
    method _readInt (line 326) | int _readInt(int offset, BitWidth width)
    method _readUInt (line 340) | int _readUInt(int offset, BitWidth width)
    method _readFloat (line 354) | double _readFloat(int offset, BitWidth width)
    method _validateOffset (line 367) | void _validateOffset(int offset, BitWidth width)
    method _keyIndex (line 375) | int? _keyIndex(String key)
    method _diffKeys (line 400) | int _diffKeys(List<int> input, int index, int indirectOffset, int byte...
    method _valueForIndexWithKey (line 413) | Reference _valueForIndexWithKey(int index, String key)
    method _valueForIndex (line 426) | Reference _valueForIndex(int index)
    method _keyForIndex (line 439) | String _keyForIndex(int index)
  class _VectorIterator (line 459) | class _VectorIterator
    method moveNext (line 471) | bool moveNext()
  class _MapKeyIterator (line 480) | class _MapKeyIterator with IterableMixin<String> implements Iterator<Str...
    method moveNext (line 490) | bool moveNext()
  class _MapValueIterator (line 499) | class _MapValueIterator
    method moveNext (line 511) | bool moveNext()

FILE: dart/lib/src/types.dart
  type BitWidth (line 4) | enum BitWidth { width8, width16, width32, width64 }
  class BitWidthUtil (line 6) | class BitWidthUtil {
    method toByteWidth (line 7) | int toByteWidth(BitWidth self)
    method width (line 11) | BitWidth width(num value)
    method uwidth (line 24) | BitWidth uwidth(num value)
    method fromByteWidth (line 37) | BitWidth fromByteWidth(int value)
    method paddingSize (line 53) | int paddingSize(int bufSize, int scalarSize)
    method _toF32 (line 57) | double _toF32(double value)
    method max (line 63) | BitWidth max(BitWidth self, BitWidth other)
  type ValueType (line 72) | enum ValueType {
  class ValueTypeUtils (line 106) | class ValueTypeUtils {
    method toInt (line 107) | int toInt(ValueType self)
    method fromInt (line 112) | ValueType fromInt(int value)
    method isInline (line 117) | bool isInline(ValueType self)
    method isNumber (line 121) | bool isNumber(ValueType self)
    method isIndirectNumber (line 126) | bool isIndirectNumber(ValueType self)
    method isTypedVectorElement (line 131) | bool isTypedVectorElement(ValueType self)
    method isTypedVector (line 137) | bool isTypedVector(ValueType self)
    method isFixedTypedVector (line 143) | bool isFixedTypedVector(ValueType self)
    method isAVector (line 148) | bool isAVector(ValueType self)
    method toTypedVector (line 154) | ValueType toTypedVector(ValueType self, int length)
    method typedVectorElementType (line 178) | ValueType typedVectorElementType(ValueType self)
    method fixedTypedVectorElementType (line 184) | ValueType fixedTypedVectorElementType(ValueType self)
    method fixedTypedVectorElementSize (line 190) | int fixedTypedVectorElementSize(ValueType self)
    method packedType (line 194) | int packedType(ValueType self, BitWidth bitWidth)

FILE: dart/test/bool_structs_generated.dart
  class Foo (line 8) | class Foo {
    method toString (line 24) | String toString()
    method unpack (line 28) | FooT unpack()
    method pack (line 30) | int pack(fb.Builder fbBuilder, FooT? object)
  class FooT (line 36) | class FooT implements fb.Packable {
    method pack (line 42) | int pack(fb.Builder fbBuilder)
    method toString (line 51) | String toString()
  class _FooReader (line 56) | class _FooReader extends fb.TableReader<Foo> {
    method createObject (line 60) | Foo createObject(fb.BufferContext bc, int offset)
  class FooBuilder (line 63) | class FooBuilder {
    method begin (line 68) | void begin()
    method addMyFoo (line 72) | int addMyFoo(int offset)
    method finish (line 77) | int finish()
  class FooObjectBuilder (line 82) | class FooObjectBuilder extends fb.ObjectBuilder {
    method finish (line 89) | int finish(fb.Builder fbBuilder)
    method toBytes (line 99) | Uint8List toBytes([String? fileIdentifier])
  class FooProperties (line 106) | class FooProperties {
    method toString (line 118) | String toString()
    method unpack (line 122) | FooPropertiesT unpack()
    method pack (line 124) | int pack(fb.Builder fbBuilder, FooPropertiesT? object)
  class FooPropertiesT (line 130) | class FooPropertiesT implements fb.Packable {
    method pack (line 137) | int pack(fb.Builder fbBuilder)
    method toString (line 144) | String toString()
  class _FooPropertiesReader (line 149) | class _FooPropertiesReader extends fb.StructReader<FooProperties> {
    method createObject (line 156) | FooProperties createObject(fb.BufferContext bc, int offset)
  class FooPropertiesBuilder (line 160) | class FooPropertiesBuilder {
    method finish (line 165) | int finish(bool a, bool b)
  class FooPropertiesObjectBuilder (line 172) | class FooPropertiesObjectBuilder extends fb.ObjectBuilder {
    method finish (line 182) | int finish(fb.Builder fbBuilder)
    method toBytes (line 190) | Uint8List toBytes([String? fileIdentifier])

FILE: dart/test/enums_generated.dart
  type OptionsEnum (line 8) | enum OptionsEnum {
  class _OptionsEnumReader (line 37) | class _OptionsEnumReader extends fb.Reader<OptionsEnum> {
    method read (line 44) | OptionsEnum read(fb.BufferContext bc, int offset)
  class MyTable (line 48) | class MyTable {
    method toString (line 65) | String toString()
    method unpack (line 69) | MyTableT unpack()
    method pack (line 76) | int pack(fb.Builder fbBuilder, MyTableT? object)
  class MyTableT (line 82) | class MyTableT implements fb.Packable {
    method pack (line 88) | int pack(fb.Builder fbBuilder)
    method toString (line 98) | String toString()
  class _MyTableReader (line 103) | class _MyTableReader extends fb.TableReader<MyTable> {
    method createObject (line 107) | MyTable createObject(fb.BufferContext bc, int offset)
  class MyTableBuilder (line 111) | class MyTableBuilder {
    method begin (line 116) | void begin()
    method addOptionsOffset (line 120) | int addOptionsOffset(int? offset)
    method finish (line 125) | int finish()
  class MyTableObjectBuilder (line 130) | class MyTableObjectBuilder extends fb.ObjectBuilder {
    method finish (line 137) | int finish(fb.Builder fbBuilder)
    method toBytes (line 148) | Uint8List toBytes([String? fileIdentifier])

FILE: dart/test/flat_buffers_test.dart
  function main (line 14) | main()
  function indexToField (line 24) | int indexToField(int index)
  class CheckOtherLangaugesData (line 28) | @reflectiveTest
  class CustomAllocator (line 151) | class CustomAllocator extends Allocator {
    method buffer (line 155) | Uint8List buffer(int size)
    method allocate (line 158) | ByteData allocate(int size)
    method deallocate (line 167) | void deallocate(ByteData _)
  class BuilderTest (line 170) | @reflectiveTest
    method test_monsterBuilder (line 172) | void test_monsterBuilder([Builder? builder])
    method test_error_addInt32_withoutStartTable (line 222) | void test_error_addInt32_withoutStartTable([Builder? builder])
    method test_error_addOffset_withoutStartTable (line 229) | void test_error_addOffset_withoutStartTable()
    method test_error_endTable_withoutStartTable (line 236) | void test_error_endTable_withoutStartTable()
    method test_error_startTable_duringTable (line 243) | void test_error_startTable_duringTable()
    method test_error_writeString_duringTable (line 251) | void test_error_writeString_duringTable()
    method test_file_identifier (line 259) | void test_file_identifier()
    method test_low (line 288) | void test_low()
    method test_table_default (line 367) | void test_table_default()
    method test_table_format (line 394) | void test_table_format([Builder? builder])
    method test_table_string (line 429) | void test_table_string()
    method test_table_types (line 469) | void test_table_types([Builder? builder])
    method test_writeList_of_Uint32 (line 527) | void test_writeList_of_Uint32()
    method test_writeList_ofBool (line 544) | void test_writeList_ofBool()
    method verifyListBooleans (line 545) | void verifyListBooleans(int len, List<int> trueBits)
    method test_writeList_ofInt32 (line 587) | void test_writeList_ofInt32()
    method test_writeList_ofFloat64 (line 602) | void test_writeList_ofFloat64()
    method test_writeList_ofFloat32 (line 623) | void test_writeList_ofFloat32()
    method test_writeList_ofObjects (line 642) | void test_writeList_ofObjects([Builder? builder])
    method test_writeList_ofStrings_asRoot (line 679) | void test_writeList_ofStrings_asRoot()
    method test_writeList_ofStrings_inObject (line 697) | void test_writeList_ofStrings_inObject([Builder? builder])
    method test_writeList_ofUint32 (line 720) | void test_writeList_ofUint32()
    method test_writeList_ofUint16 (line 735) | void test_writeList_ofUint16()
    method test_writeList_ofUint8 (line 750) | void test_writeList_ofUint8()
    method test_reset (line 775) | void test_reset()
    method _permutationsOf (line 812) | List<List<T>> _permutationsOf<T>(List<T> source)
    method permutate (line 815) | void permutate(List<T> items, int startAt)
    method _factorial (line 835) | int _factorial(int n)
  class ObjectAPITest (line 844) | @reflectiveTest
    method test_tableStat (line 846) | void test_tableStat()
    method test_tableMonster (line 857) | void test_tableMonster()
    method test_Lists (line 907) | void test_Lists()
  class StringListWrapperImpl (line 937) | class StringListWrapperImpl {
  class StringListWrapperReader (line 948) | class StringListWrapperReader extends TableReader<StringListWrapperImpl> {
    method createObject (line 952) | StringListWrapperImpl createObject(BufferContext object, int offset)
  class TestPointImpl (line 957) | class TestPointImpl {
  class TestPointReader (line 968) | class TestPointReader extends TableReader<TestPointImpl> {
    method createObject (line 972) | TestPointImpl createObject(BufferContext object, int offset)
  class GeneratorTest (line 977) | @reflectiveTest
    method test_constantEnumValues (line 979) | void test_constantEnumValues()
  class ListOfEnumsTest (line 995) | @reflectiveTest
    method test_listOfEnums (line 997) | void test_listOfEnums()
  class BoolInStructTest (line 1013) | @reflectiveTest
    method test_boolInStruct (line 1015) | void test_boolInStruct()

FILE: dart/test/flex_builder_test.dart
  function main (line 6) | void main()

FILE: dart/test/flex_reader_test.dart
  function main (line 6) | void main()
  function b (line 855) | ByteBuffer b(List<int> values)
  function testNumbers (line 860) | void testNumbers(List<int> buffer, List<num> numbers)
  function testStrings (line 868) | void testStrings(List<int> buffer, List<String> numbers)
  function complexMap (line 876) | Reference complexMap()

FILE: dart/test/flex_types_test.dart
  function main (line 4) | void main()

FILE: dart/test/include_test1_generated.dart
  class TableA (line 11) | class TableA {
    method toString (line 29) | String toString()
    method unpack (line 33) | TableAT unpack()
    method pack (line 35) | int pack(fb.Builder fbBuilder, TableAT? object)
  class TableAT (line 41) | class TableAT implements fb.Packable {
    method pack (line 47) | int pack(fb.Builder fbBuilder)
    method toString (line 55) | String toString()
  class _TableAReader (line 60) | class _TableAReader extends fb.TableReader<TableA> {
    method createObject (line 64) | TableA createObject(fb.BufferContext bc, int offset)
  class TableABuilder (line 67) | class TableABuilder {
    method begin (line 72) | void begin()
    method addBOffset (line 76) | int addBOffset(int? offset)
    method finish (line 81) | int finish()
  class TableAObjectBuilder (line 86) | class TableAObjectBuilder extends fb.ObjectBuilder {
    method finish (line 94) | int finish(fb.Builder fbBuilder)
    method toBytes (line 103) | Uint8List toBytes([String? fileIdentifier])

FILE: dart/test/include_test2_my_game.other_name_space_generated.dart
  type FromInclude (line 12) | enum FromInclude {
  class _FromIncludeReader (line 35) | class _FromIncludeReader extends fb.Reader<FromInclude> {
    method read (line 42) | FromInclude read(fb.BufferContext bc, int offset)
  class Unused (line 46) | class Unused {
    method toString (line 57) | String toString()
    method unpack (line 61) | UnusedT unpack()
    method pack (line 63) | int pack(fb.Builder fbBuilder, UnusedT? object)
  class UnusedT (line 69) | class UnusedT implements fb.Packable {
    method pack (line 75) | int pack(fb.Builder fbBuilder)
    method toString (line 81) | String toString()
  class _UnusedReader (line 86) | class _UnusedReader extends fb.StructReader<Unused> {
    method createObject (line 93) | Unused createObject(fb.BufferContext bc, int offset)
  class UnusedBuilder (line 96) | class UnusedBuilder {
    method finish (line 101) | int finish(int a)
  class UnusedObjectBuilder (line 107) | class UnusedObjectBuilder extends fb.ObjectBuilder {
    method finish (line 114) | int finish(fb.Builder fbBuilder)
    method toBytes (line 121) | Uint8List toBytes([String? fileIdentifier])
  class TableB (line 128) | class TableB {
    method toString (line 143) | String toString()
    method unpack (line 147) | TableBT unpack()
    method pack (line 149) | int pack(fb.Builder fbBuilder, TableBT? object)
  class TableBT (line 155) | class TableBT implements fb.Packable {
    method pack (line 161) | int pack(fb.Builder fbBuilder)
    method toString (line 169) | String toString()
  class _TableBReader (line 174) | class _TableBReader extends fb.TableReader<TableB> {
    method createObject (line 178) | TableB createObject(fb.BufferContext bc, int offset)
  class TableBBuilder (line 181) | class TableBBuilder {
    method begin (line 186) | void begin()
    method addAOffset (line 190) | int addAOffset(int? offset)
    method finish (line 195) | int finish()
  class TableBObjectBuilder (line 200) | class TableBObjectBuilder extends fb.ObjectBuilder {
    method finish (line 207) | int finish(fb.Builder fbBuilder)
    method toBytes (line 216) | Uint8List toBytes([String? fileIdentifier])

FILE: dart/test/keyword_test_keyword_test_generated.dart
  type Abc (line 11) | enum Abc {
  class _AbcReader (line 36) | class _AbcReader extends fb.Reader<Abc> {
    method read (line 43) | Abc read(fb.BufferContext bc, int offset)
  type Public (line 47) | enum Public {
  class _PublicReader (line 68) | class _PublicReader extends fb.Reader<Public> {
    method read (line 75) | Public read(fb.BufferContext bc, int offset)
  type KeywordsInUnionTypeId (line 79) | enum KeywordsInUnionTypeId {
  class _KeywordsInUnionTypeIdReader (line 104) | class _KeywordsInUnionTypeIdReader extends fb.Reader<KeywordsInUnionType...
    method read (line 111) | KeywordsInUnionTypeId read(fb.BufferContext bc, int offset)
  class KeywordsInTable (line 115) | class KeywordsInTable {
    method toString (line 133) | String toString()
    method unpack (line 137) | KeywordsInTableT unpack()
    method pack (line 143) | int pack(fb.Builder fbBuilder, KeywordsInTableT? object)
  class KeywordsInTableT (line 149) | class KeywordsInTableT implements fb.Packable {
    method pack (line 162) | int pack(fb.Builder fbBuilder)
    method toString (line 172) | String toString()
  class _KeywordsInTableReader (line 177) | class _KeywordsInTableReader extends fb.TableReader<KeywordsInTable> {
    method createObject (line 181) | KeywordsInTable createObject(fb.BufferContext bc, int offset)
  class KeywordsInTableBuilder (line 185) | class KeywordsInTableBuilder {
    method begin (line 190) | void begin()
    method addIs (line 194) | int addIs(Abc? $is)
    method addPrivate (line 198) | int addPrivate(Public? private)
    method addType (line 202) | int addType(int? type)
    method addDefault (line 206) | int addDefault(bool? $default)
    method finish (line 211) | int finish()
  class KeywordsInTableObjectBuilder (line 216) | class KeywordsInTableObjectBuilder extends fb.ObjectBuilder {
    method finish (line 235) | int finish(fb.Builder fbBuilder)
    method toBytes (line 246) | Uint8List toBytes([String? fileIdentifier])
  class Table2 (line 252) | class Table2 {
    method toString (line 274) | String toString()
    method unpack (line 278) | Table2T unpack()
    method pack (line 282) | int pack(fb.Builder fbBuilder, Table2T? object)
  class Table2T (line 288) | class Table2T implements fb.Packable {
    method pack (line 297) | int pack(fb.Builder fbBuilder)
    method toString (line 306) | String toString()
  class _Table2Reader (line 311) | class _Table2Reader extends fb.TableReader<Table2> {
    method createObject (line 315) | Table2 createObject(fb.BufferContext bc, int offset)
  class Table2Builder (line 319) | class Table2Builder {
    method begin (line 324) | void begin()
    method addTypeType (line 328) | int addTypeType(KeywordsInUnionTypeId? typeType)
    method addTypeOffset (line 332) | int addTypeOffset(int? offset)
    method finish (line 337) | int finish()
  class Table2ObjectBuilder (line 342) | class Table2ObjectBuilder extends fb.ObjectBuilder {
    method finish (line 355) | int finish(fb.Builder fbBuilder)
    method toBytes (line 365) | Uint8List toBytes([String? fileIdentifier])

FILE: dart/test/monster_test_my_game.example2_generated.dart
  class Monster (line 14) | class Monster {
    method toString (line 27) | String toString()
    method unpack (line 31) | MonsterT unpack()
    method pack (line 33) | int pack(fb.Builder fbBuilder, MonsterT? object)
  class MonsterT (line 39) | class MonsterT implements fb.Packable {
    method pack (line 41) | int pack(fb.Builder fbBuilder)
    method toString (line 47) | String toString()
  class _MonsterReader (line 52) | class _MonsterReader extends fb.TableReader<Monster> {
    method createObject (line 56) | Monster createObject(fb.BufferContext bc, int offset)
  class MonsterObjectBuilder (line 60) | class MonsterObjectBuilder extends fb.ObjectBuilder {
    method finish (line 65) | int finish(fb.Builder fbBuilder)
    method toBytes (line 72) | Uint8List toBytes([String? fileIdentifier])

FILE: dart/test/monster_test_my_game.example_generated.dart
  type Color (line 15) | enum Color {
  class _ColorReader (line 45) | class _ColorReader extends fb.Reader<Color> {
    method read (line 52) | Color read(fb.BufferContext bc, int offset)
  type Race (line 56) | enum Race {
  class _RaceReader (line 88) | class _RaceReader extends fb.Reader<Race> {
    method read (line 95) | Race read(fb.BufferContext bc, int offset)
  type LongEnum (line 99) | enum LongEnum {
  class _LongEnumReader (line 129) | class _LongEnumReader extends fb.Reader<LongEnum> {
    method read (line 136) | LongEnum read(fb.BufferContext bc, int offset)
  type AnyTypeId (line 140) | enum AnyTypeId {
  class _AnyTypeIdReader (line 172) | class _AnyTypeIdReader extends fb.Reader<AnyTypeId> {
    method read (line 179) | AnyTypeId read(fb.BufferContext bc, int offset)
  type AnyUniqueAliasesTypeId (line 183) | enum AnyUniqueAliasesTypeId {
  class _AnyUniqueAliasesTypeIdReader (line 216) | class _AnyUniqueAliasesTypeIdReader extends fb.Reader<AnyUniqueAliasesTy...
    method read (line 223) | AnyUniqueAliasesTypeId read(fb.BufferContext bc, int offset)
  type AnyAmbiguousAliasesTypeId (line 227) | enum AnyAmbiguousAliasesTypeId {
  class _AnyAmbiguousAliasesTypeIdReader (line 260) | class _AnyAmbiguousAliasesTypeIdReader
    method read (line 268) | AnyAmbiguousAliasesTypeId read(fb.BufferContext bc, int offset)
  class Test (line 274) | class Test {
    method toString (line 286) | String toString()
    method unpack (line 290) | TestT unpack()
    method pack (line 292) | int pack(fb.Builder fbBuilder, TestT? object)
  class TestT (line 298) | class TestT implements fb.Packable {
    method pack (line 305) | int pack(fb.Builder fbBuilder)
    method toString (line 313) | String toString()
  class _TestReader (line 318) | class _TestReader extends fb.StructReader<Test> {
    method createObject (line 325) | Test createObject(fb.BufferContext bc, int offset)
  class TestBuilder (line 328) | class TestBuilder {
    method finish (line 333) | int finish(int a, int b)
  class TestObjectBuilder (line 341) | class TestObjectBuilder extends fb.ObjectBuilder {
    method finish (line 349) | int finish(fb.Builder fbBuilder)
    method toBytes (line 358) | Uint8List toBytes([String? fileIdentifier])
  class TestSimpleTableWithEnum (line 365) | class TestSimpleTableWithEnum {
    method toString (line 382) | String toString()
    method unpack (line 386) | TestSimpleTableWithEnumT unpack()
    method pack (line 388) | int pack(fb.Builder fbBuilder, TestSimpleTableWithEnumT? object)
  class TestSimpleTableWithEnumT (line 394) | class TestSimpleTableWithEnumT implements fb.Packable {
    method pack (line 400) | int pack(fb.Builder fbBuilder)
    method toString (line 407) | String toString()
  class _TestSimpleTableWithEnumReader (line 412) | class _TestSimpleTableWithEnumReader
    method createObject (line 417) | TestSimpleTableWithEnum createObject(fb.BufferContext bc, int offset)
  class TestSimpleTableWithEnumBuilder (line 421) | class TestSimpleTableWithEnumBuilder {
    method begin (line 426) | void begin()
    method addColor (line 430) | int addColor(Color? color)
    method finish (line 435) | int finish()
  class TestSimpleTableWithEnumObjectBuilder (line 440) | class TestSimpleTableWithEnumObjectBuilder extends fb.ObjectBuilder {
    method finish (line 447) | int finish(fb.Builder fbBuilder)
    method toBytes (line 455) | Uint8List toBytes([String? fileIdentifier])
  class Vec3 (line 462) | class Vec3 {
    method toString (line 479) | String toString()
    method unpack (line 483) | Vec3T unpack()
    method pack (line 492) | int pack(fb.Builder fbBuilder, Vec3T? object)
  class Vec3T (line 498) | class Vec3T implements fb.Packable {
    method pack (line 516) | int pack(fb.Builder fbBuilder)
    method toString (line 530) | String toString()
  class _Vec3Reader (line 535) | class _Vec3Reader extends fb.StructReader<Vec3> {
    method createObject (line 542) | Vec3 createObject(fb.BufferContext bc, int offset)
  class Vec3Builder (line 545) | class Vec3Builder {
    method finish (line 550) | int finish(
  class Vec3ObjectBuilder (line 571) | class Vec3ObjectBuilder extends fb.ObjectBuilder {
    method finish (line 595) | int finish(fb.Builder fbBuilder)
    method toBytes (line 610) | Uint8List toBytes([String? fileIdentifier])
  class Ability (line 617) | class Ability {
    method toString (line 629) | String toString()
    method unpack (line 633) | AbilityT unpack()
    method pack (line 635) | int pack(fb.Builder fbBuilder, AbilityT? object)
  class AbilityT (line 641) | class AbilityT implements fb.Packable {
    method pack (line 648) | int pack(fb.Builder fbBuilder)
    method toString (line 655) | String toString()
  class _AbilityReader (line 660) | class _AbilityReader extends fb.StructReader<Ability> {
    method createObject (line 667) | Ability createObject(fb.BufferContext bc, int offset)
  class AbilityBuilder (line 671) | class AbilityBuilder {
    method finish (line 676) | int finish(int id, int distance)
  class AbilityObjectBuilder (line 683) | class AbilityObjectBuilder extends fb.ObjectBuilder {
    method finish (line 693) | int finish(fb.Builder fbBuilder)
    method toBytes (line 701) | Uint8List toBytes([String? fileIdentifier])
  class StructOfStructs (line 708) | class StructOfStructs {
    method toString (line 721) | String toString()
    method unpack (line 725) | StructOfStructsT unpack()
    method pack (line 728) | int pack(fb.Builder fbBuilder, StructOfStructsT? object)
  class StructOfStructsT (line 734) | class StructOfStructsT implements fb.Packable {
    method pack (line 742) | int pack(fb.Builder fbBuilder)
    method toString (line 750) | String toString()
  class _StructOfStructsReader (line 755) | class _StructOfStructsReader extends fb.StructReader<StructOfStructs> {
    method createObject (line 762) | StructOfStructs createObject(fb.BufferContext bc, int offset)
  class StructOfStructsBuilder (line 766) | class StructOfStructsBuilder {
    method finish (line 771) | int finish(fb.StructBuilder a, fb.StructBuilder b, fb.StructBuilder c)
  class StructOfStructsObjectBuilder (line 779) | class StructOfStructsObjectBuilder extends fb.ObjectBuilder {
    method finish (line 794) | int finish(fb.Builder fbBuilder)
    method toBytes (line 803) | Uint8List toBytes([String? fileIdentifier])
  class StructOfStructsOfStructs (line 810) | class StructOfStructsOfStructs {
    method toString (line 822) | String toString()
    method unpack (line 826) | StructOfStructsOfStructsT unpack()
    method pack (line 829) | int pack(fb.Builder fbBuilder, StructOfStructsOfStructsT? object)
  class StructOfStructsOfStructsT (line 835) | class StructOfStructsOfStructsT implements fb.Packable {
    method pack (line 841) | int pack(fb.Builder fbBuilder)
    method toString (line 847) | String toString()
  class _StructOfStructsOfStructsReader (line 852) | class _StructOfStructsOfStructsReader
    method createObject (line 860) | StructOfStructsOfStructs createObject(fb.BufferContext bc, int offset)
  class StructOfStructsOfStructsBuilder (line 864) | class StructOfStructsOfStructsBuilder {
    method finish (line 869) | int finish(fb.StructBuilder a)
  class StructOfStructsOfStructsObjectBuilder (line 875) | class StructOfStructsOfStructsObjectBuilder extends fb.ObjectBuilder {
    method finish (line 884) | int finish(fb.Builder fbBuilder)
    method toBytes (line 891) | Uint8List toBytes([String? fileIdentifier])
  class Stat (line 898) | class Stat {
    method toString (line 916) | String toString()
    method unpack (line 920) | StatT unpack()
    method pack (line 922) | int pack(fb.Builder fbBuilder, StatT? object)
  class StatT (line 928) | class StatT implements fb.Packable {
    method pack (line 936) | int pack(fb.Builder fbBuilder)
    method toString (line 946) | String toString()
  class _StatReader (line 951) | class _StatReader extends fb.TableReader<Stat> {
    method createObject (line 955) | Stat createObject(fb.BufferContext bc, int offset)
  class StatBuilder (line 958) | class StatBuilder {
    method begin (line 963) | void begin()
    method addIdOffset (line 967) | int addIdOffset(int? offset)
    method addVal (line 972) | int addVal(int? val)
    method addCount (line 977) | int addCount(int? count)
    method finish (line 982) | int finish()
  class StatObjectBuilder (line 987) | class StatObjectBuilder extends fb.ObjectBuilder {
    method finish (line 999) | int finish(fb.Builder fbBuilder)
    method toBytes (line 1010) | Uint8List toBytes([String? fileIdentifier])
  class Referrable (line 1017) | class Referrable {
    method toString (line 1032) | String toString()
    method unpack (line 1036) | ReferrableT unpack()
    method pack (line 1038) | int pack(fb.Builder fbBuilder, ReferrableT? object)
  class ReferrableT (line 1044) | class ReferrableT implements fb.Packable {
    method pack (line 1050) | int pack(fb.Builder fbBuilder)
    method toString (line 1057) | String toString()
  class _ReferrableReader (line 1062) | class _ReferrableReader extends fb.TableReader<Referrable> {
    method createObject (line 1066) | Referrable createObject(fb.BufferContext bc, int offset)
  class ReferrableBuilder (line 1070) | class ReferrableBuilder {
    method begin (line 1075) | void begin()
    method addId (line 1079) | int addId(int? id)
    method finish (line 1084) | int finish()
  class ReferrableObjectBuilder (line 1089) | class ReferrableObjectBuilder extends fb.ObjectBuilder {
    method finish (line 1096) | int finish(fb.Builder fbBuilder)
    method toBytes (line 1104) | Uint8List toBytes([String? fileIdentifier])
  class Monster (line 1112) | class Monster {
    method toString (line 1326) | String toString()
    method unpack (line 1330) | MonsterT unpack()
    method pack (line 1394) | int pack(fb.Builder fbBuilder, MonsterT? object)
  class MonsterT (line 1401) | class MonsterT implements fb.Packable {
    method pack (line 1532) | int pack(fb.Builder fbBuilder)
    method toString (line 1700) | String toString()
  class _MonsterReader (line 1705) | class _MonsterReader extends fb.TableReader<Monster> {
    method createObject (line 1709) | Monster createObject(fb.BufferContext bc, int offset)
  class MonsterBuilder (line 1713) | class MonsterBuilder {
    method begin (line 1718) | void begin()
    method addPos (line 1722) | int addPos(int offset)
    method addMana (line 1727) | int addMana(int? mana)
    method addHp (line 1732) | int addHp(int? hp)
    method addNameOffset (line 1737) | int addNameOffset(int? offset)
    method addInventoryOffset (line 1742) | int addInventoryOffset(int? offset)
    method addColor (line 1747) | int addColor(Color? color)
    method addTestType (line 1752) | int addTestType(AnyTypeId? testType)
    method addTestOffset (line 1757) | int addTestOffset(int? offset)
    method addTest4Offset (line 1762) | int addTest4Offset(int? offset)
    method addTestarrayofstringOffset (line 1767) | int addTestarrayofstringOffset(int? offset)
    method addTestarrayoftablesOffset (line 1772) | int addTestarrayoftablesOffset(int? offset)
    method addEnemyOffset (line 1777) | int addEnemyOffset(int? offset)
    method addTestnestedflatbufferOffset (line 1782) | int addTestnestedflatbufferOffset(int? offset)
    method addTestemptyOffset (line 1787) | int addTestemptyOffset(int? offset)
    method addTestbool (line 1792) | int addTestbool(bool? testbool)
    method addTesthashs32Fnv1 (line 1797) | int addTesthashs32Fnv1(int? testhashs32Fnv1)
    method addTesthashu32Fnv1 (line 1802) | int addTesthashu32Fnv1(int? testhashu32Fnv1)
    method addTesthashs64Fnv1 (line 1807) | int addTesthashs64Fnv1(int? testhashs64Fnv1)
    method addTesthashu64Fnv1 (line 1812) | int addTesthashu64Fnv1(int? testhashu64Fnv1)
    method addTesthashs32Fnv1a (line 1817) | int addTesthashs32Fnv1a(int? testhashs32Fnv1a)
    method addTesthashu32Fnv1a (line 1822) | int addTesthashu32Fnv1a(int? testhashu32Fnv1a)
    method addTesthashs64Fnv1a (line 1827) | int addTesthashs64Fnv1a(int? testhashs64Fnv1a)
    method addTesthashu64Fnv1a (line 1832) | int addTesthashu64Fnv1a(int? testhashu64Fnv1a)
    method addTestarrayofboolsOffset (line 1837) | int addTestarrayofboolsOffset(int? offset)
    method addTestf (line 1842) | int addTestf(double? testf)
    method addTestf2 (line 1847) | int addTestf2(double? testf2)
    method addTestf3 (line 1852) | int addTestf3(double? testf3)
    method addTestarrayofstring2Offset (line 1857) | int addTestarrayofstring2Offset(int? offset)
    method addTestarrayofsortedstructOffset (line 1862) | int addTestarrayofsortedstructOffset(int? offset)
    method addFlexOffset (line 1867) | int addFlexOffset(int? offset)
    method addTest5Offset (line 1872) | int addTest5Offset(int? offset)
    method addVectorOfLongsOffset (line 1877) | int addVectorOfLongsOffset(int? offset)
    method addVectorOfDoublesOffset (line 1882) | int addVectorOfDoublesOffset(int? offset)
    method addParentNamespaceTestOffset (line 1887) | int addParentNamespaceTestOffset(int? offset)
    method addVectorOfReferrablesOffset (line 1892) | int addVectorOfReferrablesOffset(int? offset)
    method addSingleWeakReference (line 1897) | int addSingleWeakReference(int? singleWeakReference)
    method addVectorOfWeakReferencesOffset (line 1902) | int addVectorOfWeakReferencesOffset(int? offset)
    method addVectorOfStrongReferrablesOffset (line 1907) | int addVectorOfStrongReferrablesOffset(int? offset)
    method addCoOwningReference (line 1912) | int addCoOwningReference(int? coOwningReference)
    method addVectorOfCoOwningReferencesOffset (line 1917) | int addVectorOfCoOwningReferencesOffset(int? offset)
    method addNonOwningReference (line 1922) | int addNonOwningReference(int? nonOwningReference)
    method addVectorOfNonOwningReferencesOffset (line 1927) | int addVectorOfNonOwningReferencesOffset(int? offset)
    method addAnyUniqueType (line 1932) | int addAnyUniqueType(AnyUniqueAliasesTypeId? anyUniqueType)
    method addAnyUniqueOffset (line 1937) | int addAnyUniqueOffset(int? offset)
    method addAnyAmbiguousType (line 1942) | int addAnyAmbiguousType(AnyAmbiguousAliasesTypeId? anyAmbiguousType)
    method addAnyAmbiguousOffset (line 1947) | int addAnyAmbiguousOffset(int? offset)
    method addVectorOfEnumsOffset (line 1952) | int addVectorOfEnumsOffset(int? offset)
    method addSignedEnum (line 1957) | int addSignedEnum(Race? signedEnum)
    method addTestrequirednestedflatbufferOffset (line 1962) | int addTestrequirednestedflatbufferOffset(int? offset)
    method addScalarKeySortedTablesOffset (line 1967) | int addScalarKeySortedTablesOffset(int? offset)
    method addNativeInline (line 1972) | int addNativeInline(int offset)
    method addLongEnumNonEnumDefault (line 1977) | int addLongEnumNonEnumDefault(LongEnum? longEnumNonEnumDefault)
    method addLongEnumNormalDefault (line 1982) | int addLongEnumNormalDefault(LongEnum? longEnumNormalDefault)
    method addNanDefault (line 1987) | int addNanDefault(double? nanDefault)
    method addInfDefault (line 1992) | int addInfDefault(double? infDefault)
    method addPositiveInfDefault (line 1997) | int addPositiveInfDefault(double? positiveInfDefault)
    method addInfinityDefault (line 2002) | int addInfinityDefault(double? infinityDefault)
    method addPositiveInfinityDefault (line 2007) | int addPositiveInfinityDefault(double? positiveInfinityDefault)
    method addNegativeInfDefault (line 2012) | int addNegativeInfDefault(double? negativeInfDefault)
    method addNegativeInfinityDefault (line 2017) | int addNegativeInfinityDefault(double? negativeInfinityDefault)
    method addDoubleInfDefault (line 2022) | int addDoubleInfDefault(double? doubleInfDefault)
    method finish (line 2027) | int finish()
  class MonsterObjectBuilder (line 2032) | class MonsterObjectBuilder extends fb.ObjectBuilder {
    method finish (line 2221) | int finish(fb.Builder fbBuilder)
    method toBytes (line 2389) | Uint8List toBytes([String? fileIdentifier])
  class TypeAliases (line 2396) | class TypeAliases {
    method toString (line 2425) | String toString()
    method unpack (line 2429) | TypeAliasesT unpack()
    method pack (line 2444) | int pack(fb.Builder fbBuilder, TypeAliasesT? object)
  class TypeAliasesT (line 2450) | class TypeAliasesT implements fb.Packable {
    method pack (line 2480) | int pack(fb.Builder fbBuilder)
    method toString (line 2502) | String toString()
  class _TypeAliasesReader (line 2507) | class _TypeAliasesReader extends fb.TableReader<TypeAliases> {
    method createObject (line 2511) | TypeAliases createObject(fb.BufferContext bc, int offset)
  class TypeAliasesBuilder (line 2515) | class TypeAliasesBuilder {
    method begin (line 2520) | void begin()
    method addI8 (line 2524) | int addI8(int? i8)
    method addU8 (line 2529) | int addU8(int? u8)
    method addI16 (line 2534) | int addI16(int? i16)
    method addU16 (line 2539) | int addU16(int? u16)
    method addI32 (line 2544) | int addI32(int? i32)
    method addU32 (line 2549) | int addU32(int? u32)
    method addI64 (line 2554) | int addI64(int? i64)
    method addU64 (line 2559) | int addU64(int? u64)
    method addF32 (line 2564) | int addF32(double? f32)
    method addF64 (line 2569) | int addF64(double? f64)
    method addV8Offset (line 2574) | int addV8Offset(int? offset)
    method addVf64Offset (line 2579) | int addVf64Offset(int? offset)
    method finish (line 2584) | int finish()
  class TypeAliasesObjectBuilder (line 2589) | class TypeAliasesObjectBuilder extends fb.ObjectBuilder {
    method finish (line 2631) | int finish(fb.Builder fbBuilder)
    method toBytes (line 2654) | Uint8List toBytes([String? fileIdentifier])

FILE: dart/test/monster_test_my_game_generated.dart
  class InParentNamespace (line 14) | class InParentNamespace {
    method toString (line 27) | String toString()
    method unpack (line 31) | InParentNamespaceT unpack()
    method pack (line 33) | int pack(fb.Builder fbBuilder, InParentNamespaceT? object)
  class InParentNamespaceT (line 39) | class InParentNamespaceT implements fb.Packable {
    method pack (line 41) | int pack(fb.Builder fbBuilder)
    method toString (line 47) | String toString()
  class _InParentNamespaceReader (line 52) | class _InParentNamespaceReader extends fb.TableReader<InParentNamespace> {
    method createObject (line 56) | InParentNamespace createObject(fb.BufferContext bc, int offset)
  class InParentNamespaceObjectBuilder (line 60) | class InParentNamespaceObjectBuilder extends fb.ObjectBuilder {
    method finish (line 65) | int finish(fb.Builder fbBuilder)
    method toBytes (line 72) | Uint8List toBytes([String? fileIdentifier])

FILE: examples/go-echo/client/client.go
  function RequestBody (line 15) | func RequestBody() *bytes.Reader {
  function ReadResponse (line 22) | func ReadResponse(r *http.Response) {
  function main (line 35) | func main() {

FILE: examples/go-echo/hero/Warrior.go
  type WarriorT (line 9) | type WarriorT struct
    method Pack (line 14) | func (t *WarriorT) Pack(builder *flatbuffers.Builder) flatbuffers.UOff...
  type Warrior (line 42) | type Warrior struct
    method UnPackTo (line 28) | func (rcv *Warrior) UnPackTo(t *WarriorT) {
    method UnPack (line 33) | func (rcv *Warrior) UnPack() *WarriorT {
    method Init (line 60) | func (rcv *Warrior) Init(buf []byte, i flatbuffers.UOffsetT) {
    method Table (line 65) | func (rcv *Warrior) Table() flatbuffers.Table {
    method Name (line 69) | func (rcv *Warrior) Name() []byte {
    method Hp (line 77) | func (rcv *Warrior) Hp() uint32 {
    method MutateHp (line 85) | func (rcv *Warrior) MutateHp(n uint32) bool {
  function GetRootAsWarrior (line 46) | func GetRootAsWarrior(buf []byte, offset flatbuffers.UOffsetT) *Warrior {
  function GetSizePrefixedRootAsWarrior (line 53) | func GetSizePrefixedRootAsWarrior(buf []byte, offset flatbuffers.UOffset...
  function WarriorStart (line 89) | func WarriorStart(builder *flatbuffers.Builder) {
  function WarriorAddName (line 92) | func WarriorAddName(builder *flatbuffers.Builder, name flatbuffers.UOffs...
  function WarriorAddHp (line 95) | func WarriorAddHp(builder *flatbuffers.Builder, hp uint32) {
  function WarriorEnd (line 98) | func WarriorEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {

FILE: examples/go-echo/net/Request.go
  type RequestT (line 11) | type RequestT struct
    method Pack (line 15) | func (t *RequestT) Pack(builder *flatbuffers.Builder) flatbuffers.UOff...
  type Request (line 38) | type Request struct
    method UnPackTo (line 25) | func (rcv *Request) UnPackTo(t *RequestT) {
    method UnPack (line 29) | func (rcv *Request) UnPack() *RequestT {
    method Init (line 56) | func (rcv *Request) Init(buf []byte, i flatbuffers.UOffsetT) {
    method Table (line 61) | func (rcv *Request) Table() flatbuffers.Table {
    method Player (line 65) | func (rcv *Request) Player(obj *hero.Warrior) *hero.Warrior {
  function GetRootAsRequest (line 42) | func GetRootAsRequest(buf []byte, offset flatbuffers.UOffsetT) *Request {
  function GetSizePrefixedRootAsRequest (line 49) | func GetSizePrefixedRootAsRequest(buf []byte, offset flatbuffers.UOffset...
  function RequestStart (line 78) | func RequestStart(builder *flatbuffers.Builder) {
  function RequestAddPlayer (line 81) | func RequestAddPlayer(builder *flatbuffers.Builder, player flatbuffers.U...
  function RequestEnd (line 84) | func RequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {

FILE: examples/go-echo/net/Response.go
  type ResponseT (line 11) | type ResponseT struct
    method Pack (line 15) | func (t *ResponseT) Pack(builder *flatbuffers.Builder) flatbuffers.UOf...
  type Response (line 38) | type Response struct
    method UnPackTo (line 25) | func (rcv *Response) UnPackTo(t *ResponseT) {
    method UnPack (line 29) | func (rcv *Response) UnPack() *ResponseT {
    method Init (line 56) | func (rcv *Response) Init(buf []byte, i flatbuffers.UOffsetT) {
    method Table (line 61) | func (rcv *Response) Table() flatbuffers.Table {
    method Player (line 65) | func (rcv *Response) Player(obj *hero.Warrior) *hero.Warrior {
  function GetRootAsResponse (line 42) | func GetRootAsResponse(buf []byte, offset flatbuffers.UOffsetT) *Response {
  function GetSizePrefixedRootAsResponse (line 49) | func GetSizePrefixedRootAsResponse(buf []byte, offset flatbuffers.UOffse...
  function ResponseStart (line 78) | func ResponseStart(builder *flatbuffers.Builder) {
  function ResponseAddPlayer (line 81) | func ResponseAddPlayer(builder *flatbuffers.Builder, player flatbuffers....
  function ResponseEnd (line 84) | func ResponseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {

FILE: examples/go-echo/server/server.go
  function echo (line 10) | func echo(w http.ResponseWriter, r *http.Request) {
  function main (line 24) | func main() {

FILE: go/builder.go
  type Builder (line 10) | type Builder struct
    method Reset (line 46) | func (b *Builder) Reset() {
    method FinishedBytes (line 74) | func (b *Builder) FinishedBytes() []byte {
    method StartObject (line 80) | func (b *Builder) StartObject(numfields int) {
    method WriteVtable (line 119) | func (b *Builder) WriteVtable() (n UOffsetT) {
    method EndObject (line 208) | func (b *Builder) EndObject() UOffsetT {
    method growByteBuffer (line 217) | func (b *Builder) growByteBuffer() {
    method Head (line 239) | func (b *Builder) Head() UOffsetT {
    method Offset (line 244) | func (b *Builder) Offset() UOffsetT {
    method Pad (line 249) | func (b *Builder) Pad(n int) {
    method Prep (line 260) | func (b *Builder) Prep(size, additionalBytes int) {
    method PrependSOffsetT (line 280) | func (b *Builder) PrependSOffsetT(off SOffsetT) {
    method PrependUOffsetT (line 290) | func (b *Builder) PrependUOffsetT(off UOffsetT) {
    method StartVector (line 305) | func (b *Builder) StartVector(elemSize, numElems, alignment int) UOffs...
    method EndVector (line 314) | func (b *Builder) EndVector(vectorNumElems int) UOffsetT {
    method CreateVectorOfTables (line 325) | func (b *Builder) CreateVectorOfTables(offsets []UOffsetT) UOffsetT {
    method CreateVectorOfSortedTables (line 336) | func (b *Builder) CreateVectorOfSortedTables(offsets []UOffsetT, keyCo...
    method CreateSharedString (line 345) | func (b *Builder) CreateSharedString(s string) UOffsetT {
    method CreateString (line 358) | func (b *Builder) CreateString(s string) UOffsetT {
    method CreateByteString (line 374) | func (b *Builder) CreateByteString(s []byte) UOffsetT {
    method CreateByteVector (line 390) | func (b *Builder) CreateByteVector(v []byte) UOffsetT {
    method assertNested (line 404) | func (b *Builder) assertNested() {
    method assertNotNested (line 414) | func (b *Builder) assertNotNested() {
    method assertFinished (line 428) | func (b *Builder) assertFinished() {
    method PrependBoolSlot (line 442) | func (b *Builder) PrependBoolSlot(o int, x, d bool) {
    method PrependByteSlot (line 457) | func (b *Builder) PrependByteSlot(o int, x, d byte) {
    method PrependUint8Slot (line 467) | func (b *Builder) PrependUint8Slot(o int, x, d uint8) {
    method PrependUint16Slot (line 477) | func (b *Builder) PrependUint16Slot(o int, x, d uint16) {
    method PrependUint32Slot (line 487) | func (b *Builder) PrependUint32Slot(o int, x, d uint32) {
    method PrependUint64Slot (line 497) | func (b *Builder) PrependUint64Slot(o int, x, d uint64) {
    method PrependInt8Slot (line 507) | func (b *Builder) PrependInt8Slot(o int, x, d int8) {
    method PrependInt16Slot (line 517) | func (b *Builder) PrependInt16Slot(o int, x, d int16) {
    method PrependInt32Slot (line 527) | func (b *Builder) PrependInt32Slot(o int, x, d int32) {
    method PrependInt64Slot (line 537) | func (b *Builder) PrependInt64Slot(o int, x, d int64) {
    method PrependFloat32Slot (line 547) | func (b *Builder) PrependFloat32Slot(o int, x, d float32) {
    method PrependFloat64Slot (line 557) | func (b *Builder) PrependFloat64Slot(o int, x, d float64) {
    method PrependUOffsetTSlot (line 567) | func (b *Builder) PrependUOffsetTSlot(o int, x, d UOffsetT) {
    method PrependStructSlot (line 577) | func (b *Builder) PrependStructSlot(voffset int, x, d UOffsetT) {
    method Slot (line 588) | func (b *Builder) Slot(slotnum int) {
    method FinishWithFileIdentifier (line 594) | func (b *Builder) FinishWithFileIdentifier(rootTable UOffsetT, fid []b...
    method FinishSizePrefixed (line 612) | func (b *Builder) FinishSizePrefixed(rootTable UOffsetT) {
    method FinishSizePrefixedWithFileIdentifier (line 619) | func (b *Builder) FinishSizePrefixedWithFileIdentifier(rootTable UOffs...
    method Finish (line 635) | func (b *Builder) Finish(rootTable UOffsetT) {
    method finish (line 641) | func (b *Builder) finish(rootTable UOffsetT, sizePrefix bool) {
    method PrependBool (line 683) | func (b *Builder) PrependBool(x bool) {
    method PrependUint8 (line 690) | func (b *Builder) PrependUint8(x uint8) {
    method PrependUint16 (line 697) | func (b *Builder) PrependUint16(x uint16) {
    method PrependUint32 (line 704) | func (b *Builder) PrependUint32(x uint32) {
    method PrependUint64 (line 711) | func (b *Builder) PrependUint64(x uint64) {
    method PrependInt8 (line 718) | func (b *Builder) PrependInt8(x int8) {
    method PrependInt16 (line 725) | func (b *Builder) PrependInt16(x int16) {
    method PrependInt32 (line 732) | func (b *Builder) PrependInt32(x int32) {
    method PrependInt64 (line 739) | func (b *Builder) PrependInt64(x int64) {
    method PrependFloat32 (line 746) | func (b *Builder) PrependFloat32(x float32) {
    method PrependFloat64 (line 753) | func (b *Builder) PrependFloat64(x float64) {
    method PrependByte (line 760) | func (b *Builder) PrependByte(x byte) {
    method PrependVOffsetT (line 767) | func (b *Builder) PrependVOffsetT(x VOffsetT) {
    method PlaceBool (line 773) | func (b *Builder) PlaceBool(x bool) {
    method PlaceUint8 (line 779) | func (b *Builder) PlaceUint8(x uint8) {
    method PlaceUint16 (line 785) | func (b *Builder) PlaceUint16(x uint16) {
    method PlaceUint32 (line 791) | func (b *Builder) PlaceUint32(x uint32) {
    method PlaceUint64 (line 797) | func (b *Builder) PlaceUint64(x uint64) {
    method PlaceInt8 (line 803) | func (b *Builder) PlaceInt8(x int8) {
    method PlaceInt16 (line 809) | func (b *Builder) PlaceInt16(x int16) {
    method PlaceInt32 (line 815) | func (b *Builder) PlaceInt32(x int32) {
    method PlaceInt64 (line 821) | func (b *Builder) PlaceInt64(x int64) {
    method PlaceFloat32 (line 827) | func (b *Builder) PlaceFloat32(x float32) {
    method PlaceFloat64 (line 833) | func (b *Builder) PlaceFloat64(x float64) {
    method PlaceByte (line 839) | func (b *Builder) PlaceByte(x byte) {
    method PlaceVOffsetT (line 845) | func (b *Builder) PlaceVOffsetT(x VOffsetT) {
    method PlaceSOffsetT (line 851) | func (b *Builder) PlaceSOffsetT(x SOffsetT) {
    method PlaceUOffsetT (line 857) | func (b *Builder) PlaceUOffsetT(x UOffsetT) {
  constant fileIdentifierLength (line 26) | fileIdentifierLength = 4
  constant sizePrefixLength (line 27) | sizePrefixLength = 4
  function NewBuilder (line 31) | func NewBuilder(initialSize int) *Builder {
  type KeyCompare (line 334) | type KeyCompare
  function vtableEqual (line 660) | func vtableEqual(a []UOffsetT, objectStart UOffsetT, b []byte) bool {

FILE: go/encode.go
  type SOffsetT (line 9) | type SOffsetT
  type UOffsetT (line 11) | type UOffsetT
  type VOffsetT (line 13) | type VOffsetT
  constant VtableMetadataFields (line 18) | VtableMetadataFields = 2
  function GetByte (line 22) | func GetByte(buf []byte) byte {
  function GetBool (line 27) | func GetBool(buf []byte) bool {
  function GetUint8 (line 32) | func GetUint8(buf []byte) (n uint8) {
  function GetUint16 (line 38) | func GetUint16(buf []byte) (n uint16) {
  function GetUint32 (line 46) | func GetUint32(buf []byte) (n uint32) {
  function GetUint64 (line 56) | func GetUint64(buf []byte) (n uint64) {
  function GetInt8 (line 70) | func GetInt8(buf []byte) (n int8) {
  function GetInt16 (line 76) | func GetInt16(buf []byte) (n int16) {
  function GetInt32 (line 84) | func GetInt32(buf []byte) (n int32) {
  function GetInt64 (line 94) | func GetInt64(buf []byte) (n int64) {
  function GetFloat32 (line 108) | func GetFloat32(buf []byte) float32 {
  function GetFloat64 (line 114) | func GetFloat64(buf []byte) float64 {
  function GetUOffsetT (line 120) | func GetUOffsetT(buf []byte) UOffsetT {
  function GetSOffsetT (line 125) | func GetSOffsetT(buf []byte) SOffsetT {
  function GetVOffsetT (line 130) | func GetVOffsetT(buf []byte) VOffsetT {
  function WriteByte (line 135) | func WriteByte(buf []byte, n byte) {
  function WriteBool (line 140) | func WriteBool(buf []byte, b bool) {
  function WriteUint8 (line 148) | func WriteUint8(buf []byte, n uint8) {
  function WriteUint16 (line 153) | func WriteUint16(buf []byte, n uint16) {
  function WriteUint32 (line 160) | func WriteUint32(buf []byte, n uint32) {
  function WriteUint64 (line 169) | func WriteUint64(buf []byte, n uint64) {
  function WriteInt8 (line 182) | func WriteInt8(buf []byte, n int8) {
  function WriteInt16 (line 187) | func WriteInt16(buf []byte, n int16) {
  function WriteInt32 (line 194) | func WriteInt32(buf []byte, n int32) {
  function WriteInt64 (line 203) | func WriteInt64(buf []byte, n int64) {
  function WriteFloat32 (line 216) | func WriteFloat32(buf []byte, n float32) {
  function WriteFloat64 (line 221) | func WriteFloat64(buf []byte, n float64) {
  function WriteVOffsetT (line 226) | func WriteVOffsetT(buf []byte, n VOffsetT) {
  function WriteSOffsetT (line 231) | func WriteSOffsetT(buf []byte, n SOffsetT) {
  function WriteUOffsetT (line 236) | func WriteUOffsetT(buf []byte, n UOffsetT) {

FILE: go/grpc.go
  type FlatbuffersCodec (line 19) | type FlatbuffersCodec struct
    method Marshal (line 22) | func (FlatbuffersCodec) Marshal(v interface{}) ([]byte, error) {
    method Unmarshal (line 27) | func (FlatbuffersCodec) Unmarshal(data []byte, v interface{}) error {
    method String (line 47) | func (FlatbuffersCodec) String() string {
    method Name (line 56) | func (FlatbuffersCodec) Name() string {
  type flatbuffersInit (line 60) | type flatbuffersInit interface

FILE: go/lib.go
  type FlatBuffer (line 4) | type FlatBuffer interface
  function GetRootAs (line 10) | func GetRootAs(buf []byte, offset UOffsetT, fb FlatBuffer) {
  function GetSizePrefixedRootAs (line 17) | func GetSizePrefixedRootAs(buf []byte, offset UOffsetT, fb FlatBuffer) {
  function GetSizePrefix (line 23) | func GetSizePrefix(buf []byte, offset UOffsetT) uint32 {
  function GetIndirectOffset (line 28) | func GetIndirectOffset(buf []byte, offset UOffsetT) UOffsetT {
  function GetBufferIdentifier (line 33) | func GetBufferIdentifier(buf []byte) string {
  function GetSizePrefixedBufferIdentifier (line 38) | func GetSizePrefixedBufferIdentifier(buf []byte) string {
  function BufferHasIdentifier (line 43) | func BufferHasIdentifier(buf []byte, identifier string) bool {
  function SizePrefixedBufferHasIdentifier (line 48) | func SizePrefixedBufferHasIdentifier(buf []byte, identifier string) bool {

FILE: go/sizes.go
  constant SizeUint8 (line 11) | SizeUint8 = 1
  constant SizeUint16 (line 13) | SizeUint16 = 2
  constant SizeUint32 (line 15) | SizeUint32 = 4
  constant SizeUint64 (line 17) | SizeUint64 = 8
  constant SizeInt8 (line 20) | SizeInt8 = 1
  constant SizeInt16 (line 22) | SizeInt16 = 2
  constant SizeInt32 (line 24) | SizeInt32 = 4
  constant SizeInt64 (line 26) | SizeInt64 = 8
  constant SizeFloat32 (line 29) | SizeFloat32 = 4
  constant SizeFloat64 (line 31) | SizeFloat64 = 8
  constant SizeByte (line 35) | SizeByte = 1
  constant SizeBool (line 39) | SizeBool = 1
  constant SizeSOffsetT (line 43) | SizeSOffsetT = 4
  constant SizeUOffsetT (line 46) | SizeUOffsetT = 4
  constant SizeVOffsetT (line 49) | SizeVOffsetT = 2
  function byteSliceToString (line 53) | func byteSliceToString(b []byte) string {

FILE: go/struct.go
  type Struct (line 6) | type Struct struct

FILE: go/table.go
  type Table (line 6) | type Table struct
    method Offset (line 14) | func (t *Table) Offset(vtableOffset VOffsetT) VOffsetT {
    method Indirect (line 23) | func (t *Table) Indirect(off UOffsetT) UOffsetT {
    method String (line 28) | func (t *Table) String(off UOffsetT) string {
    method ByteVector (line 35) | func (t *Table) ByteVector(off UOffsetT) []byte {
    method VectorLen (line 58) | func (t *Table) VectorLen(off UOffsetT) int {
    method Vector (line 66) | func (t *Table) Vector(off UOffsetT) UOffsetT {
    method Union (line 76) | func (t *Table) Union(t2 *Table, off UOffsetT) {
    method GetBool (line 83) | func (t *Table) GetBool(off UOffsetT) bool {
    method GetByte (line 88) | func (t *Table) GetByte(off UOffsetT) byte {
    method GetUint8 (line 93) | func (t *Table) GetUint8(off UOffsetT) uint8 {
    method GetUint16 (line 98) | func (t *Table) GetUint16(off UOffsetT) uint16 {
    method GetUint32 (line 103) | func (t *Table) GetUint32(off UOffsetT) uint32 {
    method GetUint64 (line 108) | func (t *Table) GetUint64(off UOffsetT) uint64 {
    method GetInt8 (line 113) | func (t *Table) GetInt8(off UOffsetT) int8 {
    method GetInt16 (line 118) | func (t *Table) GetInt16(off UOffsetT) int16 {
    method GetInt32 (line 123) | func (t *Table) GetInt32(off UOffsetT) int32 {
    method GetInt64 (line 128) | func (t *Table) GetInt64(off UOffsetT) int64 {
    method GetFloat32 (line 133) | func (t *Table) GetFloat32(off UOffsetT) float32 {
    method GetFloat64 (line 138) | func (t *Table) GetFloat64(off UOffsetT) float64 {
    method GetUOffsetT (line 143) | func (t *Table) GetUOffsetT(off UOffsetT) UOffsetT {
    method GetVOffsetT (line 148) | func (t *Table) GetVOffsetT(off UOffsetT) VOffsetT {
    method GetSOffsetT (line 153) | func (t *Table) GetSOffsetT(off UOffsetT) SOffsetT {
    method GetBoolSlot (line 160) | func (t *Table) GetBoolSlot(slot VOffsetT, d bool) bool {
    method GetByteSlot (line 172) | func (t *Table) GetByteSlot(slot VOffsetT, d byte) byte {
    method GetInt8Slot (line 184) | func (t *Table) GetInt8Slot(slot VOffsetT, d int8) int8 {
    method GetUint8Slot (line 196) | func (t *Table) GetUint8Slot(slot VOffsetT, d uint8) uint8 {
    method GetInt16Slot (line 208) | func (t *Table) GetInt16Slot(slot VOffsetT, d int16) int16 {
    method GetUint16Slot (line 220) | func (t *Table) GetUint16Slot(slot VOffsetT, d uint16) uint16 {
    method GetInt32Slot (line 232) | func (t *Table) GetInt32Slot(slot VOffsetT, d int32) int32 {
    method GetUint32Slot (line 244) | func (t *Table) GetUint32Slot(slot VOffsetT, d uint32) uint32 {
    method GetInt64Slot (line 256) | func (t *Table) GetInt64Slot(slot VOffsetT, d int64) int64 {
    method GetUint64Slot (line 268) | func (t *Table) GetUint64Slot(slot VOffsetT, d uint64) uint64 {
    method GetFloat32Slot (line 280) | func (t *Table) GetFloat32Slot(slot VOffsetT, d float32) float32 {
    method GetFloat64Slot (line 292) | func (t *Table) GetFloat64Slot(slot VOffsetT, d float64) float64 {
    method GetVOffsetTSlot (line 304) | func (t *Table) GetVOffsetTSlot(slot VOffsetT, d VOffsetT) VOffsetT {
    method MutateBool (line 313) | func (t *Table) MutateBool(off UOffsetT, n bool) bool {
    method MutateByte (line 319) | func (t *Table) MutateByte(off UOffsetT, n byte) bool {
    method MutateUint8 (line 325) | func (t *Table) MutateUint8(off UOffsetT, n uint8) bool {
    method MutateUint16 (line 331) | func (t *Table) MutateUint16(off UOffsetT, n uint16) bool {
    method MutateUint32 (line 337) | func (t *Table) MutateUint32(off UOffsetT, n uint32) bool {
    method MutateUint64 (line 343) | func (t *Table) MutateUint64(off UOffsetT, n uint64) bool {
    method MutateInt8 (line 349) | func (t *Table) MutateInt8(off UOffsetT, n int8) bool {
    method MutateInt16 (line 355) | func (t *Table) MutateInt16(off UOffsetT, n int16) bool {
    method MutateInt32 (line 361) | func (t *Table) MutateInt32(off UOffsetT, n int32) bool {
    method MutateInt64 (line 367) | func (t *Table) MutateInt64(off UOffsetT, n int64) bool {
    method MutateFloat32 (line 373) | func (t *Table) MutateFloat32(off UOffsetT, n float32) bool {
    method MutateFloat64 (line 379) | func (t *Table) MutateFloat64(off UOffsetT, n float64) bool {
    method MutateUOffsetT (line 385) | func (t *Table) MutateUOffsetT(off UOffsetT, n UOffsetT) bool {
    method MutateVOffsetT (line 391) | func (t *Table) MutateVOffsetT(off UOffsetT, n VOffsetT) bool {
    method MutateSOffsetT (line 397) | func (t *Table) MutateSOffsetT(off UOffsetT, n SOffsetT) bool {
    method MutateBoolSlot (line 403) | func (t *Table) MutateBoolSlot(slot VOffsetT, n bool) bool {
    method MutateByteSlot (line 413) | func (t *Table) MutateByteSlot(slot VOffsetT, n byte) bool {
    method MutateInt8Slot (line 423) | func (t *Table) MutateInt8Slot(slot VOffsetT, n int8) bool {
    method MutateUint8Slot (line 433) | func (t *Table) MutateUint8Slot(slot VOffsetT, n uint8) bool {
    method MutateInt16Slot (line 443) | func (t *Table) MutateInt16Slot(slot VOffsetT, n int16) bool {
    method MutateUint16Slot (line 453) | func (t *Table) MutateUint16Slot(slot VOffsetT, n uint16) bool {
    method MutateInt32Slot (line 463) | func (t *Table) MutateInt32Slot(slot VOffsetT, n int32) bool {
    method MutateUint32Slot (line 473) | func (t *Table) MutateUint32Slot(slot VOffsetT, n uint32) bool {
    method MutateInt64Slot (line 483) | func (t *Table) MutateInt64Slot(slot VOffsetT, n int64) bool {
    method MutateUint64Slot (line 493) | func (t *Table) MutateUint64Slot(slot VOffsetT, n uint64) bool {
    method MutateFloat32Slot (line 503) | func (t *Table) MutateFloat32Slot(slot VOffsetT, n float32) bool {
    method MutateFloat64Slot (line 513) | func (t *Table) MutateFloat64Slot(slot VOffsetT, n float64) bool {

FILE: goldens/cpp/basic_generated.h
  function namespace (line 16) | namespace flatbuffers {
  function flatbuffers (line 132) | inline const flatbuffers::goldens::Universe *GetUniverse(const void *buf) {
  function flatbuffers (line 136) | inline const flatbuffers::goldens::Universe *GetSizePrefixedUniverse(con...
  function FinishUniverseBuffer (line 152) | inline void FinishUniverseBuffer(
  function FinishSizePrefixedUniverseBuffer (line 158) | inline void FinishSizePrefixedUniverseBuffer(

FILE: goldens/cpp/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateCpp (line 9) | def GenerateCpp():

FILE: goldens/csharp/flatbuffers/goldens/Galaxy.cs
  type Galaxy (line 12) | public struct Galaxy : IFlatbufferObject
    method ValidateVersion (line 16) | public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS...
    method GetRootAsGalaxy (line 17) | public static Galaxy GetRootAsGalaxy(ByteBuffer _bb) { return GetRootA...
    method GetRootAsGalaxy (line 18) | public static Galaxy GetRootAsGalaxy(ByteBuffer _bb, Galaxy obj) { ret...
    method __init (line 19) | public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
    method __assign (line 20) | public Galaxy __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); retu...
    method CreateGalaxy (line 24) | public static Offset<flatbuffers.goldens.Galaxy> CreateGalaxy(FlatBuff...
    method StartGalaxy (line 31) | public static void StartGalaxy(FlatBufferBuilder builder) { builder.St...
    method AddNumStars (line 32) | public static void AddNumStars(FlatBufferBuilder builder, long numStar...
    method EndGalaxy (line 33) | public static Offset<flatbuffers.goldens.Galaxy> EndGalaxy(FlatBufferB...
  class GalaxyVerify (line 40) | static public class GalaxyVerify
    method Verify (line 42) | static public bool Verify(Google.FlatBuffers.Verifier verifier, uint t...

FILE: goldens/csharp/flatbuffers/goldens/Universe.cs
  type Universe (line 12) | public struct Universe : IFlatbufferObject
    method ValidateVersion (line 16) | public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS...
    method GetRootAsUniverse (line 17) | public static Universe GetRootAsUniverse(ByteBuffer _bb) { return GetR...
    method GetRootAsUniverse (line 18) | public static Universe GetRootAsUniverse(ByteBuffer _bb, Universe obj)...
    method VerifyUniverse (line 19) | public static bool VerifyUniverse(ByteBuffer _bb) {Google.FlatBuffers....
    method __init (line 20) | public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
    method __assign (line 21) | public Universe __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); re...
    method Galaxies (line 24) | public flatbuffers.goldens.Galaxy? Galaxies(int j) { int o = __p.__off...
    method CreateUniverse (line 27) | public static Offset<flatbuffers.goldens.Universe> CreateUniverse(Flat...
    method StartUniverse (line 36) | public static void StartUniverse(FlatBufferBuilder builder) { builder....
    method AddAge (line 37) | public static void AddAge(FlatBufferBuilder builder, double age) { bui...
    method AddGalaxies (line 38) | public static void AddGalaxies(FlatBufferBuilder builder, VectorOffset...
    method CreateGalaxiesVector (line 39) | public static VectorOffset CreateGalaxiesVector(FlatBufferBuilder buil...
    method CreateGalaxiesVectorBlock (line 40) | public static VectorOffset CreateGalaxiesVectorBlock(FlatBufferBuilder...
    method CreateGalaxiesVectorBlock (line 41) | public static VectorOffset CreateGalaxiesVectorBlock(FlatBufferBuilder...
    method CreateGalaxiesVectorBlock (line 42) | public static VectorOffset CreateGalaxiesVectorBlock(FlatBufferBuilder...
    method StartGalaxiesVector (line 43) | public static void StartGalaxiesVector(FlatBufferBuilder builder, int ...
    method EndUniverse (line 44) | public static Offset<flatbuffers.goldens.Universe> EndUniverse(FlatBuf...
    method FinishUniverseBuffer (line 48) | public static void FinishUniverseBuffer(FlatBufferBuilder builder, Off...
    method FinishSizePrefixedUniverseBuffer (line 49) | public static void FinishSizePrefixedUniverseBuffer(FlatBufferBuilder ...
  class UniverseVerify (line 53) | static public class UniverseVerify
    method Verify (line 55) | static public bool Verify(Google.FlatBuffers.Verifier verifier, uint t...

FILE: goldens/csharp/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateCSharp (line 9) | def GenerateCSharp():

FILE: goldens/dart/basic_flatbuffers.goldens_generated.dart
  class Galaxy (line 11) | class Galaxy {
    method toString (line 26) | String toString()
  class _GalaxyReader (line 31) | class _GalaxyReader extends fb.TableReader<Galaxy> {
    method createObject (line 35) | Galaxy createObject(fb.BufferContext bc, int offset)
  class GalaxyBuilder (line 39) | class GalaxyBuilder {
    method begin (line 44) | void begin()
    method addNumStars (line 48) | int addNumStars(int? numStars)
    method finish (line 53) | int finish()
  class GalaxyObjectBuilder (line 58) | class GalaxyObjectBuilder extends fb.ObjectBuilder {
    method finish (line 68) | int finish(fb.Builder fbBuilder)
    method toBytes (line 76) | Uint8List toBytes([String? fileIdentifier])
  class Universe (line 82) | class Universe {
    method toString (line 98) | String toString()
  class _UniverseReader (line 103) | class _UniverseReader extends fb.TableReader<Universe> {
    method createObject (line 107) | Universe createObject(fb.BufferContext bc, int offset)
  class UniverseBuilder (line 111) | class UniverseBuilder {
    method begin (line 116) | void begin()
    method addAge (line 120) | int addAge(double? age)
    method addGalaxiesOffset (line 124) | int addGalaxiesOffset(int? offset)
    method finish (line 129) | int finish()
  class UniverseObjectBuilder (line 134) | class UniverseObjectBuilder extends fb.ObjectBuilder {
    method finish (line 147) | int finish(fb.Builder fbBuilder)
    method toBytes (line 158) | Uint8List toBytes([String? fileIdentifier])

FILE: goldens/dart/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateDart (line 9) | def GenerateDart():

FILE: goldens/go/flatbuffers/goldens/Galaxy.go
  type Galaxy (line 9) | type Galaxy struct
    method Init (line 35) | func (rcv *Galaxy) Init(buf []byte, i flatbuffers.UOffsetT) {
    method Table (line 40) | func (rcv *Galaxy) Table() flatbuffers.Table {
    method NumStars (line 44) | func (rcv *Galaxy) NumStars() int64 {
    method MutateNumStars (line 52) | func (rcv *Galaxy) MutateNumStars(n int64) bool {
  function GetRootAsGalaxy (line 13) | func GetRootAsGalaxy(buf []byte, offset flatbuffers.UOffsetT) *Galaxy {
  function FinishGalaxyBuffer (line 20) | func FinishGalaxyBuffer(builder *flatbuffers.Builder, offset flatbuffers...
  function GetSizePrefixedRootAsGalaxy (line 24) | func GetSizePrefixedRootAsGalaxy(buf []byte, offset flatbuffers.UOffsetT...
  function FinishSizePrefixedGalaxyBuffer (line 31) | func FinishSizePrefixedGalaxyBuffer(builder *flatbuffers.Builder, offset...
  function GalaxyStart (line 56) | func GalaxyStart(builder *flatbuffers.Builder) {
  function GalaxyAddNumStars (line 59) | func GalaxyAddNumStars(builder *flatbuffers.Builder, numStars int64) {
  function GalaxyEnd (line 62) | func GalaxyEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {

FILE: goldens/go/flatbuffers/goldens/Universe.go
  type Universe (line 9) | type Universe struct
    method Init (line 35) | func (rcv *Universe) Init(buf []byte, i flatbuffers.UOffsetT) {
    method Table (line 40) | func (rcv *Universe) Table() flatbuffers.Table {
    method Age (line 44) | func (rcv *Universe) Age() float64 {
    method MutateAge (line 52) | func (rcv *Universe) MutateAge(n float64) bool {
    method Galaxies (line 56) | func (rcv *Universe) Galaxies(obj *Galaxy, j int) bool {
    method GalaxiesLength (line 68) | func (rcv *Universe) GalaxiesLength() int {
  function GetRootAsUniverse (line 13) | func GetRootAsUniverse(buf []byte, offset flatbuffers.UOffsetT) *Universe {
  function FinishUniverseBuffer (line 20) | func FinishUniverseBuffer(builder *flatbuffers.Builder, offset flatbuffe...
  function GetSizePrefixedRootAsUniverse (line 24) | func GetSizePrefixedRootAsUniverse(buf []byte, offset flatbuffers.UOffse...
  function FinishSizePrefixedUniverseBuffer (line 31) | func FinishSizePrefixedUniverseBuffer(builder *flatbuffers.Builder, offs...
  function UniverseStart (line 76) | func UniverseStart(builder *flatbuffers.Builder) {
  function UniverseAddAge (line 79) | func UniverseAddAge(builder *flatbuffers.Builder, age float64) {
  function UniverseAddGalaxies (line 82) | func UniverseAddGalaxies(builder *flatbuffers.Builder, galaxies flatbuff...
  function UniverseStartGalaxiesVector (line 85) | func UniverseStartGalaxiesVector(builder *flatbuffers.Builder, numElems ...
  function UniverseEnd (line 88) | func UniverseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {

FILE: goldens/go/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateGo (line 9) | def GenerateGo():

FILE: goldens/golden_utils.py
  function flatc_golden (line 20) | def flatc_golden(options, schema, prefix):

FILE: goldens/java/flatbuffers/goldens/Galaxy.java
  class Galaxy (line 21) | @SuppressWarnings("unused")
    method ValidateVersion (line 23) | public static void ValidateVersion() { Constants.FLATBUFFERS_25_12_19(...
    method getRootAsGalaxy (line 24) | public static Galaxy getRootAsGalaxy(ByteBuffer _bb) { return getRootA...
    method getRootAsGalaxy (line 25) | public static Galaxy getRootAsGalaxy(ByteBuffer _bb, Galaxy obj) { _bb...
    method __init (line 26) | public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
    method __assign (line 27) | public Galaxy __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); retu...
    method numStars (line 29) | public long numStars() { int o = __offset(4); return o != 0 ? bb.getLo...
    method createGalaxy (line 31) | public static int createGalaxy(FlatBufferBuilder builder,
    method startGalaxy (line 38) | public static void startGalaxy(FlatBufferBuilder builder) { builder.st...
    method addNumStars (line 39) | public static void addNumStars(FlatBufferBuilder builder, long numStar...
    method endGalaxy (line 40) | public static int endGalaxy(FlatBufferBuilder builder) {
    class Vector (line 45) | public static final class Vector extends BaseVector {
      method __assign (line 46) | public Vector __assign(int _vector, int _element_size, ByteBuffer _b...
      method get (line 48) | public Galaxy get(int j) { return get(new Galaxy(), j); }
      method get (line 49) | public Galaxy get(Galaxy obj, int j) {  return obj.__assign(__indire...

FILE: goldens/java/flatbuffers/goldens/Universe.java
  class Universe (line 21) | @SuppressWarnings("unused")
    method ValidateVersion (line 23) | public static void ValidateVersion() { Constants.FLATBUFFERS_25_12_19(...
    method getRootAsUniverse (line 24) | public static Universe getRootAsUniverse(ByteBuffer _bb) { return getR...
    method getRootAsUniverse (line 25) | public static Universe getRootAsUniverse(ByteBuffer _bb, Universe obj)...
    method __init (line 26) | public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
    method __assign (line 27) | public Universe __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); re...
    method age (line 29) | public double age() { int o = __offset(4); return o != 0 ? bb.getDoubl...
    method galaxies (line 30) | public flatbuffers.goldens.Galaxy galaxies(int j) { return galaxies(ne...
    method galaxies (line 31) | public flatbuffers.goldens.Galaxy galaxies(flatbuffers.goldens.Galaxy ...
    method galaxiesLength (line 32) | public int galaxiesLength() { int o = __offset(6); return o != 0 ? __v...
    method galaxiesVector (line 33) | public flatbuffers.goldens.Galaxy.Vector galaxiesVector() { return gal...
    method galaxiesVector (line 34) | public flatbuffers.goldens.Galaxy.Vector galaxiesVector(flatbuffers.go...
    method createUniverse (line 36) | public static int createUniverse(FlatBufferBuilder builder,
    method startUniverse (line 45) | public static void startUniverse(FlatBufferBuilder builder) { builder....
    method addAge (line 46) | public static void addAge(FlatBufferBuilder builder, double age) { bui...
    method addGalaxies (line 47) | public static void addGalaxies(FlatBufferBuilder builder, int galaxies...
    method createGalaxiesVector (line 48) | public static int createGalaxiesVector(FlatBufferBuilder builder, int[...
    method startGalaxiesVector (line 49) | public static void startGalaxiesVector(FlatBufferBuilder builder, int ...
    method endUniverse (line 50) | public static int endUniverse(FlatBufferBuilder builder) {
    method finishUniverseBuffer (line 54) | public static void finishUniverseBuffer(FlatBufferBuilder builder, int...
    method finishSizePrefixedUniverseBuffer (line 55) | public static void finishSizePrefixedUniverseBuffer(FlatBufferBuilder ...
    class Vector (line 57) | public static final class Vector extends BaseVector {
      method __assign (line 58) | public Vector __assign(int _vector, int _element_size, ByteBuffer _b...
      method get (line 60) | public Universe get(int j) { return get(new Universe(), j); }
      method get (line 61) | public Universe get(Universe obj, int j) {  return obj.__assign(__in...

FILE: goldens/java/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateJava (line 9) | def GenerateJava():

FILE: goldens/kotlin/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateKotlin (line 9) | def GenerateKotlin():

FILE: goldens/lobster/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateLobster (line 9) | def GenerateLobster():

FILE: goldens/lua/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateLua (line 9) | def GenerateLua():

FILE: goldens/nim/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateNim (line 9) | def GenerateNim():

FILE: goldens/php/flatbuffers/goldens/Galaxy.php
  class Galaxy (line 11) | class Galaxy extends Table
    method getRootAsGalaxy (line 17) | public static function getRootAsGalaxy(ByteBuffer $bb)
    method init (line 28) | public function init($_i, ByteBuffer $_bb)
    method getNumStars (line 38) | public function getNumStars()
    method startGalaxy (line 48) | public static function startGalaxy(FlatBufferBuilder $builder)
    method createGalaxy (line 57) | public static function createGalaxy(FlatBufferBuilder $builder, $num_s...
    method addNumStars (line 70) | public static function addNumStars(FlatBufferBuilder $builder, $numStars)
    method endGalaxy (line 79) | public static function endGalaxy(FlatBufferBuilder $builder)

FILE: goldens/php/flatbuffers/goldens/Universe.php
  class Universe (line 11) | class Universe extends Table
    method getRootAsUniverse (line 17) | public static function getRootAsUniverse(ByteBuffer $bb)
    method init (line 28) | public function init($_i, ByteBuffer $_bb)
    method getAge (line 38) | public function getAge()
    method getGalaxies (line 47) | public function getGalaxies($j)
    method getGalaxiesLength (line 57) | public function getGalaxiesLength()
    method startUniverse (line 67) | public static function startUniverse(FlatBufferBuilder $builder)
    method createUniverse (line 76) | public static function createUniverse(FlatBufferBuilder $builder, $age...
    method addAge (line 90) | public static function addAge(FlatBufferBuilder $builder, $age)
    method addGalaxies (line 100) | public static function addGalaxies(FlatBufferBuilder $builder, $galaxies)
    method createGalaxiesVector (line 110) | public static function createGalaxiesVector(FlatBufferBuilder $builder...
    method startGalaxiesVector (line 124) | public static function startGalaxiesVector(FlatBufferBuilder $builder,...
    method endUniverse (line 133) | public static function endUniverse(FlatBufferBuilder $builder)
    method finishUniverseBuffer (line 139) | public static function finishUniverseBuffer(FlatBufferBuilder $builder...

FILE: goldens/php/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GeneratePhp (line 9) | def GeneratePhp():

FILE: goldens/py/flatbuffers/goldens/Galaxy.py
  class Galaxy (line 9) | class Galaxy(object):
    method GetRootAs (line 13) | def GetRootAs(cls, buf, offset=0):
    method GetRootAsGalaxy (line 20) | def GetRootAsGalaxy(cls, buf, offset=0):
    method Init (line 24) | def Init(self, buf, pos):
    method NumStars (line 28) | def NumStars(self):
  function GalaxyStart (line 34) | def GalaxyStart(builder):
  function Start (line 37) | def Start(builder):
  function GalaxyAddNumStars (line 40) | def GalaxyAddNumStars(builder, numStars):
  function AddNumStars (line 43) | def AddNumStars(builder, numStars):
  function GalaxyEnd (line 46) | def GalaxyEnd(builder):
  function End (line 49) | def End(builder):

FILE: goldens/py/flatbuffers/goldens/Universe.py
  class Universe (line 9) | class Universe(object):
    method GetRootAs (line 13) | def GetRootAs(cls, buf, offset=0):
    method GetRootAsUniverse (line 20) | def GetRootAsUniverse(cls, buf, offset=0):
    method Init (line 24) | def Init(self, buf, pos):
    method Age (line 28) | def Age(self):
    method Galaxies (line 35) | def Galaxies(self, j):
    method GalaxiesLength (line 48) | def GalaxiesLength(self):
    method GalaxiesIsNone (line 55) | def GalaxiesIsNone(self):
  function UniverseStart (line 59) | def UniverseStart(builder):
  function Start (line 62) | def Start(builder):
  function UniverseAddAge (line 65) | def UniverseAddAge(builder, age):
  function AddAge (line 68) | def AddAge(builder, age):
  function UniverseAddGalaxies (line 71) | def UniverseAddGalaxies(builder, galaxies):
  function AddGalaxies (line 74) | def AddGalaxies(builder, galaxies):
  function UniverseStartGalaxiesVector (line 77) | def UniverseStartGalaxiesVector(builder, numElems):
  function StartGalaxiesVector (line 80) | def StartGalaxiesVector(builder, numElems):
  function UniverseCreateGalaxiesVector (line 83) | def UniverseCreateGalaxiesVector(builder, data):
  function CreateGalaxiesVector (line 86) | def CreateGalaxiesVector(builder, data):
  function UniverseEnd (line 89) | def UniverseEnd(builder):
  function End (line 92) | def End(builder):

FILE: goldens/py/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GeneratePython (line 9) | def GeneratePython():

FILE: goldens/rust/basic_generated.rs
  type GalaxyOffset (line 13) | pub enum GalaxyOffset {}
  type Galaxy (line 16) | pub struct Galaxy<'a> {
  type Inner (line 21) | type Inner = Galaxy<'a>;
  function follow (line 24) | unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
  constant VT_NUM_STARS (line 30) | pub const VT_NUM_STARS: ::flatbuffers::VOffsetT = 4;
  function init_from_table (line 33) | pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
  function create (line 38) | pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: ::flatbuffer...
  function num_stars (line 49) | pub fn num_stars(&self) -> i64 {
  function run_verifier (line 59) | fn run_verifier(
  type GalaxyArgs (line 69) | pub struct GalaxyArgs {
  method default (line 75) | fn default() -> Self {
  type GalaxyBuilder (line 82) | pub struct GalaxyBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
  function add_num_stars (line 89) | pub fn add_num_stars(&mut self, num_stars: i64) {
  function new (line 94) | pub fn new(_fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>) -> Gal...
  function finish (line 103) | pub fn finish(self) -> ::flatbuffers::WIPOffset<Galaxy<'a>> {
  function fmt (line 110) | fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
  type UniverseOffset (line 117) | pub enum UniverseOffset {}
  type Universe (line 120) | pub struct Universe<'a> {
  type Inner (line 125) | type Inner = Universe<'a>;
  function follow (line 128) | unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
  constant VT_AGE (line 134) | pub const VT_AGE: ::flatbuffers::VOffsetT = 4;
  constant VT_GALAXIES (line 135) | pub const VT_GALAXIES: ::flatbuffers::VOffsetT = 6;
  function init_from_table (line 138) | pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
  function create (line 143) | pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: ::flatbuffer...
  function age (line 155) | pub fn age(&self) -> f64 {
  function galaxies (line 163) | pub fn galaxies(&self) -> Option<::flatbuffers::Vector<'a, ::flatbuffers...
  function run_verifier (line 173) | fn run_verifier(
  type UniverseArgs (line 184) | pub struct UniverseArgs<'a> {
  method default (line 191) | fn default() -> Self {
  type UniverseBuilder (line 199) | pub struct UniverseBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
  function add_age (line 206) | pub fn add_age(&mut self, age: f64) {
  function add_galaxies (line 211) | pub fn add_galaxies(&mut self, galaxies: ::flatbuffers::WIPOffset<::flat...
  function new (line 216) | pub fn new(_fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>) -> Uni...
  function finish (line 225) | pub fn finish(self) -> ::flatbuffers::WIPOffset<Universe<'a>> {
  function fmt (line 232) | fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
  function root_as_universe (line 247) | pub fn root_as_universe(buf: &[u8]) -> Result<Universe<'_>, ::flatbuffer...
  function size_prefixed_root_as_universe (line 258) | pub fn size_prefixed_root_as_universe(buf: &[u8]) -> Result<Universe<'_>...
  function root_as_universe_with_opts (line 269) | pub fn root_as_universe_with_opts<'b, 'o>(
  function size_prefixed_root_as_universe_with_opts (line 283) | pub fn size_prefixed_root_as_universe_with_opts<'b, 'o>(
  function root_as_universe_unchecked (line 294) | pub unsafe fn root_as_universe_unchecked(buf: &[u8]) -> Universe<'_> {
  function size_prefixed_root_as_universe_unchecked (line 302) | pub unsafe fn size_prefixed_root_as_universe_unchecked(buf: &[u8]) -> Un...
  function finish_universe_buffer (line 307) | pub fn finish_universe_buffer<'a, 'b, A: ::flatbuffers::Allocator + 'a>(
  function finish_size_prefixed_universe_buffer (line 315) | pub fn finish_size_prefixed_universe_buffer<'a, 'b, A: ::flatbuffers::Al...

FILE: goldens/rust/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateRust (line 9) | def GenerateRust():

FILE: goldens/swift/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateSwift (line 9) | def GenerateSwift():

FILE: goldens/ts/flatbuffers/goldens/galaxy.ts
  class Galaxy (line 7) | class Galaxy {
    method __init (line 10) | __init(i:number, bb:flatbuffers.ByteBuffer):Galaxy {
    method getRootAsGalaxy (line 16) | static getRootAsGalaxy(bb:flatbuffers.ByteBuffer, obj?:Galaxy):Galaxy {
    method getSizePrefixedRootAsGalaxy (line 20) | static getSizePrefixedRootAsGalaxy(bb:flatbuffers.ByteBuffer, obj?:Gal...
    method numStars (line 25) | numStars():bigint {
    method startGalaxy (line 30) | static startGalaxy(builder:flatbuffers.Builder) {
    method addNumStars (line 34) | static addNumStars(builder:flatbuffers.Builder, numStars:bigint) {
    method endGalaxy (line 38) | static endGalaxy(builder:flatbuffers.Builder):flatbuffers.Offset {
    method createGalaxy (line 43) | static createGalaxy(builder:flatbuffers.Builder, numStars:bigint):flat...

FILE: goldens/ts/flatbuffers/goldens/universe.ts
  class Universe (line 10) | class Universe {
    method __init (line 13) | __init(i:number, bb:flatbuffers.ByteBuffer):Universe {
    method getRootAsUniverse (line 19) | static getRootAsUniverse(bb:flatbuffers.ByteBuffer, obj?:Universe):Uni...
    method getSizePrefixedRootAsUniverse (line 23) | static getSizePrefixedRootAsUniverse(bb:flatbuffers.ByteBuffer, obj?:U...
    method age (line 28) | age():number {
    method galaxies (line 33) | galaxies(index: number, obj?:Galaxy):Galaxy|null {
    method galaxiesLength (line 38) | galaxiesLength():number {
    method startUniverse (line 43) | static startUniverse(builder:flatbuffers.Builder) {
    method addAge (line 47) | static addAge(builder:flatbuffers.Builder, age:number) {
    method addGalaxies (line 51) | static addGalaxies(builder:flatbuffers.Builder, galaxiesOffset:flatbuf...
    method createGalaxiesVector (line 55) | static createGalaxiesVector(builder:flatbuffers.Builder, data:flatbuff...
    method startGalaxiesVector (line 63) | static startGalaxiesVector(builder:flatbuffers.Builder, numElems:numbe...
    method endUniverse (line 67) | static endUniverse(builder:flatbuffers.Builder):flatbuffers.Offset {
    method finishUniverseBuffer (line 72) | static finishUniverseBuffer(builder:flatbuffers.Builder, offset:flatbu...
    method finishSizePrefixedUniverseBuffer (line 76) | static finishSizePrefixedUniverseBuffer(builder:flatbuffers.Builder, o...
    method createUniverse (line 80) | static createUniverse(builder:flatbuffers.Builder, age:number, galaxie...

FILE: goldens/ts/generate.py
  function flatc (line 4) | def flatc(options, schema):
  function GenerateTs (line 9) | def GenerateTs():

FILE: grpc/examples/go/greeter/models/Greeter_grpc.go
  type GreeterClient (line 16) | type GreeterClient interface
  type greeterClient (line 23) | type greeterClient struct
    method SayHello (line 31) | func (c *greeterClient) SayHello(ctx context.Context, in *flatbuffers....
    method SayManyHellos (line 41) | func (c *greeterClient) SayManyHellos(ctx context.Context, in *flatbuf...
  function NewGreeterClient (line 27) | func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient {
  type Greeter_SayManyHellosClient (line 57) | type Greeter_SayManyHellosClient interface
  type greeterSayManyHellosClient (line 62) | type greeterSayManyHellosClient struct
    method Recv (line 66) | func (x *greeterSayManyHellosClient) Recv() (*HelloReply, error) {
  type GreeterServer (line 75) | type GreeterServer interface
  type UnimplementedGreeterServer (line 81) | type UnimplementedGreeterServer struct
    method SayHello (line 84) | func (UnimplementedGreeterServer) SayHello(context.Context, *HelloRequ...
    method SayManyHellos (line 88) | func (UnimplementedGreeterServer) SayManyHellos(*HelloRequest, Greeter...
    method mustEmbedUnimplementedGreeterServer (line 92) | func (UnimplementedGreeterServer) mustEmbedUnimplementedGreeterServer(...
  type UnsafeGreeterServer (line 94) | type UnsafeGreeterServer interface
  function RegisterGreeterServer (line 98) | func RegisterGreeterServer(s grpc.ServiceRegistrar, srv GreeterServer) {
  function _Greeter_SayHello_Handler (line 102) | func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context,
  function _Greeter_SayManyHellos_Handler (line 121) | func _Greeter_SayManyHellos_Handler(srv interface{}, stream grpc.ServerS...
  type Greeter_SayManyHellosServer (line 129) | type Greeter_SayManyHellosServer interface
  type greeterSayManyHellosServer (line 134) | type greeterSayManyHellosServer struct
    method Send (line 138) | func (x *greeterSayManyHellosServer) Send(m *flatbuffers.Builder) error {

FILE: grpc/examples/go/greeter/models/HelloReply.go
  type HelloReply (line 9) | type HelloReply struct
    method Init (line 35) | func (rcv *HelloReply) Init(buf []byte, i flatbuffers.UOffsetT) {
    method Table (line 40) | func (rcv *HelloReply) Table() flatbuffers.Table {
    method Message (line 44) | func (rcv *HelloReply) Message() []byte {
  function GetRootAsHelloReply (line 13) | func GetRootAsHelloReply(buf []byte, offset flatbuffers.UOffsetT) *Hello...
  function FinishHelloReplyBuffer (line 20) | func FinishHelloReplyBuffer(builder *flatbuffers.Builder, offset flatbuf...
  function GetSizePrefixedRootAsHelloReply (line 24) | func GetSizePrefixedRootAsHelloReply(buf []byte, offset flatbuffers.UOff...
  function FinishSizePrefixedHelloReplyBuffer (line 31) | func FinishSizePrefixedHelloReplyBuffer(builder *flatbuffers.Builder, of...
  function HelloReplyStart (line 52) | func HelloReplyStart(builder *flatbuffers.Builder) {
  function HelloReplyAddMessage (line 55) | func HelloReplyAddMessage(builder *flatbuffers.Builder, message flatbuff...
  function HelloReplyEnd (line 58) | func HelloReplyEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {

FILE: grpc/examples/go/greeter/models/HelloRequest.go
  type HelloRequest (line 9) | type HelloRequest struct
    method Init (line 35) | func (rcv *HelloRequest) Init(buf []byte, i flatbuffers.UOffsetT) {
    method Table (line 40) | func (rcv *HelloRequest) Table() flatbuffers.Table {
    method Name (line 44) | func (rcv *HelloRequest) Name() []byte {
  function GetRootAsHelloRequest (line 13) | func GetRootAsHelloRequest(buf []byte, offset flatbuffers.UOffsetT) *Hel...
  function FinishHelloRequestBuffer (line 20) | func FinishHelloRequestBuffer(builder *flatbuffers.Builder, offset flatb...
  function GetSizePrefixedRootAsHelloRequest (line 24) | func GetSizePrefixedRootAsHelloRequest(buf []byte, offset flatbuffers.UO...
  function FinishSizePrefixedHelloRequestBuffer (line 31) | func FinishSizePrefixedHelloRequestBuffer(builder *flatbuffers.Builder, ...
  function HelloRequestStart (line 52) | func HelloRequestStart(builder *flatbuffers.Builder) {
  function HelloRequestAddName (line 55) | func HelloRequestAddName(builder *flatbuffers.Builder, name flatbuffers....
  function HelloRequestEnd (line 58) | func HelloRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {

FILE: grpc/examples/python/greeter/client.py
  function say_hello (line 17) | def say_hello(stub, hello_request):
  function say_many_hellos (line 23) | def say_many_hellos(stub, hello_request):
  function main (line 30) | def main():

FILE: grpc/examples/python/greeter/greeter_grpc.fb.py
  class GreeterStub (line 9) | class GreeterStub(object):
    method __init__ (line 12) | def __init__(self, channel):
  class GreeterServicer (line 26) | class GreeterServicer(object):
    method SayHello (line 29) | def SayHello(self, request, context):
    method SayManyHellos (line 34) | def SayManyHellos(self, request, context):
  function add_GreeterServicer_to_server (line 40) | def add_GreeterServicer_to_server(servicer, server):

FILE: grpc/examples/python/greeter/models/HelloReply.py
  class HelloReply (line 9) | class HelloReply(object):
    method GetRootAs (line 13) | def GetRootAs(cls, buf, offset=0):
    method GetRootAsHelloReply (line 20) | def GetRootAsHelloReply(cls, buf, offset=0):
    method Init (line 24) | def Init(self, buf, pos):
    method Message (line 28) | def Message(self):
  function HelloReplyStart (line 34) | def HelloReplyStart(builder):
  function Start (line 37) | def Start(builder):
  function HelloReplyAddMessage (line 40) | def HelloReplyAddMessage(builder, message):
  function AddMessage (line 43) | def AddMessage(builder, message):
  function HelloReplyEnd (line 46) | def HelloReplyEnd(builder):
  function End (line 49) | def End(builder):

FILE: grpc/examples/python/greeter/models/HelloRequest.py
  class HelloRequest (line 9) | class HelloRequest(object):
    method GetRootAs (line 13) | def GetRootAs(cls, buf, offset=0):
    method GetRootAsHelloRequest (line 20) | def GetRootAsHelloRequest(cls, buf, offset=0):
    method Init (line 24) | def Init(self, buf, pos):
    method Name (line 28) | def Name(self):
  function HelloRequestStart (line 34) | def HelloRequestStart(builder):
  function Start (line 37) | def Start(builder):
  function HelloRequestAddName (line 40) | def HelloRequestAddName(builder, name):
  function AddName (line 43) | def AddName(builder, name):
  function HelloRequestEnd (line 46) | def HelloRequestEnd(builder):
  function End (line 49) | def End(builder):

FILE: grpc/examples/python/greeter/models/greeter_grpc_fb.py
  class GreeterStub (line 10) | class GreeterStub(object):
    method __init__ (line 13) | def __init__(self, channel):
  class GreeterServicer (line 27) | class GreeterServicer(object):
    method SayHello (line 30) | def SayHello(self, request, context):
    method SayManyHellos (line 35) | def SayManyHellos(self, request, context):
  function add_GreeterServicer_to_server (line 41) | def add_GreeterServicer_to_server(servicer, server):

FILE: grpc/examples/python/greeter/server.py
  function build_reply (line 15) | def build_reply(message):
  class GreeterServicer (line 25) | class GreeterServicer(greeter_grpc_fb.GreeterServicer):
    method __init__ (line 27) | def __init__(self):
    method SayHello (line 30) | def SayHello(self, request, context):
    method SayManyHellos (line 37) | def SayManyHellos(self, request, context):
  function serve (line 48) | def serve():

FILE: grpc/examples/ts/greeter/src/client.ts
  function main (line 7) | async function main(PORT: Number, name: string) {
  constant PORT (line 32) | const PORT = Number(args[0]);

FILE: grpc/examples/ts/greeter/src/greeter_grpc.d.ts
  type IGreeterService (line 8) | interface IGreeterService extends grpc.ServiceDefinition<grpc.UntypedSer...
  type IGreeterService_ISayHello (line 12) | interface IGreeterService_ISayHello extends grpc.MethodDefinition<models...
  type IGreeterService_ISayManyHellos (line 22) | interface IGreeterService_ISayManyHellos extends grpc.MethodDefinition<m...
  type IGreeterServer (line 35) | interface IGreeterServer extends grpc.UntypedServiceImplementation {
  type IGreeterClient (line 40) | interface IGreeterClient {
  class GreeterClient (line 48) | class GreeterClient extends grpc.Client implements IGreeterClient {

FILE: grpc/examples/ts/greeter/src/greeter_grpc.js
  function serialize_models_HelloReply (line 8) | function serialize_models_HelloReply(buffer_args) {
  function deserialize_models_HelloReply (line 15) | function deserialize_models_HelloReply(buffer) {
  function serialize_models_HelloRequest (line 20) | function serialize_models_HelloRequest(buffer_args) {
  function deserialize_models_HelloRequest (line 27) | function deserialize_models_HelloRequest(buffer) {

FILE: grpc/examples/ts/greeter/src/models/hello-reply.ts
  class HelloReply (line 9) | class HelloReply {
    method __init (line 12) | __init(i:number, bb:flatbuffers.ByteBuffer):HelloReply {
    method getRootAsHelloReply (line 18) | static getRootAsHelloReply(bb:flatbuffers.ByteBuffer, obj?:HelloReply)...
    method getSizePrefixedRootAsHelloReply (line 22) | static getSizePrefixedRootAsHelloReply(bb:flatbuffers.ByteBuffer, obj?...
    method message (line 29) | message(optionalEncoding?:any):string|Uint8Array|null {
    method startHelloReply (line 34) | static startHelloReply(builder:flatbuffers.Builder) {
    method addMessage (line 38) | static addMessage(builder:flatbuffers.Builder, messageOffset:flatbuffe...
    method endHelloReply (line 42) | static endHelloReply(builder:flatbuffers.Builder):flatbuffers.Offset {
    method createHelloReply (line 47) | static createHelloReply(builder:flatbuffers.Builder, messageOffset:fla...
    method serialize (line 53) | serialize():Uint8Array {
    method deserialize (line 57) | static deserialize(buffer: Uint8Array):HelloReply {

FILE: grpc/examples/ts/greeter/src/models/hello-request.ts
  class HelloRequest (line 9) | class HelloRequest {
    method __init (line 12) | __init(i:number, bb:flatbuffers.ByteBuffer):HelloRequest {
    method getRootAsHelloRequest (line 18) | static getRootAsHelloRequest(bb:flatbuffers.ByteBuffer, obj?:HelloRequ...
    method getSizePrefixedRootAsHelloRequest (line 22) | static getSizePrefixedRootAsHelloRequest(bb:flatbuffers.ByteBuffer, ob...
    method name (line 29) | name(optionalEncoding?:any):string|Uint8Array|null {
    method startHelloRequest (line 34) | static startHelloRequest(builder:flatbuffers.Builder) {
    method addName (line 38) | static addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Off...
    method endHelloRequest (line 42) | static endHelloRequest(builder:flatbuffers.Builder):flatbuffers.Offset {
    method createHelloRequest (line 47) | static createHelloRequest(builder:flatbuffers.Builder, nameOffset:flat...
    method serialize (line 53) | serialize():Uint8Array {
    method deserialize (line 57) | static deserialize(buffer: Uint8Array):HelloRequest {

FILE: grpc/examples/ts/greeter/src/server.ts
  method SayHello (line 8) | SayHello(
  method SayManyHellos (line 24) | async SayManyHellos(
  function serve (line 44) | function serve(): void {

FILE: grpc/flatbuffers-java-grpc/src/main/java/com/google/flatbuffers/grpc/FlatbuffersUtils.java
  class FlatbuffersUtils (line 29) | public class FlatbuffersUtils {
    class FBExtactor (line 30) | public abstract static class FBExtactor<T extends Table> {
      method extract (line 31) | T extract(InputStream stream) throws IOException {
      method extract (line 44) | public abstract T extract(ByteBuffer buffer);
    class FBInputStream (line 47) | static class FBInputStream extends InputStream implements Drainable, K...
      method FBInputStream (line 52) | FBInputStream(ByteBuffer buffer) {
      method makeStreamIfNotAlready (line 57) | private void makeStreamIfNotAlready() {
      method drainTo (line 62) | @Override
      method read (line 68) | @Override
      method read (line 74) | @Override
      method available (line 88) | @Override
    method marshaller (line 94) | public static <T extends Table> MethodDescriptor.Marshaller<T> marshal...

FILE: grpc/samples/greeter/client.cpp
  class GreeterClient (line 10) | class GreeterClient {
    method GreeterClient (line 12) | GreeterClient(std::shared_ptr<grpc::Channel> channel)
    method SayHello (line 15) | std::string SayHello(const std::string& name) {
    method SayManyHellos (line 37) | void SayManyHellos(const std::string& name, int num_greetings,
  function main (line 67) | int main(int argc, char** argv) {

FILE: grpc/samples/greeter/server.cpp
  class GreeterServiceImpl (line 10) | class GreeterServiceImpl final : public Greeter::Service {
    method SayHello (line 11) | virtual grpc::Status SayHello(
    method SayManyHellos (line 41) | virtual grpc::Status SayManyHellos(
  function RunServer (line 65) | void RunServer() {
  function main (line 78) | int main(int argc, const char* argv[]) {

FILE: grpc/src/compiler/cpp_generator.cc
  type grpc_cpp_generator (line 8) | namespace grpc_cpp_generator {
    function as_string (line 12) | static grpc::string as_string(T x) {
    function ClientOnlyStreaming (line 18) | static inline bool ClientOnlyStreaming(const grpc_generator::Method* m...
    function ServerOnlyStreaming (line 22) | static inline bool ServerOnlyStreaming(const grpc_generator::Method* m...
    function FilenameIdentifier (line 26) | static grpc::string FilenameIdentifier(const grpc::string& filename) {
    function T (line 43) | static T* array_end(T (&array)[N]) {
    function PrintIncludes (line 47) | static void PrintIncludes(grpc_generator::Printer* printer,
    function GetHeaderPrologue (line 82) | grpc::string GetHeaderPrologue(grpc_generator::File* file,
    function GetHeaderIncludes (line 114) | grpc::string GetHeaderIncludes(grpc_generator::File* file,
    function PrintHeaderClientMethodInterfaces (line 157) | static void PrintHeaderClientMethodInterfaces(
    function PrintHeaderClientMethod (line 371) | static void PrintHeaderClientMethod(grpc_generator::Printer* printer,
    function PrintHeaderClientMethodData (line 616) | static void PrintHeaderClientMethodData(
    function PrintHeaderServerMethodSync (line 624) | static void PrintHeaderServerMethodSync(
    function PrintHeaderServerMethodAsync (line 658) | static void PrintHeaderServerMethodAsync(
    function PrintHeaderServerMethodStreamedUnary (line 774) | static void PrintHeaderServerMethodStreamedUnary(
    function PrintHeaderServerMethodSplitStreaming (line 825) | static void PrintHeaderServerMethodSplitStreaming(
    function PrintHeaderServerMethodGeneric (line 878) | static void PrintHeaderServerMethodGeneric(
    function PrintHeaderService (line 949) | static void PrintHeaderService(grpc_generator::Printer* printer,
    function GetHeaderServices (line 1174) | grpc::string GetHeaderServices(grpc_generator::File* file,
    function GetHeaderEpilogue (line 1210) | grpc::string GetHeaderEpilogue(grpc_generator::File* file,
    function GetSourcePrologue (line 1239) | grpc::string GetSourcePrologue(grpc_generator::File* file,
    function GetSourceIncludes (line 1265) | grpc::string GetSourceIncludes(grpc_generator::File* file,
    function PrintSourceClientMethod (line 1301) | static void PrintSourceClientMethod(
    function PrintSourceServerMethod (line 1501) | static void PrintSourceServerMethod(
    function PrintSourceService (line 1550) | static void PrintSourceService(grpc_generator::Printer* printer,
    function GetSourceServices (line 1777) | grpc::string GetSourceServices(grpc_generator::File* file,
    function GetSourceEpilogue (line 1807) | grpc::string GetSourceEpilogue(grpc_generator::File* file,
    function GetMockPrologue (line 1825) | grpc::string GetMockPrologue(grpc_generator::File* file,
    function GetMockIncludes (line 1852) | grpc::string GetMockIncludes(grpc_generator::File* file,
    function PrintMockClientMethods (line 1884) | static void PrintMockClientMethods(grpc_generator::Printer* printer,
    function PrintMockService (line 1975) | static void PrintMockService(grpc_generator::Printer* printer,
    function GetMockServices (line 1993) | grpc::string GetMockServices(grpc_generator::File* file,
    function GetMockEpilogue (line 2024) | grpc::string GetMockEpilogue(grpc_generator::File* file,

FILE: grpc/src/compiler/cpp_generator.h
  function namespace (line 18) | namespace grpc {
  function namespace (line 24) | namespace grpc_cpp_generator {

FILE: grpc/src/compiler/go_generator.cc
  function as_string (line 8) | grpc::string as_string(T x) {
  function ClientOnlyStreaming (line 14) | inline bool ClientOnlyStreaming(const grpc_generator::Method* method) {
  function ServerOnlyStreaming (line 18) | inline bool ServerOnlyStreaming(const grpc_generator::Method* method) {
  type grpc_go_generator (line 22) | namespace grpc_go_generator {
    function unexportName (line 26) | static grpc::string unexportName(grpc::string s) {
    function exportName (line 33) | static grpc::string exportName(grpc::string s) {
    function GenerateError (line 39) | static void GenerateError(grpc_generator::Printer* printer,
    function GenerateImports (line 51) | static void GenerateImports(grpc_generator::File* file,
    function GenerateServerMethodSignature (line 71) | static void GenerateServerMethodSignature(
    function GenerateServerMethod (line 91) | static void GenerateServerMethod(const grpc_generator::Method* method,
    function GenerateClientMethodSignature (line 213) | static void GenerateClientMethodSignature(
    function GenerateClientMethod (line 234) | static void GenerateClientMethod(const grpc_generator::Method* method,
    function GenerateService (line 341) | void GenerateService(const grpc_generator::Service* service,
    function GenerateServiceSource (line 496) | grpc::string GenerateServiceSource(grpc_generator::File* file,

FILE: grpc/src/compiler/go_generator.h
  function namespace (line 11) | namespace grpc_go_generator {

FILE: grpc/src/compiler/java_generator.cc
  type grpc_java_generator (line 45) | namespace grpc_java_generator {
    function GenerateImports (line 49) | static void GenerateImports(grpc_generator::File* file,
    function string (line 67) | static string MixedLower(const string& word) {
    function string (line 87) | static string ToAllUpperCase(const string& word) {
    function string (line 98) | static inline string LowerMethodName(const MethodDescriptor* method) {
    function string (line 102) | static inline string MethodPropertiesFieldName(const MethodDescriptor*...
    function string (line 106) | static inline string MethodPropertiesGetterName(
    function string (line 111) | static inline string MethodIdFieldName(const MethodDescriptor* method) {
    function string (line 115) | static inline string JavaClassName(VARS& vars, const string& name) {
    function string (line 120) | static inline string ServiceClassName(const string& service_name) {
    function GrpcSplitStringToIteratorUsing (line 127) | static void GrpcSplitStringToIteratorUsing(const string& full,
    function GrpcSplitStringUsing (line 159) | static void GrpcSplitStringUsing(const string& full, const char* delim,
    function GrpcSplit (line 165) | static std::vector<string> GrpcSplit(const string& full, const char* d...
    function string (line 173) | static string GrpcEscapeJavadoc(const string& input) {
    function GrpcGetDocLines (line 231) | static std::vector<string> GrpcGetDocLines(const string& comments) {
    function GrpcGetDocLinesForDescriptor (line 250) | static std::vector<string> GrpcGetDocLinesForDescriptor(
    function GrpcWriteDocCommentBody (line 256) | static void GrpcWriteDocCommentBody(Printer* printer, VARS& vars,
    function GrpcWriteDocComment (line 282) | static void GrpcWriteDocComment(Printer* printer, VARS& vars,
    function GrpcWriteServiceDocComment (line 290) | static void GrpcWriteServiceDocComment(Printer* printer, VARS& vars,
    function GrpcWriteMethodDocComment (line 298) | static void GrpcWriteMethodDocComment(Printer* printer, VARS& vars,
    function PrintTypeExtractor (line 308) | static void PrintTypeExtractor(Printer* p, VARS& vars) {
    function PrintMethodFields (line 330) | static void PrintMethodFields(Printer* p, VARS& vars,
    type StubType (line 440) | enum StubType {
    type CallType (line 451) | enum CallType { ASYNC_CALL = 0, BLOCKING_CALL = 1, FUTURE_CALL = 2 }
    function PrintStub (line 457) | static void PrintStub(Printer* p, VARS& vars, const ServiceDescriptor*...
    function CompareMethodClientStreaming (line 709) | static bool CompareMethodClientStreaming(
    function PrintMethodHandlerClass (line 717) | static void PrintMethodHandlerClass(Printer* p, VARS& vars,
    function PrintGetServiceDescriptorMethod (line 822) | static void PrintGetServiceDescriptorMethod(Printer* p, VARS& vars,
    function PrintBindServiceMethodBody (line 915) | static void PrintBindServiceMethodBody(Printer* p, VARS& vars,
    function PrintService (line 968) | static void PrintService(Printer* p, VARS& vars,
    function PrintStaticImports (line 1049) | static void PrintStaticImports(Printer* p) {
    function GenerateService (line 1082) | static void GenerateService(const grpc_generator::Service* service,
    function GenerateServiceSource (line 1119) | grpc::string GenerateServiceSource(

FILE: grpc/src/compiler/java_generator.h
  function class (line 28) | class LogMessageVoidify {
  function namespace (line 69) | namespace grpc_java_generator {

FILE: grpc/src/compiler/python_generator.cc
  type flatbuffers (line 34) | namespace flatbuffers {
    type python (line 35) | namespace python {
      type grpc (line 36) | namespace grpc {
        function ClientStreaming (line 38) | bool ClientStreaming(const RPCCall* method) {
        function ServerStreaming (line 44) | bool ServerStreaming(const RPCCall* method) {
        function FormatImports (line 50) | void FormatImports(std::stringstream& ss, const Imports& imports) {
        class BaseGenerator (line 79) | class BaseGenerator {
          method BaseGenerator (line 81) | BaseGenerator(const Parser& parser, const Namer::Config& config,
          method ModuleForFile (line 89) | std::string ModuleForFile(const std::string& file) const {
          method ModuleFor (line 97) | std::string ModuleFor(const T* def) const {
          method NamespaceDir (line 102) | std::string NamespaceDir(const Parser& parser, const std::string...
          method NamespaceDir (line 117) | std::string NamespaceDir(const Namespace& ns, const bool dasheri...
        class StubGenerator (line 127) | class StubGenerator : public BaseGenerator {
          method StubGenerator (line 129) | StubGenerator(const Parser& parser, const std::string& path,
          method Generate (line 133) | bool Generate() {
          method SaveStub (line 153) | bool SaveStub(const std::string& filename, const Imports& imports,
          method Generate (line 167) | void Generate(std::stringstream& ss, const ServiceDef* service,
        class ServiceGenerator (line 243) | class ServiceGenerator : public BaseGenerator {
          method ServiceGenerator (line 245) | ServiceGenerator(const Parser& parser, const std::string& path,
          method Generate (line 249) | bool Generate() {
          method SaveService (line 285) | bool SaveService(const std::string& filename, const Imports& imp...
          method GenerateStub (line 297) | void GenerateStub(std::stringstream& ss, const ServiceDef* service,
          method GenerateServicer (line 335) | void GenerateServicer(std::stringstream& ss, const ServiceDef* s...
          method GenerateRegister (line 359) | void GenerateRegister(std::stringstream& ss, const ServiceDef* s...
        function Generate (line 398) | bool Generate(const Parser& parser, const std::string& path,
        function GenerateStub (line 404) | bool GenerateStub(const Parser& parser, const std::string& path,

FILE: grpc/src/compiler/python_generator.h
  function namespace (line 27) | namespace flatbuffers {

FILE: grpc/src/compiler/schema_interface.h
  function namespace (line 31) | namespace grpc {
  function namespace (line 37) | namespace grpc_generator {

FILE: grpc/src/compiler/swift_generator.cc
  type grpc_swift_generator (line 31) | namespace grpc_swift_generator {
    function WrapInNameSpace (line 34) | static std::string WrapInNameSpace(const std::vector<std::string>& com...
    function GenerateMessage (line 42) | static grpc::string GenerateMessage(const std::vector<std::string>& co...
    function GenerateClientFuncName (line 49) | static void GenerateClientFuncName(
    function GenerateClientFuncBody (line 87) | static void GenerateClientFuncBody(
    function GenerateClientProtocol (line 137) | void GenerateClientProtocol(const grpc_generator::Service* service,
    function GenerateClientClass (line 211) | void GenerateClientClass(grpc_generator::Printer* printer,
    function GenerateServerFuncName (line 241) | grpc::string GenerateServerFuncName(const grpc_generator::Method* meth...
    function GenerateServerExtensionBody (line 262) | grpc::string GenerateServerExtensionBody(const grpc_generator::Method*...
    function GenerateServerProtocol (line 306) | void GenerateServerProtocol(const grpc_generator::Service* service,
    function Generate (line 379) | grpc::string Generate(grpc_generator::File* file,
    function GenerateHeader (line 405) | grpc::string GenerateHeader() {

FILE: grpc/src/compiler/swift_generator.h
  function namespace (line 27) | namespace grpc {
  function namespace (line 33) | namespace grpc_swift_generator {

FILE: grpc/src/compiler/ts_generator.cc
  type grpc_ts_generator (line 32) | namespace grpc_ts_generator {
    function GenerateNamespace (line 35) | static grpc::string GenerateNamespace(const std::vector<std::string> ns,
    function GenerateImports (line 59) | static void GenerateImports(const grpc_generator::Service* service,
    function GetStreamType (line 108) | static void GetStreamType(grpc_generator::Printer* printer,
    function GenerateSerializeMethod (line 120) | static void GenerateSerializeMethod(
    function GenerateDeserializeMethod (line 137) | static void GenerateDeserializeMethod(
    function GenerateMethods (line 150) | static void GenerateMethods(const grpc_generator::Service* service,
    function GenerateService (line 182) | static void GenerateService(const grpc_generator::Service* service,
    function Generate (line 219) | grpc::string Generate(grpc_generator::File* file,
    function FillInterface (line 246) | static void FillInterface(grpc_generator::Printer* printer,
    function GenerateInterfaces (line 264) | static void GenerateInterfaces(
    function GenerateExportedInterface (line 286) | static void GenerateExportedInterface(
    function GenerateMainInterface (line 330) | static void GenerateMainInterface(
    function GenerateMetaData (line 355) | static grpc::string GenerateMetaData() { return "metadata: grpc.Metada...
    function GenerateOptions (line 357) | static grpc::string GenerateOptions() {
    function GenerateUnaryClientInterface (line 361) | static void GenerateUnaryClientInterface(
    function GenerateClientWriteStreamInterface (line 376) | static void GenerateClientWriteStreamInterface(
    function GenerateClientReadableStreamInterface (line 393) | static void GenerateClientReadableStreamInterface(
    function GenerateDepluxStreamInterface (line 405) | static void GenerateDepluxStreamInterface(
    function GenerateClientInterface (line 421) | static void GenerateClientInterface(
    function GenerateClientClassInterface (line 459) | static void GenerateClientClassInterface(
    function GenerateInterface (line 502) | grpc::string GenerateInterface(grpc_generator::File* file,

FILE: grpc/src/compiler/ts_generator.h
  function namespace (line 12) | namespace grpc {
  function namespace (line 18) | namespace grpc_ts_generator {

FILE: grpc/tests/GameFactory.java
  class GameFactory (line 6) | class GameFactory {
    method createMonster (line 7) | public static Monster createMonster(
    method createMonsterFromStat (line 24) | public static Monster createMonsterFromStat(Stat stat, int seqNo) {
    method createStat (line 35) | public static Stat createStat(String greeting, long val, int count) {

FILE: grpc/tests/JavaGrpcTest.java
  class JavaGrpcTest (line 34) | public class JavaGrpcTest {
    class MyService (line 45) | static class MyService extends MonsterStorageGrpc.MonsterStorageImplBa...
      method store (line 46) | @Override
      method retrieve (line 58) | @Override
      method getMaxHitPoint (line 68) | @Override
      method getMinMaxHitPoints (line 73) | @Override
      method computeMinMax (line 78) | private StreamObserver<Monster> computeMinMax(
    method startServer (line 134) | @org.junit.BeforeClass
    method testUnary (line 149) | @org.junit.Test
    method testServerStreaming (line 158) | @org.junit.Test
    method testClientStreaming (line 174) | @org.junit.Test
    method testBiDiStreaming (line 207) | @org.junit.Test

FILE: grpc/tests/go_test.go
  type server (line 15) | type server struct
    method Store (line 24) | func (s *server) Store(context context.Context, in *Example.Monster) (...
    method Retrieve (line 35) | func (s *server) Retrieve(context context.Context, in *Example.Stat) (...
  function StoreClient (line 44) | func StoreClient(c Example.MonsterStorageClient, t *testing.T) {
  function RetrieveClient (line 60) | func RetrieveClient(c Example.MonsterStorageClient, t *testing.T) {
  function TestGRPC (line 80) | func TestGRPC(t *testing.T) {

FILE: grpc/tests/grpctest.cpp
  class ServiceImpl (line 34) | class ServiceImpl final : public MyGame::Example::MonsterStorage::Service {
    method Store (line 35) | virtual ::grpc::Status Store(
    method Retrieve (line 48) | virtual ::grpc::Status Retrieve(
  function RunServer (line 82) | void RunServer() {
  function StoreRPC (line 102) | void StoreRPC(MonsterStorage::Stub* stub) {
  function RetrieveRPC (line 124) | void RetrieveRPC(MonsterStorage::Stub* stub) {
  function grpc_server_test (line 140) | int grpc_server_test() {
  function main (line 184) | int main(int /*argc*/, const char* /*argv*/[]) {

FILE: grpc/tests/grpctest.py
  class MonsterStorage (line 40) | class MonsterStorage(monster_grpc_fb.MonsterStorageServicer):
    method Store (line 42) | def Store(self, request, context):
    method Retrieve (line 88) | def Retrieve(self, request, context):
  function serve (line 102) | def serve():
  function run (line 113) | def run():

FILE: grpc/tests/grpctest_callback_client_compile.cpp
  function main (line 60) | int main() { return 0; }

FILE: grpc/tests/grpctest_callback_compile.cpp
  class CallbackServiceImpl (line 8) | class CallbackServiceImpl
  function main (line 15) | int main() {

FILE: grpc/tests/message_builder_test.cpp
  function verify (line 10) | bool verify(flatbuffers::grpc::Message<Monster>& msg,
  function release_n_verify (line 20) | bool release_n_verify(flatbuffers::grpc::MessageBuilder& mbb,
  function builder_move_assign_after_releaseraw_test (line 26) | void builder_move_assign_after_releaseraw_test(
  type BuilderReuseTests<flatbuffers::grpc::MessageBuilder, SrcBuilder> (line 45) | struct BuilderReuseTests<flatbuffers::grpc::MessageBuilder, SrcBuilder> {
    method builder_reusable_after_release_message_test (line 46) | static void builder_reusable_after_release_message_test(
    method builder_reusable_after_release_test (line 62) | static void builder_reusable_after_release_test(TestSelector selector) {
    method builder_reusable_after_releaseraw_test (line 80) | static void builder_reusable_after_releaseraw_test(TestSelector select...
    method builder_reusable_after_release_and_move_assign_test (line 96) | static void builder_reusable_after_release_and_move_assign_test(
    method builder_reusable_after_release_message_and_move_assign_test (line 123) | static void builder_reusable_after_release_message_and_move_assign_test(
    method builder_reusable_after_releaseraw_and_move_assign_test (line 146) | static void builder_reusable_after_releaseraw_and_move_assign_test(
    method run_tests (line 168) | static void run_tests(TestSelector selector) {
  function slice_allocator_tests (line 178) | void slice_allocator_tests() {
  function populate_first_half (line 207) | void populate_first_half(MyGame::Example::MonsterBuilder& wrapper,
  function populate_second_half (line 215) | void populate_second_half(MyGame::Example::MonsterBuilder& wrapper) {
  function test_only_hack_update_fbb_reference (line 228) | void test_only_hack_update_fbb_reference(
  function builder_move_ctor_conversion_before_finish_half_n_half_table_test (line 238) | void builder_move_ctor_conversion_before_finish_half_n_half_table_test() {
  function builder_move_ctor_conversion_before_finish_test (line 256) | void builder_move_ctor_conversion_before_finish_test() {
  function builder_move_assign_conversion_before_finish_half_n_half_table_test (line 283) | void builder_move_assign_conversion_before_finish_half_n_half_table_test...
  function builder_move_assign_conversion_before_finish_test (line 304) | void builder_move_assign_conversion_before_finish_test() {
  function builder_move_ctor_conversion_after_finish_test (line 322) | void builder_move_ctor_conversion_after_finish_test() {
  function builder_move_assign_conversion_after_finish_test (line 332) | void builder_move_assign_conversion_after_finish_test() {
  function message_builder_tests (line 344) | void message_builder_tests() {

FILE: include/codegen/idl_namer.h
  function namespace (line 7) | namespace flatbuffers {

FILE: include/codegen/namer.h
  function namespace (line 6) | namespace flatbuffers {

FILE: include/codegen/python.cc
  type flatbuffers (line 8) | namespace flatbuffers {
    type python (line 9) | namespace python {
      function Keywords (line 20) | std::set<std::string> Keywords(const Version& version) {

FILE: include/codegen/python.h
  function namespace (line 11) | namespace flatbuffers {

FILE: include/flatbuffers/allocator.h
  function namespace (line 22) | namespace flatbuffers {

FILE: include/flatbuffers/array.h
  function namespace (line 27) | namespace flatbuffers {
  type size_type (line 170) | typedef uint16_t size_type;
  function return_type (line 175) | return_type operator[](uoffset_t) const {

FILE: include/flatbuffers/base.h
  function class (line 106) | const class nullptr_t {

FILE: include/flatbuffers/buffer.h
  function namespace (line 25) | namespace flatbuffers {
  type pointee_type (line 165) | typedef pointee_type* mutable_return_type;
  function return_type (line 168) | static return_type Read(const uint8_t* const p, const size_t i) {
  function mutable_return_type (line 172) | static mutable_return_type Read(uint8_t* const p, const size_t i) {
  function T (line 214) | T* GetRoot(const void* buf) {
  function T (line 219) | T* GetSizePrefixedRoot(const void* buf) {

FILE: include/flatbuffers/buffer_ref.h
  function namespace (line 23) | namespace flatbuffers {

FILE: include/flatbuffers/code_generator.h
  function namespace (line 25) | namespace flatbuffers {

FILE: include/flatbuffers/code_generators.h
  function namespace (line 25) | namespace flatbuffers {
  function class (line 92) | class BaseGenerator {
  type CommentConfig (line 154) | struct CommentConfig {
  function class (line 164) | class FloatConstantGenerator {
  function class (line 182) | class SimpleFloatConstantGenerator : public FloatConstantGenerator {
  function class (line 204) | class TypedFloatConstantGenerator : public FloatConstantGenerator {

FILE: include/flatbuffers/default_allocator.h
  function namespace (line 23) | namespace flatbuffers {

FILE: include/flatbuffers/detached_buffer.h
  function namespace (line 24) | namespace flatbuffers {

FILE: include/flatbuffers/file_manager.h
  function namespace (line 24) | namespace flatbuffers {

FILE: include/flatbuffers/flatbuffer_builder.h
  function namespace (line 41) | namespace flatbuffers {
  function Swap (line 144) | void Swap(FlatBufferBuilderImpl& other) {
  function Reset (line 162) | void Reset() {
  function Clear (line 169) | void Clear() {
  function DetachedBuffer (line 228) | DetachedBuffer Release() {
  function ForceDefaults (line 277) | void ForceDefaults(bool fd) { force_defaults_ = fd; }
  function DedupVtables (line 281) | void DedupVtables(bool dedup) { dedup_vtables_ = dedup; }
  function Pad (line 284) | void Pad(size_t num_bytes) { buf_.fill(num_bytes); }
  function TrackMinAlign (line 286) | void TrackMinAlign(size_t elem_size) {
  function Align (line 290) | void Align(size_t elem_size) {
  function PushFlatBuffer (line 295) | void PushFlatBuffer(const uint8_t* bytes, size_t size) {
  function PushBytes (line 300) | void PushBytes(const uint8_t* bytes, size_t size) { buf_.push(bytes, siz...
  function PopBytes (line 302) | void PopBytes(size_t amount) { buf_.pop(amount); }
  function TrackField (line 327) | void TrackField(voffset_t field, uoffset_t off) {
  function AddStructOffset (line 369) | void AddStructOffset(voffset_t field, uoffset_t off) {
  function uoffset_t (line 376) | uoffset_t ReferTo(uoffset_t off) {
  function uoffset64_t (line 385) | uoffset64_t ReferTo(uoffset64_t off) {
  function NotNested (line 404) | void NotNested() {
  function uoffset_t (line 420) | uoffset_t StartTable() {
  function uoffset_t (line 429) | uoffset_t EndTable(uoffset_t start) {
  function FLATBUFFERS_ATTRIBUTE (line 498) | FLATBUFFERS_ATTRIBUTE([[deprecated("call the version above instead")]])
  function uoffset_t (line 514) | uoffset_t StartStruct(size_t alignment) {
  function uoffset_t (line 519) | uoffset_t EndStruct() { return GetSizeRelative32BitRegion(); }
  function ClearOffsets (line 521) | void ClearOffsets() {
  function PreAlign (line 529) | void PreAlign(size_t len, size_t alignment) {
  function ForceVectorAlignment (line 712) | void ForceVectorAlignment(const size_t len, const size_t elemsize,
  function ForceStringAlignment (line 734) | void ForceStringAlignment(size_t len, size_t alignment) {
  type typename (line 756) | typedef typename OffsetT<VectorT<T>>::offset_type offset_type;
  type typename (line 939) | typedef typename VectorT<T>::size_type LenT;
  type T (line 940) | typedef typename OffsetT<VectorT<const T*>>::offset_type offset_type;
  function explicit (line 1146) | explicit TableKeyComparator(vector_downward<SizeT>& buf) : buf_(buf) {}
  function buf_ (line 1147) | TableKeyComparator(const TableKeyComparator& other) : buf_(other.buf_) {}
  function const (line 1148) | bool operator()(const Offset<T>& a, const Offset<T>& b) const {
  function uoffset_t (line 1196) | uoffset_t CreateUninitializedVector(size_t len, size_t elemsize,
  function FLATBUFFERS_ATTRIBUTE (line 1207) | FLATBUFFERS_ATTRIBUTE([[deprecated("call the version above instead")]])
  function SwapBufAllocator (line 1280) | void SwapBufAllocator(FlatBufferBuilderImpl& other) {
  function Finish (line 1293) | void Finish(uoffset_t root, const char* file_identifier, bool size_prefi...
  type FieldLoc (line 1322) | struct FieldLoc {
  type StringOffsetCompare (line 1368) | struct StringOffsetCompare {
  type std (line 1381) | typedef std::set<Offset<String>, StringOffsetCompare> StringOffsetMap;
  function CreateStringImpl (line 1412) | void CreateStringImpl(const char* str, size_t len) {

FILE: include/flatbuffers/flatbuffers.h
  function namespace (line 38) | namespace flatbuffers {

FILE: include/flatbuffers/flatc.h
  function namespace (line 31) | namespace flatbuffers {

FILE: include/flatbuffers/flex_flat_util.h
  function namespace (line 23) | namespace flexbuffers {

FILE: include/flatbuffers/flexbuffers.h
  function namespace (line 36) | namespace flexbuffers {
  function Type (line 121) | inline Type ToTypedVectorElementType(Type t) {
  function Type (line 126) | inline Type ToFixedTypedVectorElementType(Type t, uint8_t* len) {
  type half (line 136) | typedef int16_t half;
  type quarter (line 137) | typedef int8_t quarter;
  function ReadInt64 (line 155) | inline int64_t ReadInt64(const uint8_t* data, uint8_t byte_width) {
  function ReadUInt64 (line 160) | inline uint64_t ReadUInt64(const uint8_t* data, uint8_t byte_width) {
  function ReadDouble (line 181) | inline double ReadDouble(const uint8_t* data, uint8_t byte_width) {
  function BitWidth (line 195) | inline BitWidth WidthU(uint64_t u) {
  function BitWidth (line 207) | inline BitWidth WidthI(int64_t i) {
  function BitWidth (line 212) | inline BitWidth WidthF(double f) {
  function class (line 219) | class Object {
  function class (line 230) | class Sized : public Object {
  function class (line 248) | class String : public Sized {
  function String (line 260) | static String EmptyString() {
  function class (line 267) | class Blob : public Sized {
  function class (line 280) | class Vector : public Sized {
  function class (line 293) | class TypedVector : public Sized {
  function class (line 318) | class FixedTypedVector : public Object {
  function class (line 342) | class Map : public Vector {
  function TypedVector (line 351) | TypedVector Keys() const {
  function IndentString (line 370) | inline void IndentString(std::string& s, int indent,
  function class (line 404) | class Reference {
  function IsTypedVector (line 439) | bool IsTypedVector() const { return flexbuffers::IsTypedVector(type_); }
  function ToString (line 593) | void ToString(bool strings_quoted, bool keys_quoted, std::string& s) con...
  function else (line 666) | else if (IsTypedVector()) {
  function else (line 669) | else if (IsFixedTypedVector()) {
  function else (line 673) | else if (IsBlob()) {
  function MutateInt (line 748) | bool MutateInt(int64_t i) {
  function MutateBool (line 764) | bool MutateBool(bool b) {
  function MutateUInt (line 768) | bool MutateUInt(uint64_t u) {
  function MutateFloat (line 784) | bool MutateFloat(float f) {
  function MutateFloat (line 794) | bool MutateFloat(double d) {
  function MutateString (line 804) | bool MutateString(const char* str, size_t len) {
  function MutateString (line 813) | bool MutateString(const char* str) { return MutateString(str, strlen(str...
  function MutateString (line 814) | bool MutateString(const std::string& str) {
  function res (line 997) | auto res = std::bsearch(key, keys.data_, keys.size(), keys.byte_width_, ...
  function Reference (line 1007) | inline Reference GetRoot(const uint8_t* buffer, size_t size) {
  function Reference (line 1017) | inline Reference GetRoot(const std::vector<uint8_t>& buffer) {
  type BuilderFlag (line 1031) | enum BuilderFlag {
  function class (line 1040) | class Builder FLATBUFFERS_FINAL_CLASS {
  function Clear (line 1070) | void Clear() {
  function Null (line 1084) | void Null() { stack_.push_back(Value()); }
  function Null (line 1085) | void Null(const char* key) {
  function Int (line 1090) | void Int(int64_t i) { stack_.push_back(Value(i, FBT_INT, WidthI(i))); }
  function Int (line 1091) | void Int(const char* key, int64_t i) {
  function UInt (line 1096) | void UInt(uint64_t u) { stack_.push_back(Value(u, FBT_UINT, WidthU(u))); }
  function UInt (line 1097) | void UInt(const char* key, uint64_t u) {
  function Float (line 1102) | void Float(float f) { stack_.push_back(Value(f)); }
  function Float (line 1103) | void Float(const char* key, float f) {
  function Double (line 1108) | void Double(double f) { stack_.push_back(Value(f)); }
  function Double (line 1109) | void Double(const char* key, double d) {
  function Bool (line 1114) | void Bool(bool b) { stack_.push_back(Value(b)); }
  function Bool (line 1115) | void Bool(const char* key, bool b) {
  function IndirectInt (line 1120) | void IndirectInt(int64_t i) { PushIndirect(i, FBT_INDIRECT_INT, WidthI(i...
  function IndirectInt (line 1121) | void IndirectInt(const char* key, int64_t i) {
  function IndirectUInt (line 1126) | void IndirectUInt(uint64_t u) {
  function IndirectUInt (line 1129) | void IndirectUInt(const char* key, uint64_t u) {
  function IndirectFloat (line 1134) | void IndirectFloat(float f) {
  function IndirectFloat (line 1137) | void IndirectFloat(const char* key, float f) {
  function IndirectDouble (line 1142) | void IndirectDouble(double f) {
  function IndirectDouble (line 1145) | void IndirectDouble(const char* key, double d) {
  function Key (line 1150) | size_t Key(const char* str, size_t len) {
  function Key (line 1168) | size_t Key(const char* str) { return Key(str, strlen(str)); }
  function Key (line 1169) | size_t Key(const std::string& str) { return Key(str.c_str(), str.size()); }
  function String (line 1171) | size_t String(const char* str, size_t len) {
  function String (line 1189) | size_t String(const char* str) { return String(str, strlen(str)); }
  function String (line 1190) | size_t String(const std::string& str) {
  function String (line 1193) | void String(const flexbuffers::String& str) {
  function String (line 1197) | void String(const char* key, const char* str) {
  function String (line 1201) | void String(const char* key, const std::string& str) {
  function String (line 1205) | void String(const char* key, const flexbuffers::String& str) {
  function Blob (line 1210) | size_t Blob(const void* data, size_t len) {
  function Blob (line 1213) | size_t Blob(const std::vector<uint8_t>& v) {
  function Blob (line 1217) | void Blob(const char* key, const void* data, size_t len) {
  function Blob (line 1221) | void Blob(const char* key, const std::vector<uint8_t>& v) {
  function StartVector (line 1230) | size_t StartVector() { return stack_.size(); }
  function StartVector (line 1231) | size_t StartVector(const char* key) {
  function StartMap (line 1235) | size_t StartMap() { return stack_.size(); }
  function StartMap (line 1236) | size_t StartMap(const char* key) {
  function EndVector (line 1243) | size_t EndVector(size_t start, bool typed, bool fixed) {
  function EndMap (line 1251) | size_t EndMap(size_t start) {
  function MapElementCount (line 1425) | size_t MapElementCount(size_t start) {
  type Value (line 1443) | struct Value
  function Value (line 1444) | Value LastValue() { return stack_.back(); }
  function ReuseValue (line 1445) | void ReuseValue(Value v) { stack_.push_back(v); }
  function ReuseValue (line 1446) | void ReuseValue(const char* key, Value v) {
  function Undo (line 1453) | void Undo() { stack_.pop_back(); }
  function Add (line 1456) | void Add(int8_t i) { Int(i); }
  function Add (line 1457) | void Add(int16_t i) { Int(i); }
  function Add (line 1458) | void Add(int32_t i) { Int(i); }
  function Add (line 1459) | void Add(int64_t i) { Int(i); }
  function Add (line 1460) | void Add(uint8_t u) { UInt(u); }
  function Add (line 1461) | void Add(uint16_t u) { UInt(u); }
  function Add (line 1462) | void Add(uint32_t u) { UInt(u); }
  function Add (line 1463) | void Add(uint64_t u) { UInt(u); }
  function Add (line 1464) | void Add(float f) { Float(f); }
  function Add (line 1465) | void Add(double d) { Double(d); }
  function Add (line 1466) | void Add(bool b) { Bool(b); }
  function Add (line 1467) | void Add(const char* str) { String(str); }
  function Add (line 1468) | void Add(const std::string& str) { String(str); }
  function Add (line 1469) | void Add(const flexbuffers::String& str) { String(str); }
  function ForceMinimumBitWidth (line 1496) | void ForceMinimumBitWidth(BitWidth bw = BIT_WIDTH_8) {
  function Finish (line 1500) | void Finish() {
  function Align (line 1527) | uint8_t Align(BitWidth alignment) {
  function WriteBytes (line 1534) | void WriteBytes(const void* val, size_t size) {
  function WriteDouble (line 1546) | void WriteDouble(double f, uint8_t byte_width) {
  function WriteOffset (line 1561) | void WriteOffset(uint64_t o, uint8_t byte_width) {
  function BitWidth (line 1575) | static BitWidth WidthB(size_t byte_width) {
  function Type (line 1592) | Type GetScalarType() {
  type Value (line 1602) | struct Value {
  function BitWidth (line 1665) | BitWidth StoredWidth(BitWidth parent_bit_width_ = BIT_WIDTH_8) const {
  function CreateBlob (line 1694) | size_t CreateBlob(const void* data, size_t len, size_t trailing, Type ty...
  type KeyOffsetCompare (line 1797) | struct KeyOffsetCompare {
  type std (line 1807) | typedef std::pair<size_t, size_t> StringOffset;
  type StringOffsetCompare (line 1808) | struct StringOffsetCompare {
  type std (line 1820) | typedef std::set<size_t, KeyOffsetCompare> KeyOffsetMap;
  type std (line 1821) | typedef std::set<StringOffset, StringOffsetCompare> StringOffsetMap;
  function class (line 1830) | class Verifier FLATBUFFERS_FINAL_CLASS {
  function VerifyFrom (line 1867) | bool VerifyFrom(size_t elem, size_t elem_len) const {
  function VerifyBefore (line 1870) | bool VerifyBefore(size_t elem, size_t elem_len) const {
  function VerifyFromPointer (line 1874) | bool VerifyFromPointer(const uint8_t* p, size_t len) {
  function VerifyBeforePointer (line 1878) | bool VerifyBeforePointer(const uint8_t* p, size_t len) {
  function VerifyByteWidth (line 1883) | bool VerifyByteWidth(size_t width) {
  function VerifyType (line 1887) | bool VerifyType(int type) { return Check(type >= 0 && type < FBT_MAX_TYP...
  function VerifyOffset (line 1889) | bool VerifyOffset(uint64_t off, const uint8_t* p) {
  function VerifyAlignment (line 1894) | bool VerifyAlignment(const uint8_t* p, size_t size) const {
  function VerifyVector (line 1910) | bool VerifyVector(Reference r, const uint8_t* p, Type elem_type) {
  function VerifyKeys (line 1948) | bool VerifyKeys(const uint8_t* p, uint8_t byte_width) {
  function VerifyKey (line 1962) | bool VerifyKey(const uint8_t* p) {
  function VerifyTerminator (line 1971) | bool VerifyTerminator(const String& s) {
  function VerifyRef (line 1976) | bool VerifyRef(Reference r) {

FILE: include/flatbuffers/grpc.h
  function namespace (line 26) | namespace flatbuffers {
  function namespace (line 262) | namespace grpc {

FILE: include/flatbuffers/hash.h
  function namespace (line 25) | namespace flatbuffers {

FILE: include/flatbuffers/idl.h
  function namespace (line 43) | namespace flatbuffers {
  type Definition (line 301) | struct Definition {
  function Definition (line 397) | struct StructDef : public Definition {
  function EqualByName (line 600) | inline bool EqualByName(const Type& a, const Type& b) {
  function Definition (line 610) | struct RPCCall : public Definition {
  function Definition (line 619) | struct ServiceDef : public Definition {
  type IncludedFile (line 627) | struct IncludedFile {
  type IDLOptions (line 646) | struct IDLOptions {
  type Language (line 750) | enum Language {
  type MiniReflect (line 773) | enum MiniReflect { kNone, kTypes, kTypesAndNames }
  type ParserState (line 889) | struct ParserState {
  function class (line 937) | class CheckedError {
  function Check (line 955) | bool Check() {
  function class (line 976) | class Parser : public ParserState {

FILE: include/flatbuffers/minireflect.h
  function namespace (line 23) | namespace flatbuffers {
  function InlineSize (line 72) | inline size_t InlineSize(ElementaryType type, const TypeTable* type_tabl...
  function LookupEnum (line 108) | inline int64_t LookupEnum(int64_t enum_val, const int64_t* values,
  function IterateValue (line 131) | inline void IterateValue(ElementaryType type, const uint8_t* val,
  function IterateObject (line 247) | inline void IterateObject(const uint8_t* obj, const TypeTable* type_table,
  function IterateFlatBuffer (line 304) | inline void IterateFlatBuffer(const uint8_t* buffer,
  function IterationVisitor (line 313) | struct ToStringVisitor : public IterationVisitor {

FILE: include/flatbuffers/reflection.h
  function namespace (line 29) | namespace flatbuffers {
  function SetFieldT (line 491) | inline bool SetFieldT(Table* table, const reflection::Field& field,

FILE: include/flatbuffers/reflection_generated.h
  function namespace (line 16) | namespace reflection {
  function FLATBUFFERS_FINAL_CLASS (line 263) | struct KeyValue FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function FLATBUFFERS_FINAL_CLASS (line 342) | struct EnumVal FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function FLATBUFFERS_FINAL_CLASS (line 456) | struct Enum FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function FLATBUFFERS_FINAL_CLASS (line 608) | struct Field FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function FLATBUFFERS_FINAL_CLASS (line 839) | struct Object FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function FLATBUFFERS_FINAL_CLASS (line 1001) | struct RPCCall FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function FLATBUFFERS_FINAL_CLASS (line 1124) | struct Service FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function FLATBUFFERS_FINAL_CLASS (line 1252) | struct SchemaFile FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function FLATBUFFERS_FINAL_CLASS (line 1334) | struct Schema FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
  function reflection (line 1489) | inline const reflection::Schema *GetSchema(const void *buf) {
  function reflection (line 1493) | inline const reflection::Schema *GetSizePrefixedSchema(const void *buf) {
  function SchemaBufferHasIdentifier (line 1501) | inline bool SchemaBufferHasIdentifier(const void *buf) {
  function SizePrefixedSchemaBufferHasIdentifier (line 1506) | inline bool SizePrefixedSchemaBufferHasIdentifier(const void *buf) {
  function FinishSchemaBuffer (line 1527) | inline void FinishSchemaBuffer(
  function FinishSizePrefixedSchemaBuffer (line 1533) | inline void FinishSizePrefixedSchemaBuffer(

FILE: include/flatbuffers/registry.h
  function namespace (line 23) | namespace flatbuffers {

FILE: include/flatbuffers/stl_emulation.h
  function namespace (line 70) | namespace flatbuffers {

FILE: include/flatbuffers/string.h
  type String (line 25) | struct String
  function operator (line 36) | operator flatbuffers::string_view() const {
  function std (line 49) | static inline std::string GetString(const String* str) {
  function flatbuffers (line 62) | static inline flatbuffers::string_view GetStringView(const String* str) {

FILE: include/flatbuffers/struct.h
  function namespace (line 22) | namespace flatbuffers {

FILE: include/flatbuffers/table.h
  function namespace (line 24) | namespace flatbuffers {
  function SetPointer (line 130) | bool SetPointer(voffset_t field, const uint8_t* val) {
  function CheckField (line 146) | bool CheckField(voffset_t field) const {

FILE: include/flatbuffers/util.h
  function namespace (line 38) | namespace flatbuffers {
  function string (line 160) | string FloatToString(T t, int precision) {
  function std (line 199) | inline std::string IntToStringHex(int i, int xdigits) {
  function class (line 217) | class ClassicLocale {
  function strtoval_impl (line 254) | inline void strtoval_impl(int64_t *val, const char *str, char **endptr,
  function strtoval_impl (line 259) | inline void strtoval_impl(uint64_t *val, const char *str, char **endptr,
  function strtoval_impl (line 264) | inline void strtoval_impl(double *val, const char *str, char **endptr) {
  function strtoval_impl (line 270) | inline void strtoval_impl(float *val, const char *str, char **endptr) {
  function StringToFloatImpl (line 319) | bool StringToFloatImpl(T* val, const char* const str) {
  function StringToNumber (line 339) | bool StringToNumber(const char* s, T* val) {
  function StringToNumber (line 394) | inline bool StringToNumber(const char* s, float* val) {
  function StringToNumber (line 399) | inline bool StringToNumber(const char* s, double* val) {
  function StringIsFlatbufferNan (line 413) | inline bool StringIsFlatbufferNan(const std::string& s) {
  function StringIsFlatbufferPositiveInfinity (line 417) | inline bool StringIsFlatbufferPositiveInfinity(const std::string& s) {
  function StringIsFlatbufferNegativeInfinity (line 421) | inline bool StringIsFlatbufferNegativeInfinity(const std::string& s) {
  function SaveFile (line 461) | inline bool SaveFile(const char* name, const std::string& buf, bool bina...
  function ToUTF8 (line 517) | inline int ToUTF8(uint32_t ucc, std::string* out) {
  function FromUTF8 (line 545) | inline int FromUTF8(const char** in) {
  function std (line 603) | inline std::string WordWrap(const std::string in, size_t max_length,
  function EscapeString (line 627) | inline bool EscapeString(const char* s, size_t length, std::string* _text,
  function std (line 711) | inline std::string BufferToHexText(const void* buffer, size_t buffer_size,
  function Case (line 752) | enum class Case {

FILE: include/flatbuffers/vector.h
  function namespace (line 24) | namespace flatbuffers {
  function typename (line 145) | typename Iterator::value_type operator*() const {
  type VectorConstIterator (line 166) | typedef VectorConstIterator<T, typename
  type VectorReverseIterator (line 168) | typedef VectorReverseIterator<iterator> reverse_iterator;
  type VectorReverseIterator (line 169) | typedef VectorReverseIterator<const_iterator> const_reverse_iterator;
  type typename (line 171) | typedef typename flatbuffers::bool_constant<flatbuffers::is_scalar<T>::v...
  function FLATBUFFERS_ATTRIBUTE (line 186) | FLATBUFFERS_ATTRIBUTE([[deprecated("use size() instead")]])
  function return_type (line 199) | return_type operator[](SizeT i) const { return Get(i); }
  function U (line 212) | U* GetAs(SizeT i) const {
  function String (line 218) | const String* GetAsString(SizeT i) const {
  function iterator (line 226) | iterator begin() { return iterator(Data(), 0); }
  function iterator (line 229) | iterator end() { return iterator(Data(), size()); }
  function reverse_iterator (line 232) | reverse_iterator rbegin() { return reverse_iterator(end()); }
  function reverse_iterator (line 237) | reverse_iterator rend() { return reverse_iterator(begin()); }
  function Mutate (line 252) | void Mutate(SizeT i, const T& val) {
  function MutateOffset (line 260) | void MutateOffset(SizeT i, const uint8_t* val) {
  function mutable_return_type (line 268) | mutable_return_type GetMutableObject(SizeT i) const {
  function T (line 281) | const T* data() const { return reinterpret_cast<const T*>(Data()); }
  function T (line 282) | T* data() { return reinterpret_cast<T*>(Data()); }
  function KeyCompare (line 317) | int KeyCompare(const void* ap, const void* bp) {
  function class (line 415) | class VectorOfAny {
  function VectorLength (line 449) | inline size_t VectorLength(const Vector<T>* v) {

FILE: include/flatbuffers/vector_downward.h
  function namespace (line 27) | namespace flatbuffers {
  function fill (line 222) | void fill(size_t zero_pad_bytes) {
  function fill_big (line 229) | void fill_big(size_t zero_pad_bytes) {
  function pop (line 233) | void pop(size_t bytes_to_remove) {
  function scratch_pop (line 238) | void scratch_pop(size_t bytes_to_remove) { scratch_ -= bytes_to_remove; }
  function swap (line 240) | void swap(vector_downward& other) {
  function swap_allocator (line 254) | void swap_allocator(vector_downward& other) {
  function reallocate (line 278) | void reallocate(size_t len) {

FILE: include/flatbuffers/verifier.h
  function namespace (line 23) | namespace flatbuffers {
  function VerifyString (line 137) | bool VerifyString(const String* const str) const {
  function VerifyVectorOfStrings (line 164) | bool VerifyVectorOfStrings(const Vector<Offset<String>>* const vec) const {
  function VerifyTableStart (line 185) | bool VerifyTableStart(const uint8_t* const table) {
  function VerifyComplexity (line 286) | bool VerifyComplexity() {
  function EndTable (line 293) | bool EndTable() {
  function SetFlexReuseTracker (line 323) | void SetFlexReuseTracker(std::vector<uint8_t>* const rt) {

FILE: java/src/main/java/com/google/flatbuffers/ArrayReadWriteBuf.java
  class ArrayReadWriteBuf (line 12) | public class ArrayReadWriteBuf implements ReadWriteBuf {
    method ArrayReadWriteBuf (line 17) | public ArrayReadWriteBuf() {
    method ArrayReadWriteBuf (line 21) | public ArrayReadWriteBuf(int initialCapacity) {
    method ArrayReadWriteBuf (line 25) | public ArrayReadWriteBuf(byte[] buffer) {
    method ArrayReadWriteBuf (line 30) | public ArrayReadWriteBuf(byte[] buffer, int startPos) {
    method clear (line 35) | @Override
    method getBoolean (line 40) | @Override
    method get (line 45) | @Override
    method getShort (line 50) | @Override
    method getInt (line 55) | @Override
    method getLong (line 63) | @Override
    method getFloat (line 75) | @Override
    method getDouble (line 80) | @Override
    method getString (line 85) | @Override
    method data (line 90) | @Override
    method putBoolean (line 95) | @Override
    method put (line 101) | @Override
    method put (line 107) | @Override
    method putShort (line 113) | @Override
    method putInt (line 119) | @Override
    method putLong (line 125) | @Override
    method putFloat (line 131) | @Override
    method putDouble (line 137) | @Override
    method setBoolean (line 143) | @Override
    method set (line 148) | @Override
    method set (line 154) | @Override
    method setShort (line 160) | @Override
    method setInt (line 168) | @Override
    method setLong (line 178) | @Override
    method setFloat (line 194) | @Override
    method setDouble (line 205) | @Override
    method limit (line 222) | @Override
    method writePosition (line 227) | @Override
    method requestCapacity (line 232) | @Override

FILE: java/src/main/java/com/google/flatbuffers/BaseVector.java
  class BaseVector (line 24) | public class BaseVector {
    method __vector (line 42) | protected int __vector() {
    method __element (line 52) | protected int __element(int j) {
    method __reset (line 63) | protected void __reset(int _vector, int _element_size, ByteBuffer _bb) {
    method reset (line 83) | public void reset() {
    method length (line 92) | public int length() {

FILE: java/src/main/java/com/google/flatbuffers/BooleanVector.java
  class BooleanVector (line 24) | public final class BooleanVector extends BaseVector {
    method __assign (line 33) | public BooleanVector __assign(int _vector, ByteBuffer _bb) {
    method get (line 44) | public boolean get(int j) {

FILE: java/src/main/java/com/google/flatbuffers/ByteBufferReadWriteBuf.java
  class ByteBufferReadWriteBuf (line 6) | public class ByteBufferReadWriteBuf implements ReadWriteBuf {
    method ByteBufferReadWriteBuf (line 10) | public ByteBufferReadWriteBuf(ByteBuffer bb) {
    method clear (line 15) | @Override
    method getBoolean (line 20) | @Override
    method get (line 25) | @Override
    method getShort (line 30) | @Override
    method getInt (line 35) | @Override
    method getLong (line 40) | @Override
    method getFloat (line 45) | @Override
    method getDouble (line 50) | @Override
    method getString (line 55) | @Override
    method data (line 60) | @Override
    method putBoolean (line 65) | @Override
    method put (line 70) | @Override
    method put (line 75) | @Override
    method putShort (line 80) | @Override
    method putInt (line 85) | @Override
    method putLong (line 90) | @Override
    method putFloat (line 95) | @Override
    method putDouble (line 100) | @Override
    method setBoolean (line 105) | @Override
    method set (line 110) | @Override
    method set (line 116) | @Override
    method setShort (line 125) | @Override
    method setInt (line 131) | @Override
    method setLong (line 137) | @Override
    method setFloat (line 143) | @Override
    method setDouble (line 149) | @Override
    method writePosition (line 155) | @Override
    method limit (line 160) | @Override
    method requestCapacity (line 165) | @Override

FILE: java/src/main/java/com/google/flatbuffers/ByteBufferUtil.java
  class ByteBufferUtil (line 28) | public class ByteBufferUtil {
    method getSizePrefix (line 36) | public static int getSizePrefix(ByteBuffer bb) {
    method removeSizePrefix (line 47) | public static ByteBuffer removeSizePrefix(ByteBuffer bb) {

FILE: java/src/main/java/com/google/flatbuffers/ByteVector.java
  class ByteVector (line 24) | public final class ByteVector extends BaseVector {
    method __assign (line 33) | public ByteVector __assign(int vector, ByteBuffer bb) {
    method get (line 44) | public byte get(int j) {
    method getAsUnsigned (line 55) | public int getAsUnsigned(int j) {

FILE: java/src/main/java/com/google/flatbuffers/Constants.java
  class Constants (line 22) | public class Constants {
    method FLATBUFFERS_25_12_19 (line 54) | public static void FLATBUFFERS_25_12_19() {}

FILE: java/src/main/java/com/google/flatbuffers/DoubleVector.java
  class DoubleVector (line 24) | public final class DoubleVector extends BaseVector {
    method __assign (line 33) | public DoubleVector __assign(int _vector, ByteBuffer _bb) {
    method get (line 44) | public double get(int j) {

FILE: java/src/main/java/com/google/flatbuffers/FlatBufferBuilder.java
  class FlatBufferBuilder (line 36) | public class FlatBufferBuilder {
    method FlatBufferBuilder (line 71) | public FlatBufferBuilder(int initial_size, ByteBufferFactory bb_factor...
    method FlatBufferBuilder (line 83) | public FlatBufferBuilder(
    method FlatBufferBuilder (line 105) | public FlatBufferBuilder(int initial_size) {
    method FlatBufferBuilder (line 110) | public FlatBufferBuilder() {
    method FlatBufferBuilder (line 123) | public FlatBufferBuilder(ByteBuffer existing_bb, ByteBufferFactory bb_...
    method FlatBufferBuilder (line 134) | public FlatBufferBuilder(ByteBuffer existing_bb) {
    method init (line 148) | public FlatBufferBuilder init(ByteBuffer existing_bb, ByteBufferFactor...
    class ByteBufferFactory (line 177) | public abstract static class ByteBufferFactory {
      method newByteBuffer (line 185) | public abstract ByteBuffer newByteBuffer(int capacity);
      method releaseByteBuffer (line 194) | public void releaseByteBuffer(ByteBuffer bb) {}
    class HeapByteBufferFactory (line 203) | public static final class HeapByteBufferFactory extends ByteBufferFact...
      method newByteBuffer (line 207) | @Override
    method isFieldPresent (line 220) | public static boolean isFieldPresent(Table table, int offset) {
    method clear (line 225) | public void clear() {
    method growByteBuffer (line 250) | static ByteBuffer growByteBuffer(ByteBuffer bb, ByteBufferFactory bb_f...
    method offset (line 277) | public int offset() {
    method pad (line 286) | public void pad(int byte_size) {
    method prep (line 299) | public void prep(int size, int additional_bytes) {
    method putBoolean (line 324) | public void putBoolean(boolean x) {
    method putByte (line 334) | public void putByte(byte x) {
    method putShort (line 344) | public void putShort(short x) {
    method putInt (line 354) | public void putInt(int x) {
    method putLong (line 364) | public void putLong(long x) {
    method putFloat (line 374) | public void putFloat(float x) {
    method putDouble (line 384) | public void putDouble(double x) {
    method addBoolean (line 395) | public void addBoolean(boolean x) {
    method addByte (line 405) | public void addByte(byte x) {
    method addShort (line 415) | public void addShort(short x) {
    method addInt (line 425) | public void addInt(int x) {
    method addLong (line 435) | public void addLong(long x) {
    method addFloat (line 445) | public void addFloat(float x) {
    method addDouble (line 455) | public void addDouble(double x) {
    method addOffset (line 465) | public void addOffset(int off) {
    method startVector (line 516) | public void startVector(int elem_size, int num_elems, int alignment) {
    method endVector (line 531) | public int endVector() {
    method createUnintializedVector (line 549) | public ByteBuffer createUnintializedVector(int elem_size, int num_elem...
    method createVectorOfTables (line 567) | public int createVectorOfTables(int[] offsets) {
    method createSortedVectorOfTables (line 581) | public <T extends Table> int createSortedVectorOfTables(T obj, int[] o...
    method createSharedString (line 597) | public int createSharedString(String s) {
    method createString (line 622) | public int createString(CharSequence s) {
    method createString (line 637) | public int createString(ByteBuffer s) {
    method createByteVector (line 652) | public int createByteVector(byte[] arr) {
    method createByteVector (line 668) | public int createByteVector(byte[] arr, int offset, int length) {
    method createByteVector (line 684) | public int createByteVector(ByteBuffer byteBuffer) {
    method finished (line 694) | public void finished() {
    method notNested (line 704) | public void notNested() {
    method Nested (line 714) | public void Nested(int obj) {
    method startTable (line 758) | public void startTable(int numfields) {
    method addBoolean (line 776) | public void addBoolean(int o, boolean x, boolean d) {
    method addByte (line 792) | public void addByte(int o, byte x, int d) {
    method addShort (line 808) | public void addShort(int o, short x, int d) {
    method addInt (line 824) | public void addInt(int o, int x, int d) {
    method addLong (line 840) | public void addLong(int o, long x, long d) {
    method addFloat (line 856) | public void addFloat(int o, float x, double d) {
    method addDouble (line 872) | public void addDouble(int o, double x, double d) {
    method addOffset (line 888) | public void addOffset(int o, int x, int d) {
    method addStruct (line 902) | public void addStruct(int voffset, int x, int d) {
    method slot (line 914) | public void slot(int voffset) {
    method endTable (line 924) | public int endTable() {
    method required (line 987) | public void required(int table, int field) {
    method finish (line 1003) | protected void finish(int root_table, boolean size_prefix) {
    method finish (line 1018) | public void finish(int root_table) {
    method finishSizePrefixed (line 1027) | public void finishSizePrefixed(int root_table) {
    method finish (line 1039) | protected void finish(int root_table, String file_identifier, boolean ...
    method finish (line 1057) | public void finish(int root_table, String file_identifier) {
    method finishSizePrefixed (line 1068) | public void finishSizePrefixed(int root_table, String file_identifier) {
    method forceDefaults (line 1079) | public FlatBufferBuilder forceDefaults(boolean forceDefaults) {
    method dataBuffer (line 1090) | public ByteBuffer dataBuffer() {
    method dataStart (line 1103) | @Deprecated
    method sizedByteArray (line 1118) | public byte[] sizedByteArray(int start, int length) {
    method sizedByteArray (line 1131) | public byte[] sizedByteArray() {
    method sizedInputStream (line 1141) | public InputStream sizedInputStream() {
    class ByteBufferBackedInputStream (line 1150) | static class ByteBufferBackedInputStream extends InputStream {
      method ByteBufferBackedInputStream (line 1154) | public ByteBufferBackedInputStream(ByteBuffer buf) {
      method read (line 1158) | public int read() throws IOException {

FILE: java/src/main/java/com/google/flatbuffers/FlexBuffers.java
  class FlexBuffers (line 43) | public class FlexBuffers {
    method isTypedVector (line 128) | static boolean isTypedVector(int type) {
    method isTypeInline (line 139) | static boolean isTypeInline(int type) {
    method toTypedVectorElementType (line 143) | static int toTypedVectorElementType(int original_type) {
    method toTypedVector (line 154) | static int toTypedVector(int type, int fixedLength) {
    method isTypedVectorElementType (line 171) | static boolean isTypedVectorElementType(int type) {
    method indirect (line 176) | private static int indirect(ReadBuf bb, int offset, int byteWidth) {
    method readUInt (line 182) | private static long readUInt(ReadBuf buff, int end, int byteWidth) {
    method readInt (line 199) | private static int readInt(ReadBuf buff, int end, int byteWidth) {
    method readLong (line 204) | private static long readLong(ReadBuf buff, int end, int byteWidth) {
    method readDouble (line 219) | private static double readDouble(ReadBuf buff, int end, int byteWidth) {
    method getRoot (line 236) | @Deprecated
    method getRoot (line 250) | public static Reference getRoot(ReadBuf buffer) {
    class Reference (line 261) | public static class Reference {
      method Reference (line 270) | Reference(ReadBuf bb, int end, int parentWidth, int packedType) {
      method Reference (line 274) | Reference(ReadBuf bb, int end, int parentWidth, int byteWidth, int t...
      method getType (line 287) | public int getType() {
      method isNull (line 296) | public boolean isNull() {
      method isBoolean (line 305) | public boolean isBoolean() {
      method isNumeric (line 314) | public boolean isNumeric() {
      method isIntOrUInt (line 323) | public boolean isIntOrUInt() {
      method isFloat (line 332) | public boolean isFloat() {
      method isInt (line 341) | public boolean isInt() {
      method isUInt (line 350) | public boolean isUInt() {
      method isString (line 359) | public boolean isString() {
      method isKey (line 368) | public boolean isKey() {
      method isVector (line 377) | public boolean isVector() {
      method isTypedVector (line 386) | public boolean isTypedVector() {
      method isMap (line 395) | public boolean isMap() {
      method isBlob (line 404) | public boolean isBlob() {
      method asInt (line 421) | public int asInt() {
      method asUInt (line 464) | public long asUInt() {
      method asLong (line 507) | public long asLong() {
      method asFloat (line 552) | public double asFloat() {
      method asKey (line 586) | public Key asKey() {
      method asString (line 599) | public String asString() {
      method asMap (line 621) | public Map asMap() {
      method asVector (line 634) | public Vector asVector() {
      method asBlob (line 656) | public Blob asBlob() {
      method asBoolean (line 671) | public boolean asBoolean() {
      method toString (line 683) | @Override
      method toString (line 689) | StringBuilder toString(StringBuilder sb) {
    class Object (line 740) | private abstract static class Object {
      method Object (line 745) | Object(ReadBuf buff, int end, int byteWidth) {
      method toString (line 751) | @Override
      method toString (line 756) | public abstract StringBuilder toString(StringBuilder sb);
    class Sized (line 760) | private abstract static class Sized extends Object {
      method Sized (line 764) | Sized(ReadBuf buff, int end, int byteWidth) {
      method size (line 769) | public int size() {
    class Blob (line 780) | public static class Blob extends Sized {
      method Blob (line 783) | Blob(ReadBuf buff, int end, int byteWidth) {
      method empty (line 788) | public static Blob empty() {
      method data (line 797) | public ByteBuffer data() {
      method getBytes (line 809) | public byte[] getBytes() {
      method get (line 823) | public byte get(int pos) {
      method toString (line 829) | @Override
      method toString (line 835) | @Override
    class Key (line 844) | public static class Key extends Object {
      method Key (line 848) | Key(ReadBuf buff, int end, int byteWidth) {
      method empty (line 857) | public static Key empty() {
      method toString (line 862) | @Override
      method toString (line 867) | @Override
      method compareTo (line 879) | int compareTo(byte[] other) {
      method equals (line 909) | @Override
      method hashCode (line 916) | public int hashCode() {
    class Map (line 922) | public static class Map extends Vector {
      method Map (line 928) | Map(ReadBuf bb, int end, int byteWidth) {
      method empty (line 937) | public static Map empty() {
      method get (line 945) | public Reference get(String key) {
      method get (line 957) | public Reference get(byte[] key) {
      method keys (line 970) | public KeyVector keys() {
      method values (line 984) | public Vector values() {
      method toString (line 994) | public StringBuilder toString(StringBuilder builder) {
      method binarySearch (line 1009) | private int binarySearch(CharSequence searchedKey) {
      method binarySearch (line 1027) | private int binarySearch(byte[] searchedKey) {
      method compareBytes (line 1047) | private int compareBytes(ReadBuf bb, int start, byte[] other) {
      method compareCharSequence (line 1072) | private int compareCharSequence(int start, CharSequence other) {
    class Vector (line 1130) | public static class Vector extends Sized {
      method Vector (line 1134) | Vector(ReadBuf bb, int end, int byteWidth) {
      method empty (line 1143) | public static Vector empty() {
      method isEmpty (line 1152) | public boolean isEmpty() {
      method toString (line 1157) | @Override
      method get (line 1177) | public Reference get(int index) {
    class TypedVector (line 1189) | public static class TypedVector extends Vector {
      method TypedVector (line 1195) | TypedVector(ReadBuf bb, int end, int byteWidth, int elemType) {
      method empty (line 1200) | public static TypedVector empty() {
      method isEmptyVector (line 1209) | public boolean isEmptyVector() {
      method getElemType (line 1218) | public int getElemType() {
      method get (line 1228) | @Override
    class KeyVector (line 1238) | public static class KeyVector {
      method KeyVector (line 1242) | KeyVector(TypedVector vec) {
      method get (line 1252) | public Key get(int pos) {
      method size (line 1264) | public int size() {
      method toString (line 1269) | public String toString() {
    class FlexBufferException (line 1282) | public static class FlexBufferException extends RuntimeException {
      method FlexBufferException (line 1283) | FlexBufferException(String msg) {
    class Unsigned (line 1288) | static class Unsigned {
      method byteToUnsignedInt (line 1290) | static int byteToUnsignedInt(byte x) {
      method shortToUnsignedInt (line 1294) | static int shortToUnsignedInt(short x) {
      method intToUnsignedLong (line 1298) | static long intToUnsignedLong(int x) {

FILE: java/src/main/java/com/google/flatbuffers/FlexBuffersBuilder.java
  class FlexBuffersBuilder (line 54) | public class FlexBuffersBuilder {
    method compare (line 96) | @Override
    method FlexBuffersBuilder (line 120) | public FlexBuffersBuilder(int bufSize) {
    method FlexBuffersBuilder (line 128) | public FlexBuffersBuilder() {
    method FlexBuffersBuilder (line 138) | @Deprecated
    method FlexBuffersBuilder (line 143) | public FlexBuffersBuilder(ReadWriteBuf bb, int flags) {
    method FlexBuffersBuilder (line 154) | public FlexBuffersBuilder(ByteBuffer bb) {
    method clear (line 159) | public void clear() {
    method getBuffer (line 173) | public ReadWriteBuf getBuffer() {
    method putNull (line 179) | public void putNull() {
    method putNull (line 188) | public void putNull(String key) {
    method putBoolean (line 197) | public void putBoolean(boolean val) {
    method putBoolean (line 207) | public void putBoolean(String key, boolean val) {
    method putKey (line 211) | private int putKey(String key) {
    method putInt (line 240) | public void putInt(int val) {
    method putInt (line 250) | public void putInt(String key, int val) {
    method putInt (line 260) | public void putInt(String key, long val) {
    method putInt (line 278) | public void putInt(long value) {
    method putUInt (line 287) | public void putUInt(int value) {
    method putUInt (line 296) | public void putUInt(long value) {
    method putUInt64 (line 306) | public void putUInt64(BigInteger value) {
    method putUInt64 (line 310) | private void putUInt64(String key, long value) {
    method putUInt (line 314) | private void putUInt(String key, long value) {
    method putFloat (line 337) | public void putFloat(float value) {
    method putFloat (line 347) | public void putFloat(String key, float val) {
    method putFloat (line 356) | public void putFloat(double value) {
    method putFloat (line 366) | public void putFloat(String key, double val) {
    method putString (line 376) | public int putString(String value) {
    method putString (line 387) | public int putString(String key, String val) {
    method writeString (line 408) | private Value writeString(int key, String s) {
    method widthUInBits (line 413) | static int widthUInBits(long len) {
    method writeBlob (line 420) | private Value writeBlob(int key, byte[] blob, int type, boolean traili...
    method align (line 433) | private int align(int alignment) {
    method writeInt (line 442) | private void writeInt(long value, int byteWidth) {
    method putBlob (line 465) | public int putBlob(byte[] value) {
    method putBlob (line 476) | public int putBlob(String key, byte[] val) {
    method startVector (line 489) | public int startVector() {
    method endVector (line 502) | public int endVector(String key, int start, boolean typed, boolean fix...
    method finish (line 519) | public ByteBuffer finish() {
    method createVector (line 547) | private Value createVector(
    method writeOffset (line 612) | private void writeOffset(long val, int byteWidth) {
    method writeAny (line 618) | private void writeAny(final Value val, int byteWidth) {
    method writeDouble (line 635) | private void writeDouble(double val, int byteWidth) {
    method startMap (line 649) | public int startMap() {
    method endMap (line 660) | public int endMap(String key, int start) {
    method createKeyVector (line 675) | private Value createKeyVector(int start, int length) {
    class Value (line 700) | private static class Value {
      method Value (line 713) | Value(int key, int type, int bitWidth, long iValue) {
      method Value (line 721) | Value(int key, int type, int bitWidth, double dValue) {
      method nullValue (line 729) | static Value nullValue(int key) {
      method bool (line 733) | static Value bool(int key, boolean b) {
      method blob (line 737) | static Value blob(int key, int position, int type, int bitWidth) {
      method int8 (line 741) | static Value int8(int key, int value) {
      method int16 (line 745) | static Value int16(int key, int value) {
      method int32 (line 749) | static Value int32(int key, int value) {
      method int64 (line 753) | static Value int64(int key, long value) {
      method uInt8 (line 757) | static Value uInt8(int key, int value) {
      method uInt16 (line 761) | static Value uInt16(int key, int value) {
      method uInt32 (line 765) | static Value uInt32(int key, int value) {
      method uInt64 (line 769) | static Value uInt64(int key, long value) {
      method float32 (line 773) | static Value float32(int key, float value) {
      method float64 (line 777) | static Value float64(int key, double value) {
      method storedPackedType (line 781) | private byte storedPackedType() {
      method storedPackedType (line 785) | private byte storedPackedType(int parentBitWidth) {
      method packedType (line 789) | private static byte packedType(int bitWidth, int type) {
      method storedWidth (line 793) | private int storedWidth(int parentBitWidth) {
      method elemWidth (line 801) | private int elemWidth(int bufSize, int elemIndex) {
      method elemWidth (line 805) | private static int elemWidth(
      method paddingBytes (line 832) | private static int paddingBytes(int bufSize, int scalarSize) {

FILE: java/src/main/java/com/google/flatbuffers/FloatVector.java
  class FloatVector (line 24) | public final class FloatVector extends BaseVector {
    method __assign (line 33) | public FloatVector __assign(int _vector, ByteBuffer _bb) {
    method get (line 44) | public float get(int j) {

FILE: java/src/main/java/com/google/flatbuffers/IntVector.java
  class IntVector (line 24) | public final class IntVector extends BaseVector {
    method __assign (line 33) | public IntVector __assign(int _vector, ByteBuffer _bb) {
    method get (line 44) | public int get(int j) {
    method getAsUnsigned (line 55) | public long getAsUnsigned(int j) {

FILE: java/src/main/java/com/google/flatbuffers/LongVector.java
  class LongVector (line 24) | public final class LongVector extends BaseVector {
    method __assign (line 33) | public LongVector __assign(int _vector, ByteBuffer _bb) {
    method get (line 44) | public long get(int j) {

FILE: java/src/main/java/com/google/flatbuffers/ReadBuf.java
  type ReadBuf (line 4) | public interface ReadBuf {
    method getBoolean (line 12) | boolean getBoolean(int index);
    method get (line 20) | byte get(int index);
    method getShort (line 28) | short getShort(int index);
    method getInt (line 36) | int getInt(int index);
    method getLong (line 44) | long getLong(int index);
    method getFloat (line 52) | float getFloat(int index);
    method getDouble (line 60) | double getDouble(int index);
    method getString (line 69) | String getString(int start, int size);
    method data (line 78) | byte[] data();
    method limit (line 86) | int limit();

FILE: java/src/main/java/com/google/flatbuffers/ReadWriteBuf.java
  type ReadWriteBuf (line 7) | public interface ReadWriteBuf extends ReadBuf {
    method clear (line 12) | void clear();
    method putBoolean (line 20) | void putBoolean(boolean value);
    method put (line 30) | void put(byte[] value, int start, int length);
    method put (line 35) | void put(byte value);
    method putShort (line 41) | void putShort(short value);
    method putInt (line 47) | void putInt(int value);
    method putLong (line 53) | void putLong(long value);
    method putFloat (line 59) | void putFloat(float value);
    method putDouble (line 65) | void putDouble(double value);
    method setBoolean (line 72) | void setBoolean(int index, boolean value);
    method set (line 80) | void set(int index, byte value);
    method set (line 90) | void set(int index, byte[] value, int start, int length);
    method setShort (line 98) | void setShort(int index, short value);
    method setInt (line 106) | void setInt(int index, int value);
    method setLong (line 114) | void setLong(int index, long value);
    method setFloat (line 122) | void setFloat(int index, float value);
    method setDouble (line 130) | void setDouble(int index, double value);
    method writePosition (line 132) | int writePosition();
    method limit (line 140) | int limit();
    method requestCapacity (line 148) | boolean requestCapacity(int capacity);

FILE: java/src/main/java/com/google/flatbuffers/ShortVector.java
  class ShortVector (line 24) | public final class ShortVector extends BaseVector {
    method __assign (line 33) | public ShortVector __assign(int _vector, ByteBuffer _bb) {
    method get (line 44) | public short get(int j) {
    method getAsUnsigned (line 55) | public int getAsUnsigned(int j) {

FILE: java/src/main/java/com/google/flatbuffers/StringVector.java
  class StringVector (line 24) | public final class StringVector extends BaseVector {
    method __assign (line 36) | public StringVector __assign(int _vector, int _element_size, ByteBuffe...
    method get (line 47) | public String get(int j) {

FILE: java/src/main/java/com/google/flatbuffers/Struct.java
  class Struct (line 24) | public class Struct {
    method __reset (line 37) | protected void __reset(int _i, ByteBuffer _bb) {
    method __reset (line 55) | public void __reset() {

FILE: java/src/main/java/com/google/flatbuffers/Table.java
  class Table (line 27) | public class Table {
    method getByteBuffer (line 47) | public ByteBuffer getByteBuffer() {
    method __offset (line 57) | protected int __offset(int vtable_offset) {
    method __offset (line 61) | protected static int __offset(int vtable_offset, int offset, ByteBuffe...
    method __indirect (line 72) | protected int __indirect(int offset) {
    method __indirect (line 83) | protected static int __indirect(int offset, ByteBuffer bb) {
    method __string (line 98) | protected String __string(int offset) {
    method __string (line 115) | protected static String __string(int offset, ByteBuffer bb, Utf8 utf8) {
    method __vector_len (line 127) | protected int __vector_len(int offset) {
    method __vector (line 139) | protected int __vector(int offset) {
    method __vector_as_bytebuffer (line 155) | protected ByteBuffer __vector_as_bytebuffer(int vector_offset, int ele...
    method __vector_in_bytebuffer (line 176) | protected ByteBuffer __vector_in_bytebuffer(ByteBuffer bb, int vector_...
    method __union (line 193) | protected Table __union(Table t, int offset) {
    method __union (line 205) | protected static Table __union(Table t, int offset, ByteBuffer bb) {
    method __has_identifier (line 217) | protected static boolean __has_identifier(ByteBuffer bb, String ident) {
    method sortTables (line 233) | protected void sortTables(int[] offsets, final ByteBuffer bb) {
    method keysCompare (line 253) | protected int keysCompare(Integer o1, Integer o2, ByteBuffer bb) {
    method compareStrings (line 264) | protected static int compareStrings(int offset_1, int offset_2, ByteBu...
    method compareStrings (line 286) | protected static int compareStrings(int offset_1, byte[] key, ByteBuff...
    method __reset (line 304) | protected void __reset(int _i, ByteBuffer _bb) {
    method __reset (line 324) | public void __reset() {

FILE: java/src/main/java/com/google/flatbuffers/UnionVector.java
  class UnionVector (line 24) | public final class UnionVector extends BaseVector {
    method __assign (line 34) | public UnionVector __assign(int _vector, int _element_size, ByteBuffer...
    method get (line 46) | public Table get(Table obj, int j) {

FILE: java/src/main/java/com/google/flatbuffers/Utf8.java
  class Utf8 (line 29) | public abstract class Utf8 {
    method encodedLength (line 39) | public abstract int encodedLength(CharSequence sequence);
    method encodeUtf8 (line 50) | public abstract void encodeUtf8(CharSequence in, ByteBuffer out);
    method decodeUtf8 (line 57) | public abstract String decodeUtf8(ByteBuffer buffer, int offset, int l...
    method getDefault (line 66) | public static Utf8 getDefault() {
    method setDefault (line 78) | public static void setDefault(Utf8 instance) {
    method encodeUtf8CodePoint (line 90) | public static int encodeUtf8CodePoint(CharSequence in, int start, byte...
    class DecodeUtil (line 138) | static class DecodeUtil {
      method isOneByte (line 141) | static boolean isOneByte(byte b) {
      method isTwoBytes (line 146) | static boolean isTwoBytes(byte b) {
      method isThreeBytes (line 151) | static boolean isThreeBytes(byte b) {
      method handleOneByte (line 155) | static void handleOneByte(byte byte1, char[] resultArr, int resultPo...
      method handleTwoBytes (line 159) | static void handleTwoBytes(byte byte1, byte byte2, char[] resultArr,...
      method handleThreeBytes (line 172) | static void handleThreeBytes(
      method handleFourBytes (line 188) | static void handleFourBytes(
      method isNotTrailingByte (line 214) | private static boolean isNotTrailingByte(byte b) {
      method trailingByteValue (line 219) | private static int trailingByteValue(byte b) {
      method highSurrogate (line 223) | private static char highSurrogate(int codePoint) {
      method lowSurrogate (line 228) | private static char lowSurrogate(int codePoint) {
    class UnpairedSurrogateException (line 237) | static class UnpairedSurrogateException extends IllegalArgumentExcepti...
      method UnpairedSurrogateException (line 238) | UnpairedSurrogateException(int index, int length) {

FILE: java/src/main/java/com/google/flatbuffers/Utf8Old.java
  class Utf8Old (line 31) | public class Utf8Old extends Utf8 {
    class Cache (line 33) | private static class Cache {
      method Cache (line 39) | Cache() {
    method initialValue (line 49) | @Override
    method encodedLength (line 58) | @Override
    method encodeUtf8 (line 80) | @Override
    method decodeUtf8 (line 91) | @Override

FILE: java/src/main/java/com/google/flatbuffers/Utf8Safe.java
  class Utf8Safe (line 31) | public final class Utf8Safe extends Utf8 {
    method computeEncodedLength (line 41) | private static int computeEncodedLength(CharSequence sequence) {
    method encodedLengthGeneral (line 71) | private static int encodedLengthGeneral(CharSequence sequence, int sta...
    method decodeUtf8Array (line 94) | public static String decodeUtf8Array(byte[] bytes, int index, int size) {
    method decodeUtf8Buffer (line 168) | public static String decodeUtf8Buffer(ByteBuffer buffer, int offset, i...
    method encodedLength (line 241) | @Override
    method decodeUtf8 (line 251) | @Override
    method encodeUtf8Buffer (line 261) | private static void encodeUtf8Buffer(CharSequence in, ByteBuffer out) {
    method encodeUtf8Array (line 332) | private static int encodeUtf8Array(CharSequence in, byte[] out, int of...
    method encodeUtf8 (line 392) | @Override
    class UnpairedSurrogateException (line 406) | static class UnpairedSurrogateException extends IllegalArgumentExcepti...
      method UnpairedSurrogateException (line 407) | UnpairedSurrogateException(int index, int length) {

FILE: java/src/main/java/com/google/flatbuffers/reflection/AdvancedFeatures.java
  class AdvancedFeatures (line 8) | @SuppressWarnings("unused")
    method AdvancedFeatures (line 10) | private AdvancedFeatures() { }

FILE: java/src/main/java/com/google/flatbuffers/reflection/BaseType.java
  class BaseType (line 5) | @SuppressWarnings("unused")
    method BaseType (line 7) | private BaseType() { }
    method name (line 31) | public static String name(int e) { return names[e]; }

FILE: java/src/main/java/com/google/flatbuffers/reflection/Enum.java
  class Enum (line 21) | @SuppressWarnings("unused")
    method ValidateVersion (line 23) | public static void ValidateVersion() { Constants.FLATBUFFERS_25_12_19(...
    method getRootAsEnum (line 24) | public static Enum getRootAsEnum(ByteBuffer _bb) { return getRootAsEnu...
    method getRootAsEnum (line 25) | public st
Copy disabled (too large) Download .json
Condensed preview — 1847 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (12,789K chars).
[
  {
    "path": ".bazelci/presubmit.yml",
    "chars": 1824,
    "preview": "---\nbuildifier: latest\nmatrix:\n  bazel:\n    - 7.x\n    - 8.x\ntasks:\n  verify_ubuntu2004:\n    platform: ubuntu2004\n    baz"
  },
  {
    "path": ".bazelignore",
    "chars": 102,
    "preview": "ts/node_modules\n\n# Test workspaces\ntests/bazel_repository_test_dir\ntests/ts/bazel_repository_test_dir\n"
  },
  {
    "path": ".bazelrc",
    "chars": 1173,
    "preview": "# We cannot use \"common\" here because the \"version\" command doesn't support\n# --deleted_packages. We need to specify it "
  },
  {
    "path": ".clang-format",
    "chars": 44,
    "preview": "---\nLanguage: Cpp\nBasedOnStyle: Google\n...\n\n"
  },
  {
    "path": ".clang-tidy",
    "chars": 15722,
    "preview": "---\nFormatStyle: \"file\"\nWarningsAsErrors: \"*\"\nHeaderFilterRegex: \".*\"\nChecks: \"google-build-explicit-make-pair,\n        "
  },
  {
    "path": ".editorconfig",
    "chars": 255,
    "preview": "root = true\n# Don't set line endings to avoid conflict with core.autocrlf flag.\n# Line endings on checkout/checkin are c"
  },
  {
    "path": ".gitattributes",
    "chars": 85,
    "preview": "# Set the default behavior, in case people don't have core.autocrlf set.\n* text=auto\n"
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 148,
    "preview": "# Default owner\n* @dbaileychess derekbailey@google.com\n\n# Prevent modification of this file\n.github/CODEOWNERS @dbaileyc"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/404-doc.md",
    "chars": 166,
    "preview": "---\nname: 404 Doc\nabout: To fix broken documentation links\ntitle: \"[Doc 404]\"\nlabels: documentation\nassignees: dbaileych"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "chars": 520,
    "preview": "Thank you for submitting an issue!\n\nPlease make sure you include the names of the affected language(s), compiler version"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 858,
    "preview": "Thank you for submitting a PR!\n\nPlease delete this standard text once you've created your own description.\n\nIf you make "
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 118,
    "preview": "version: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n"
  },
  {
    "path": ".github/labeler.yml",
    "chars": 2656,
    "preview": "# Configuration for Auto Labeler during pull request\n#\n# See https://github.com/actions/labeler for file format\n# and ht"
  },
  {
    "path": ".github/workflows/build.yml",
    "chars": 21379,
    "preview": "name: CI\npermissions: read-all\n\non:\n  # For manual tests.\n  workflow_dispatch:\n  push:\n    tags:\n      - \"*\" # new tag v"
  },
  {
    "path": ".github/workflows/docs.yml",
    "chars": 960,
    "preview": "name: docs\non:\n  # For manual pushes.\n  workflow_dispatch: \n\n  # Pushes to main that touch the documentation directory.\n"
  },
  {
    "path": ".github/workflows/label.yml",
    "chars": 568,
    "preview": "# This workflow will triage pull requests and apply a label based on the\n# paths that are modified in the pull request.\n"
  },
  {
    "path": ".github/workflows/main.yml",
    "chars": 779,
    "preview": "name: OSS-Fuzz\npermissions: read-all\n\non:\n  pull_request:\n    branches:\n      - master\n    paths:\n      - include/**\n   "
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 4156,
    "preview": "name: Release\npermissions: read-all\n\non:\n  # For manual tests.\n  workflow_dispatch:\n  release:\n    types: [published]\n\nj"
  },
  {
    "path": ".github/workflows/stale.yml",
    "chars": 1356,
    "preview": "name: Mark stale issues and pull requests\npermissions:\n  issues: write\n  pull-requests: write\n\non:\n  # For manual tests."
  },
  {
    "path": ".gitignore",
    "chars": 2575,
    "preview": "*_wire.txt\n*_wire.bin\n.DS_Store\n**/.build\nbuild\n**/Packages\n/*.xcodeproj\n**/xcuserdata/\n**/xcshareddata/\n**/.swiftpm/\n*."
  },
  {
    "path": ".npmrc",
    "chars": 12,
    "preview": "hoist=false\n"
  },
  {
    "path": "BUILD.bazel",
    "chars": 3195,
    "preview": "load(\"@rules_cc//cc:defs.bzl\", \"cc_binary\", \"cc_library\")\n\nlicenses([\"notice\"])\n\npackage(\n    default_visibility = [\"//v"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 9106,
    "preview": "# Flatbuffers Change Log\n\nAll major or breaking changes will be documented in this file, as well as any\nnew features tha"
  },
  {
    "path": "CMake/BuildFlatBuffers.cmake",
    "chars": 17045,
    "preview": "# Copyright 2015 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
  },
  {
    "path": "CMake/DESCRIPTION.txt",
    "chars": 242,
    "preview": "FlatBuffers is a cross platform serialization library architected for\nmaximum memory efficiency. It allows you to direct"
  },
  {
    "path": "CMake/FindFlatBuffers.cmake",
    "chars": 2192,
    "preview": "# Copyright 2014 Stefan.Eilemann@epfl.ch\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache"
  },
  {
    "path": "CMake/PackageDebian.cmake",
    "chars": 1145,
    "preview": "# ------------------- Debianization ---------------------\nif (UNIX)\n\n    # Set build environment\n    SET(CPACK_GENERATOR"
  },
  {
    "path": "CMake/PackageRedhat.cmake",
    "chars": 2087,
    "preview": "if (UNIX)\n    set(CPACK_GENERATOR \"RPM\")\n    set(CPACK_SOURCE_TGZ \"ON\")\n\n    set(CPACK_PACKAGE_DESCRIPTION_SUMMARY \"Flat"
  },
  {
    "path": "CMake/Version.cmake",
    "chars": 1688,
    "preview": "set(VERSION_MAJOR 25)\nset(VERSION_MINOR 12)\nset(VERSION_PATCH 19)\nset(VERSION_COMMIT 0)\n\nif(EXISTS \"${CMAKE_CURRENT_SOUR"
  },
  {
    "path": "CMake/flatbuffers-config-version.cmake.in",
    "chars": 409,
    "preview": "set(PACKAGE_VERSION \"@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@\")\n\n# Check whether the requested PACKAGE_FIND_VERSI"
  },
  {
    "path": "CMake/flatbuffers-config.cmake",
    "chars": 281,
    "preview": "include(\"${CMAKE_CURRENT_LIST_DIR}/FlatBuffersTargets.cmake\" OPTIONAL)\ninclude(\"${CMAKE_CURRENT_LIST_DIR}/FlatcTargets.c"
  },
  {
    "path": "CMake/flatbuffers.pc.in",
    "chars": 263,
    "preview": "libdir=@CMAKE_INSTALL_FULL_LIBDIR@\nincludedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@\n\nName: FlatBuffers\nDescription: Memory Eff"
  },
  {
    "path": "CMakeLists.txt",
    "chars": 24543,
    "preview": "# This is the legacy minimum version flatbuffers supported for a while.\ncmake_minimum_required(VERSION 3.8...3.25.2)\n\n# "
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 2769,
    "preview": "Contributing    {#contributing}\n============\n\nWant to contribute? Great! First, read this page (including the small prin"
  },
  {
    "path": "FlatBuffers.podspec",
    "chars": 1002,
    "preview": "Pod::Spec.new do |s|\n  s.name             = 'FlatBuffers'\n  s.version          = '25.12.19'\n  s.summary          = 'Flat"
  },
  {
    "path": "Formatters.md",
    "chars": 1129,
    "preview": "# Format Guidelines\n\nIf you are interesting in contributing to the flatbuffers project, please take a second to read thi"
  },
  {
    "path": "LICENSE",
    "chars": 11358,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "MODULE.bazel",
    "chars": 1593,
    "preview": "module(\n    name = \"flatbuffers\",\n    version = \"25.12.19\",\n    compatibility_level = 1,\n    repo_name = \"com_github_goo"
  },
  {
    "path": "Package.swift",
    "chars": 2139,
    "preview": "// swift-tools-version:5.10\n/*\n * Copyright 2020 Google Inc. All rights reserved.\n *\n * Licensed under the Apache Licens"
  },
  {
    "path": "README.md",
    "chars": 4861,
    "preview": "![logo](https://flatbuffers.dev/assets/flatbuffers_logo.svg) FlatBuffers\n===========\n\n![Build status](https://github.com"
  },
  {
    "path": "SECURITY.md",
    "chars": 481,
    "preview": "# Security Policy\n\n## Reporting a Vulnerability\n\nTo report a security issue, please use http://g.co/vulnz. We use\nhttp:/"
  },
  {
    "path": "android/AndroidManifest.xml",
    "chars": 1423,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- BEGIN_INCLUDE(manifest) -->\n<manifest xmlns:android=\"http://schemas.android."
  },
  {
    "path": "android/app/.gitignore",
    "chars": 7,
    "preview": "/build\n"
  },
  {
    "path": "android/app/build.gradle",
    "chars": 3231,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\n\nandroid {\n  compileSdk 33\n\n  defaultConfig {\n   "
  },
  {
    "path": "android/app/src/main/AndroidManifest.xml",
    "chars": 646,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n  <applica"
  },
  {
    "path": "android/app/src/main/cpp/CMakeLists.txt",
    "chars": 1887,
    "preview": "# For more information about using CMake with Android Studio, read the\n# documentation: https://d.android.com/studio/pro"
  },
  {
    "path": "android/app/src/main/cpp/animals.cpp",
    "chars": 1357,
    "preview": "/*\n * Copyright 2014 Google Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License"
  },
  {
    "path": "android/app/src/main/cpp/flatbuffers/CMakeLists.txt",
    "chars": 2556,
    "preview": "# For more information about using CMake with Android Studio, read the\n# documentation: https://d.android.com/studio/pro"
  },
  {
    "path": "android/app/src/main/cpp/generated/animal_generated.h",
    "chars": 4040,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n\n#ifndef FLATBUFFERS_GENERATED_ANIMAL_COM_FBS_APP_"
  },
  {
    "path": "android/app/src/main/fbs/animal.fbs",
    "chars": 719,
    "preview": "// Copyright 2015 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
  },
  {
    "path": "android/app/src/main/java/com/flatbuffers/app/MainActivity.kt",
    "chars": 1665,
    "preview": "package com.flatbuffers.app\n\nimport android.annotation.SuppressLint\nimport android.os.Bundle\nimport android.widget.TextV"
  },
  {
    "path": "android/app/src/main/java/generated/com/fbs/app/Animal.kt",
    "chars": 2653,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n\npackage com.fbs.app\n\nimport com.google.flatbuffer"
  },
  {
    "path": "android/app/src/main/res/drawable/ic_launcher_background.xml",
    "chars": 5606,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:wi"
  },
  {
    "path": "android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml",
    "chars": 1703,
    "preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:aapt=\"http://schemas.android.com/aapt\"\n    "
  },
  {
    "path": "android/app/src/main/res/layout/activity_main.xml",
    "chars": 726,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  xmlns:"
  },
  {
    "path": "android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml",
    "chars": 273,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <b"
  },
  {
    "path": "android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml",
    "chars": 273,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <b"
  },
  {
    "path": "android/app/src/main/res/values/colors.xml",
    "chars": 208,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <color name=\"colorPrimary\">#6200EE</color>\n    <color name=\"color"
  },
  {
    "path": "android/app/src/main/res/values/strings.xml",
    "chars": 79,
    "preview": "<resources>\n  <string name=\"app_name\">FlatbuffersTestApp</string>\n</resources>\n"
  },
  {
    "path": "android/app/src/main/res/values/styles.xml",
    "chars": 382,
    "preview": "<resources>\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.DarkActionBar\""
  },
  {
    "path": "android/build.gradle",
    "chars": 822,
    "preview": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\nbuildscript {\n  ext."
  },
  {
    "path": "android/gradle/wrapper/gradle-wrapper.properties",
    "chars": 202,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "android/gradle.properties",
    "chars": 1209,
    "preview": "# Project-wide Gradle settings.\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will ov"
  },
  {
    "path": "android/gradlew",
    "chars": 5296,
    "preview": "#!/usr/bin/env sh\n\n##############################################################################\n##\n##  Gradle start up"
  },
  {
    "path": "android/gradlew.bat",
    "chars": 2176,
    "preview": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem "
  },
  {
    "path": "android/settings.gradle",
    "chars": 52,
    "preview": "include ':app'\nrootProject.name = \"FlatbuffersTest\"\n"
  },
  {
    "path": "bazel/BUILD.bazel",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "benchmarks/CMakeLists.txt",
    "chars": 2952,
    "preview": "# Setup for running Google Benchmarks (https://github.com/google/benchmark) on\n# flatbuffers. This requires both that be"
  },
  {
    "path": "benchmarks/cpp/bench.h",
    "chars": 426,
    "preview": "#ifndef BENCHMARKS_CPP_BENCH_H_\n#define BENCHMARKS_CPP_BENCH_H_\n\n#include <cstdint>\n\nstruct Bench {\n  virtual ~Bench() {"
  },
  {
    "path": "benchmarks/cpp/benchmark_main.cpp",
    "chars": 2825,
    "preview": "#include <benchmark/benchmark.h>\n#include <gtest/gtest.h>\n\n#include \"benchmarks/cpp/bench.h\"\n#include \"benchmarks/cpp/fl"
  },
  {
    "path": "benchmarks/cpp/flatbuffers/bench.fbs",
    "chars": 1259,
    "preview": "// Copyright 2021 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
  },
  {
    "path": "benchmarks/cpp/flatbuffers/bench_generated.h",
    "chars": 11010,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n\n#ifndef FLATBUFFERS_GENERATED_BENCH_BENCHMARKS_FL"
  },
  {
    "path": "benchmarks/cpp/flatbuffers/fb_bench.cpp",
    "chars": 2436,
    "preview": "#include \"benchmarks/cpp/flatbuffers/fb_bench.h\"\n\n#include <cstdint>\n#include <memory>\n\n#include \"benchmarks/cpp/bench.h"
  },
  {
    "path": "benchmarks/cpp/flatbuffers/fb_bench.h",
    "chars": 640,
    "preview": "#ifndef BENCHMARKS_CPP_FLATBUFFERS_FB_BENCH_H_\n#define BENCHMARKS_CPP_FLATBUFFERS_FB_BENCH_H_\n\n#include <cstdint>\n#inclu"
  },
  {
    "path": "benchmarks/cpp/raw/raw_bench.cpp",
    "chars": 2768,
    "preview": "#include \"benchmarks/cpp/raw/raw_bench.h\"\n\n#include <cstdint>\n#include <cstring>\n#include <memory>\n\n#include \"benchmarks"
  },
  {
    "path": "benchmarks/cpp/raw/raw_bench.h",
    "chars": 216,
    "preview": "#ifndef BENCHMARKS_CPP_RAW_RAW_BENCH_H_\n#define BENCHMARKS_CPP_RAW_RAW_BENCH_H_\n\n#include <memory>\n\n#include \"benchmarks"
  },
  {
    "path": "benchmarks/swift/Benchmarks/FlatbuffersBenchmarks/FlatbuffersBenchmarks.swift",
    "chars": 7317,
    "preview": "/*\n * Copyright 2024 Google Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License"
  },
  {
    "path": "benchmarks/swift/Package.swift",
    "chars": 1290,
    "preview": "// swift-tools-version:5.10\n/*\n * Copyright 2020 Google Inc. All rights reserved.\n *\n * Licensed under the Apache Licens"
  },
  {
    "path": "benchmarks/swift/README.md",
    "chars": 187,
    "preview": "# Benchmarks\n\nTo open the benchmarks in xcode use:\n\n`open --env BENCHMARK_DISABLE_JEMALLOC=true Package.swift`\n\nor runni"
  },
  {
    "path": "build_defs.bzl",
    "chars": 11560,
    "preview": "# Description:\n#   BUILD rules for generating flatbuffer files in various languages.\n\n\"\"\"\nRules for building C++ flatbuf"
  },
  {
    "path": "composer.json",
    "chars": 377,
    "preview": "{\n  \"name\": \"google/flatbuffers\",\n  \"type\": \"library\",\n  \"description\": \"FlatBuffers for PHP\",\n  \"keywords\": [\"google\", "
  },
  {
    "path": "dart/CHANGELOG.md",
    "chars": 2002,
    "preview": "# Changelog\n\n## 25.9.23\n\n- use enhanced enums (#8313)\n- fix incorrect write in Float64 write method (#8290)\n- code forma"
  },
  {
    "path": "dart/LICENSE",
    "chars": 11341,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "dart/README.md",
    "chars": 966,
    "preview": "# FlatBuffers for Dart\n\nThis package is used to read and write [FlatBuffers](https://google.github.io/flatbuffers/).\n\nMo"
  },
  {
    "path": "dart/analysis_options.yaml",
    "chars": 40,
    "preview": "include: package:lints/recommended.yaml\n"
  },
  {
    "path": "dart/example/example.dart",
    "chars": 4997,
    "preview": "/*\n * Copyright 2018 Dan Field. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
  },
  {
    "path": "dart/example/monster_my_game.sample_generated.dart",
    "chars": 11509,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "dart/lib/flat_buffers.dart",
    "chars": 46527,
    "preview": "import 'dart:collection';\nimport 'dart:convert';\nimport 'dart:math';\nimport 'dart:typed_data';\n\nconst int _sizeofUint8 ="
  },
  {
    "path": "dart/lib/flex_buffers.dart",
    "chars": 56,
    "preview": "export 'src/builder.dart';\nexport 'src/reference.dart';\n"
  },
  {
    "path": "dart/lib/src/builder.dart",
    "chars": 22185,
    "preview": "import 'dart:convert';\nimport 'dart:typed_data';\n\nimport 'types.dart';\n\n/// The main builder class for creation of a Fle"
  },
  {
    "path": "dart/lib/src/reference.dart",
    "chars": 16065,
    "preview": "import 'dart:collection';\nimport 'dart:convert';\nimport 'dart:typed_data';\n\nimport 'types.dart';\n\n/// Main class to read"
  },
  {
    "path": "dart/lib/src/types.dart",
    "chars": 5040,
    "preview": "import 'dart:typed_data';\n\n/// Represents the number of bits a value occupies.\nenum BitWidth { width8, width16, width32,"
  },
  {
    "path": "dart/publish.sh",
    "chars": 1108,
    "preview": "#!/bin/sh\n#\n# Copyright 2018 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"L"
  },
  {
    "path": "dart/pubspec.yaml",
    "chars": 432,
    "preview": "name: flat_buffers\nversion: 25.12.19\ndescription: FlatBuffers reading and writing library for Dart. Based on original wo"
  },
  {
    "path": "dart/test/bool_structs.fbs",
    "chars": 114,
    "preview": "// Test for #7355\ntable Foo {\n  my_foo : foo_properties;\n}\n\nstruct foo_properties\n{\n    a : bool;\n    b : bool;\n}\n"
  },
  {
    "path": "dart/test/bool_structs_generated.dart",
    "chars": 4490,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "dart/test/enums.fbs",
    "chars": 110,
    "preview": "enum OptionsEnum : uint32\n{\n    A = 1,\n    B = 2,\n    C = 3\n}\n\ntable MyTable {\n    options : [OptionsEnum];\n}\n"
  },
  {
    "path": "dart/test/enums_generated.dart",
    "chars": 3775,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "dart/test/flat_buffers_test.dart",
    "chars": 33664,
    "preview": "import 'dart:io' as io;\nimport 'dart:typed_data';\n\nimport 'package:flat_buffers/flat_buffers.dart';\nimport 'package:path"
  },
  {
    "path": "dart/test/flex_builder_test.dart",
    "chars": 11414,
    "preview": "import 'dart:typed_data';\n\nimport 'package:flat_buffers/flex_buffers.dart' show Builder;\nimport 'package:test/test.dart'"
  },
  {
    "path": "dart/test/flex_reader_test.dart",
    "chars": 17584,
    "preview": "import 'dart:typed_data';\n\nimport 'package:flat_buffers/flex_buffers.dart' show Reference, Builder;\nimport 'package:test"
  },
  {
    "path": "dart/test/flex_types_test.dart",
    "chars": 9208,
    "preview": "import 'package:flat_buffers/src/types.dart';\nimport 'package:test/test.dart';\n\nvoid main() {\n  test('is inline', () {\n "
  },
  {
    "path": "dart/test/include_test1_generated.dart",
    "chars": 2647,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "dart/test/include_test2_my_game.other_name_space_generated.dart",
    "chars": 4958,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "dart/test/keyword_test_keyword_test_generated.dart",
    "chars": 9377,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "dart/test/monster_test.fbs",
    "chars": 5481,
    "preview": "// test schema file\n\ninclude \"include_test1.fbs\";\n\nnamespace MyGame;\n\ntable InParentNamespace {}\n\nnamespace MyGame.Examp"
  },
  {
    "path": "dart/test/monster_test_my_game.example2_generated.dart",
    "chars": 1946,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "dart/test/monster_test_my_game.example_generated.dart",
    "chars": 81220,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "dart/test/monster_test_my_game_generated.dart",
    "chars": 2135,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "docs/README.md",
    "chars": 430,
    "preview": "# Documentation\n\nThis is the source of the FlatBuffers documentation, that is served at\nhttps://flatbuffers.dev.\n\n\n## Lo"
  },
  {
    "path": "docs/mkdocs.yml",
    "chars": 5432,
    "preview": "site_name: FlatBuffers Docs\ndocs_dir: source\nsite_url: https://flatbuffers.dev\nrepo_name: google/FlatBuffers\nrepo_url: h"
  },
  {
    "path": "docs/overrides/404.html",
    "chars": 313,
    "preview": "{% extends \"main.html\" %}\n\n<!-- Content -->\n{% block content %}\n  <h1>404 - Not found</h1>\n  <br>\n  FlatBuffers has migr"
  },
  {
    "path": "docs/overrides/main.html",
    "chars": 26,
    "preview": "{% extends \"base.html\" %}\n"
  },
  {
    "path": "docs/source/CNAME",
    "chars": 15,
    "preview": "flatbuffers.dev"
  },
  {
    "path": "docs/source/annotation.md",
    "chars": 5375,
    "preview": "# Annotating FlatBuffers\n\nThis provides a way to annotate flatbuffer binary data, byte-by-byte, with a\nschema. It is use"
  },
  {
    "path": "docs/source/benchmarks.md",
    "chars": 4946,
    "preview": "C++ Benchmarks    {#flatbuffers_benchmarks}\n==========\n\nComparing against other serialization solutions, running on Wind"
  },
  {
    "path": "docs/source/building.md",
    "chars": 6861,
    "preview": "# Building\n\n## Building with CMake\n\nThe distribution main build system is configured by\n[`cmake`](https://www.cmake.org)"
  },
  {
    "path": "docs/source/contributing.md",
    "chars": 3049,
    "preview": "# Contributing\n\nWe encourage community contributions to FlatBuffers through pull requests at the\nmain\n[http://github.com"
  },
  {
    "path": "docs/source/evolution.md",
    "chars": 7225,
    "preview": "# Evolution\n\nFlatBuffers enables the [schema](schema.md) to evolve over time while still\nmaintaining forwards and backwa"
  },
  {
    "path": "docs/source/flatc.md",
    "chars": 11662,
    "preview": "# FlatBuffers Compiler (`flatc`)\n\nThe main compiler for FlatBuffers is called `flatc` and is used to convert\nschema defi"
  },
  {
    "path": "docs/source/flexbuffers.md",
    "chars": 8380,
    "preview": "FlexBuffers    {#flexbuffers}\n==========\n\nFlatBuffers was designed around schemas, because when you want maximum\nperform"
  },
  {
    "path": "docs/source/grammar.md",
    "chars": 2142,
    "preview": "## EBNF\n\n```ebnf\nschema = include* ( namespace_decl | type_decl | enum_decl | root_decl |\n           file_extension_decl"
  },
  {
    "path": "docs/source/index.md",
    "chars": 2134,
    "preview": "# Overview\n\nFlatBuffers is an efficient cross platform serialization library for C++, C#, C,\nGo, Java, Kotlin, JavaScrip"
  },
  {
    "path": "docs/source/intermediate_representation.md",
    "chars": 1546,
    "preview": "# Flatbuffers Intermediate Representation {#intermediate_representation}\n\nWe use [reflection.fbs](https://github.com/goo"
  },
  {
    "path": "docs/source/internals.md",
    "chars": 20681,
    "preview": "FlatBuffer Internals    {#flatbuffers_internals}\n====================\n\nThis section is entirely optional for the use of "
  },
  {
    "path": "docs/source/languages/c.md",
    "chars": 8269,
    "preview": "Use in C    {#flatbuffers_guide_use_c}\n==========\n\nThe C language binding exists in a separate project named [FlatCC](ht"
  },
  {
    "path": "docs/source/languages/c_sharp.md",
    "chars": 10787,
    "preview": "Use in C\\#    {#flatbuffers_guide_use_c-sharp}\n==============\n\n## Before you get started\n\nBefore diving into the FlatBuf"
  },
  {
    "path": "docs/source/languages/cpp.md",
    "chars": 29253,
    "preview": "# Language Guide: C++\n\n## Before you get started\n\nBefore diving into the FlatBuffers usage in C++, it should be noted th"
  },
  {
    "path": "docs/source/languages/dart.md",
    "chars": 6017,
    "preview": "Use in Dart    {#flatbuffers_guide_use_dart}\n===========\n\n## Before you get started\n\nBefore diving into the FlatBuffers "
  },
  {
    "path": "docs/source/languages/go.md",
    "chars": 3664,
    "preview": "Use in Go    {#flatbuffers_guide_use_go}\n=========\n\n## Before you get started\n\nBefore diving into the FlatBuffers usage "
  },
  {
    "path": "docs/source/languages/java.md",
    "chars": 4674,
    "preview": "Use in Java    {#flatbuffers_guide_use_java}\n==============\n\n## Before you get started\n\nBefore diving into the FlatBuffe"
  },
  {
    "path": "docs/source/languages/javascript.md",
    "chars": 3325,
    "preview": "Use in JavaScript    {#flatbuffers_guide_use_javascript}\n=================\n\n## Before you get started\n\nBefore diving int"
  },
  {
    "path": "docs/source/languages/kotlin.md",
    "chars": 3666,
    "preview": "Use in Kotlin    {#flatbuffers_guide_use_kotlin}\n==============\n\n## Before you get started\n\nBefore diving into the FlatB"
  },
  {
    "path": "docs/source/languages/lobster.md",
    "chars": 3275,
    "preview": "Use in Lobster    {#flatbuffers_guide_use_lobster}\n==============\n\n## Before you get started\n\nBefore diving into the Fla"
  },
  {
    "path": "docs/source/languages/lua.md",
    "chars": 3005,
    "preview": "Use in Lua    {#flatbuffers_guide_use_lua}\n=============\n\n## Before you get started\n\nBefore diving into the FlatBuffers "
  },
  {
    "path": "docs/source/languages/php.md",
    "chars": 3249,
    "preview": "Use in PHP    {#flatbuffers_guide_use_php}\n==========\n\n## Before you get started\n\nBefore diving into the FlatBuffers usa"
  },
  {
    "path": "docs/source/languages/python.md",
    "chars": 3888,
    "preview": "Use in Python    {#flatbuffers_guide_use_python}\n=============\n\n## Before you get started\n\nBefore diving into the FlatBu"
  },
  {
    "path": "docs/source/languages/rust.md",
    "chars": 12267,
    "preview": "Use in Rust    {#flatbuffers_guide_use_rust}\n==========\n\n## Before you get started\n\nBefore diving into the FlatBuffers u"
  },
  {
    "path": "docs/source/languages/swift.md",
    "chars": 4388,
    "preview": "Use in Swift {#flatbuffers_guide_use_swift}\n=========\n\n## Before you get started\n\nBefore diving into the FlatBuffers usa"
  },
  {
    "path": "docs/source/languages/typescript.md",
    "chars": 3428,
    "preview": "Use in TypeScript    {#flatbuffers_guide_use_typescript}\n=================\n\n## Before you get started\n\nBefore diving int"
  },
  {
    "path": "docs/source/quick_start.md",
    "chars": 2655,
    "preview": "# Quick Start\n\nThis will quickly go over the parts of using FlatBuffers to serialize some data.\nSee the [Tutorial](tutor"
  },
  {
    "path": "docs/source/schema.md",
    "chars": 24927,
    "preview": "# Schema\n\nThe syntax of the schema language (aka IDL,\n[Interface Definition Language](https://en.wikipedia.org/wiki/Inte"
  },
  {
    "path": "docs/source/support.md",
    "chars": 3966,
    "preview": "Platform / Language / Feature support    {#flatbuffers_support}\n=====================================\n\nFlatBuffers is ac"
  },
  {
    "path": "docs/source/tutorial.md",
    "chars": 82823,
    "preview": "# Tutorial\n\nThis tutorial provides an example of how to work with FlatBuffers in a variety\nof languages. The following t"
  },
  {
    "path": "docs/source/white_paper.md",
    "chars": 5744,
    "preview": "FlatBuffers white paper    {#flatbuffers_white_paper}\n=======================\n\nThis document tries to shed some light on"
  },
  {
    "path": "eslint.config.mjs",
    "chars": 306,
    "preview": "import globals from \"globals\";\nimport pluginJs from \"@eslint/js\";\nimport tseslint from \"typescript-eslint\";\n\nexport defa"
  },
  {
    "path": "examples/go-echo/README.md",
    "chars": 404,
    "preview": "# Go Echo Example\n\nA simple example demonstrating how to send flatbuffers over the network in Go.\n\n## Generate flatbuffe"
  },
  {
    "path": "examples/go-echo/client/client.go",
    "chars": 947,
    "preview": "package main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\n\t\"echo/hero\"\n\t\"echo/net\"\n\n\tflatbuffers \"github.com/goog"
  },
  {
    "path": "examples/go-echo/go.mod",
    "chars": 83,
    "preview": "module echo\n\ngo 1.19\n\nrequire github.com/google/flatbuffers v22.10.26+incompatible\n"
  },
  {
    "path": "examples/go-echo/hero/Warrior.go",
    "chars": 2207,
    "preview": "// Code generated by the FlatBuffers compiler. DO NOT EDIT.\n\npackage hero\n\nimport (\n\tflatbuffers \"github.com/google/flat"
  },
  {
    "path": "examples/go-echo/hero.fbs",
    "chars": 63,
    "preview": "namespace hero;\n\ntable Warrior {\n\tname: string;\n\thp: uint32;\n}\n"
  },
  {
    "path": "examples/go-echo/net/Request.go",
    "chars": 1888,
    "preview": "// Code generated by the FlatBuffers compiler. DO NOT EDIT.\n\npackage net\n\nimport (\n\tflatbuffers \"github.com/google/flatb"
  },
  {
    "path": "examples/go-echo/net/Response.go",
    "chars": 1911,
    "preview": "// Code generated by the FlatBuffers compiler. DO NOT EDIT.\n\npackage net\n\nimport (\n\tflatbuffers \"github.com/google/flatb"
  },
  {
    "path": "examples/go-echo/net.fbs",
    "chars": 122,
    "preview": "include \"hero.fbs\";\n\nnamespace net;\n\ntable Request {\n\tplayer: hero.Warrior;\n}\n\ntable Response  {\n\tplayer: hero.Warrior;\n"
  },
  {
    "path": "examples/go-echo/server/server.go",
    "chars": 536,
    "preview": "package main\n\nimport (\n\t\"echo/net\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net/http\"\n)\n\nfunc echo(w http.ResponseWriter, r *http.Request) "
  },
  {
    "path": "extensions.bzl",
    "chars": 604,
    "preview": "\"\"\"Bzlmod extensions\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_file\")\n\ndef _non_module_dependencies"
  },
  {
    "path": "go/BUILD.bazel",
    "chars": 464,
    "preview": "load(\"@io_bazel_rules_go//go:def.bzl\", \"go_library\")\n\nalias(\n    name = \"go_default_library\",\n    actual = \":go\",\n    vi"
  },
  {
    "path": "go/builder.go",
    "chars": 24857,
    "preview": "package flatbuffers\n\nimport \"sort\"\n\n// Builder is a state machine for creating FlatBuffer objects.\n// Use a Builder to c"
  },
  {
    "path": "go/doc.go",
    "chars": 105,
    "preview": "// Package flatbuffers provides facilities to read and write flatbuffers\n// objects.\npackage flatbuffers\n"
  },
  {
    "path": "go/encode.go",
    "chars": 6313,
    "preview": "package flatbuffers\n\nimport (\n\t\"math\"\n)\n\ntype (\n\t// A SOffsetT stores a signed offset into arbitrary data.\n\tSOffsetT int"
  },
  {
    "path": "go/grpc.go",
    "chars": 1889,
    "preview": "package flatbuffers\n\nimport \"errors\"\n\nvar (\n\t// Codec implements gRPC-go Codec which is used to encode and decode messag"
  },
  {
    "path": "go/lib.go",
    "chars": 1888,
    "preview": "package flatbuffers\n\n// FlatBuffer is the interface that represents a flatbuffer.\ntype FlatBuffer interface {\n\tTable() T"
  },
  {
    "path": "go/sizes.go",
    "chars": 1530,
    "preview": "package flatbuffers\n\nimport (\n\t\"unsafe\"\n)\n\nconst (\n\t// See http://golang.org/ref/spec#Numeric_types\n\n\t// SizeUint8 is th"
  },
  {
    "path": "go/struct.go",
    "chars": 154,
    "preview": "package flatbuffers\n\n// Struct wraps a byte slice and provides read access to its data.\n//\n// Structs do not have a vtab"
  },
  {
    "path": "go/table.go",
    "chars": 13845,
    "preview": "package flatbuffers\n\n// Table wraps a byte slice and provides read access to its data.\n//\n// The variable `Pos` indicate"
  },
  {
    "path": "goldens/README.md",
    "chars": 958,
    "preview": "# Golden Generated Files\n\nThis directory is a repository for the generated files of `flatc`.\n\nWe check in the generated "
  },
  {
    "path": "goldens/cpp/basic_generated.h",
    "chars": 5555,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n\n\n#ifndef FLATBUFFERS_GENERATED_BASIC_FLATBUFFERS_"
  },
  {
    "path": "goldens/cpp/generate.py",
    "chars": 242,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with C++ specifi"
  },
  {
    "path": "goldens/csharp/flatbuffers/goldens/Galaxy.cs",
    "chars": 1888,
    "preview": "// <auto-generated>\n//  automatically generated by the FlatBuffers compiler, do not modify\n// </auto-generated>\n\nnamespa"
  },
  {
    "path": "goldens/csharp/flatbuffers/goldens/Universe.cs",
    "chars": 4210,
    "preview": "// <auto-generated>\n//  automatically generated by the FlatBuffers compiler, do not modify\n// </auto-generated>\n\nnamespa"
  },
  {
    "path": "goldens/csharp/generate.py",
    "chars": 250,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with C# specific"
  },
  {
    "path": "goldens/dart/basic_flatbuffers.goldens_generated.dart",
    "chars": 4012,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n// ignore_for_file: unused_import, unused_field, u"
  },
  {
    "path": "goldens/dart/generate.py",
    "chars": 246,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with Dart specif"
  },
  {
    "path": "goldens/generate_goldens.py",
    "chars": 820,
    "preview": "#!/usr/bin/env python3\n\nfrom cpp.generate import GenerateCpp\nfrom csharp.generate import GenerateCSharp\nfrom dart.genera"
  },
  {
    "path": "goldens/go/flatbuffers/goldens/Galaxy.go",
    "chars": 1539,
    "preview": "// Code generated by the FlatBuffers compiler. DO NOT EDIT.\n\npackage goldens\n\nimport (\n\tflatbuffers \"github.com/google/f"
  },
  {
    "path": "goldens/go/flatbuffers/goldens/Universe.go",
    "chars": 2285,
    "preview": "// Code generated by the FlatBuffers compiler. DO NOT EDIT.\n\npackage goldens\n\nimport (\n\tflatbuffers \"github.com/google/f"
  },
  {
    "path": "goldens/go/generate.py",
    "chars": 238,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with Go specific"
  },
  {
    "path": "goldens/golden_utils.py",
    "chars": 935,
    "preview": "from pathlib import Path\nimport sys\n\n# Get the path where this script is located so we can invoke the script from\n# any "
  },
  {
    "path": "goldens/java/flatbuffers/goldens/Galaxy.java",
    "chars": 2276,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n\npackage flatbuffers.goldens;\n\nimport com.google.f"
  },
  {
    "path": "goldens/java/flatbuffers/goldens/Universe.java",
    "chars": 3773,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n\npackage flatbuffers.goldens;\n\nimport com.google.f"
  },
  {
    "path": "goldens/java/generate.py",
    "chars": 246,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with Java specif"
  },
  {
    "path": "goldens/kotlin/flatbuffers/goldens/Galaxy.kt",
    "chars": 1944,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n\npackage flatbuffers.goldens\n\nimport com.google.fl"
  },
  {
    "path": "goldens/kotlin/flatbuffers/goldens/Universe.kt",
    "chars": 3231,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\n\npackage flatbuffers.goldens\n\nimport com.google.fl"
  },
  {
    "path": "goldens/kotlin/generate.py",
    "chars": 254,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with Kotlin spec"
  },
  {
    "path": "goldens/lobster/basic_generated.lobster",
    "chars": 1780,
    "preview": "// automatically generated by the FlatBuffers compiler, do not modify\nimport flatbuffers\n\nnamespace flatbuffers.goldens\n"
  },
  {
    "path": "goldens/lobster/generate.py",
    "chars": 258,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with Lobster spe"
  },
  {
    "path": "goldens/lua/Galaxy.lua",
    "chars": 857,
    "preview": "--[[ Galaxy\n\n  Automatically generated by the FlatBuffers compiler, do not modify.\n  Or modify. I'm a message, not a cop"
  },
  {
    "path": "goldens/lua/Universe.lua",
    "chars": 1749,
    "preview": "--[[ Universe\n\n  Automatically generated by the FlatBuffers compiler, do not modify.\n  Or modify. I'm a message, not a c"
  },
  {
    "path": "goldens/lua/generate.py",
    "chars": 242,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with Lua specifi"
  },
  {
    "path": "goldens/nim/Galaxy.nim",
    "chars": 763,
    "preview": "#[ Galaxy\n  Automatically generated by the FlatBuffers compiler, do not modify.\n  Or modify. I'm a message, not a cop.\n\n"
  },
  {
    "path": "goldens/nim/Universe.nim",
    "chars": 1545,
    "preview": "#[ Universe\n  Automatically generated by the FlatBuffers compiler, do not modify.\n  Or modify. I'm a message, not a cop."
  },
  {
    "path": "goldens/nim/generate.py",
    "chars": 242,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with Nim specifi"
  },
  {
    "path": "goldens/php/flatbuffers/goldens/Galaxy.php",
    "chars": 1913,
    "preview": "<?php\n// automatically generated by the FlatBuffers compiler, do not modify\n\nnamespace flatbuffers\\goldens;\n\nuse \\Google"
  },
  {
    "path": "goldens/php/flatbuffers/goldens/Universe.php",
    "chars": 3446,
    "preview": "<?php\n// automatically generated by the FlatBuffers compiler, do not modify\n\nnamespace flatbuffers\\goldens;\n\nuse \\Google"
  },
  {
    "path": "goldens/php/generate.py",
    "chars": 242,
    "preview": "from golden_utils import flatc_golden\n\n\ndef flatc(options, schema):\n  # Wrap the golden flatc generator with PHP specifi"
  },
  {
    "path": "goldens/py/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "goldens/py/flatbuffers/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "goldens/py/flatbuffers/goldens/Galaxy.py",
    "chars": 1311,
    "preview": "# automatically generated by the FlatBuffers compiler, do not modify\n\n# namespace: goldens\n\nimport flatbuffers\nfrom flat"
  },
  {
    "path": "goldens/py/flatbuffers/goldens/Universe.py",
    "chars": 2727,
    "preview": "# automatically generated by the FlatBuffers compiler, do not modify\n\n# namespace: goldens\n\nimport flatbuffers\nfrom flat"
  },
  {
    "path": "goldens/py/flatbuffers/goldens/__init__.py",
    "chars": 0,
    "preview": ""
  }
]

// ... and 1647 more files (download for full content)

About this extraction

This page contains the full source code of the google/flatbuffers GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1847 files (11.7 MB), approximately 3.2M tokens, and a symbol index with 22952 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!