FlatBuffers: Memory Efficient Serialization Library
Go to file
William Bain efcbdc7698
[Rust] Ensure unions are referenced with the correct path (#6422)
* Add codegen test for namespaced unions

* [Rust] Handle cross-namespace union use

* [Rust] Test namespace handling

* [Rust] Drop trailing whitespace in codegen

* [Rust] Set flags in generate_code.bat to match .sh

* [C#] Add additional namespace test file
2021-01-25 09:33:47 -08:00
.appveyor Add support for fixed-size arrays (#5313) 2019-06-18 00:15:13 +02:00
.bazelci Don't test on Ubuntu 14.04 (#5302) 2019-04-24 10:28:35 -07:00
.github [TS/JS] New gen TS code gen prequel to preserve history (#6404) 2021-01-14 11:34:44 -08:00
.travis [CI] Adds formatter to CI (#6272) 2020-12-11 10:46:10 -08:00
CMake Version message should be a "STATUS" to avoid going to stderr. (#6316) 2020-12-07 11:50:29 -08:00
android Fix multiple fbs code generation failure (#6365) 2021-01-04 13:29:32 -08:00
bazel Allow to run cpp tests under grpc/tests/ using bazel. (#6040) 2020-07-21 11:08:01 -07:00
conan Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
dart dart Builder - expose finished buffer size (#6403) 2021-01-21 16:06:11 -08:00
docs Clarify that (Flat|Flex)Buffers do not deduplicate vector elements (#6415) 2021-01-21 16:09:35 -08:00
go Support size-prefixed buffers and add tests for size-prefixed messages (#6232) 2020-11-05 11:23:56 -08:00
grpc [Swift] Adds a format file and reformats the swift project (#6250) 2020-11-16 19:52:38 +03:00
include/flatbuffers Refactor FieldDef to model presense as an enum rather than 2 bools. (#6420) 2021-01-25 09:29:43 -08:00
java/com/google/flatbuffers [Java] allowing larger buffer sizes when growing a byte buffer (#6118) 2020-09-17 11:55:24 -07:00
js [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
lobster [Lobster] optional scalars support 2020-08-18 14:00:02 -07:00
lua Lua cleanup (#5624) 2019-11-14 15:46:46 -08:00
mjs [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
net/FlatBuffers [C#] Optional Scalars (#6217) 2020-10-30 13:18:59 -07:00
php Performance improvement to generated+supporting PHP (#5080) 2018-12-20 16:10:20 -08:00
python Add vectorNumElements attribute to Builder for simpler vector creation. (#6328) 2020-12-14 12:00:28 -08:00
reflection Optional-ness in reflection (#6097) 2020-09-11 14:20:32 -07:00
rust Rust Object API (#6070) 2021-01-22 13:07:32 -05:00
samples [Rust] Ensure unions are referenced with the correct path (#6422) 2021-01-25 09:33:47 -08:00
snap + Add `removable-media` plug to the snapcraft config (#6083) 2020-08-24 09:55:38 -07:00
src [Rust] Ensure unions are referenced with the correct path (#6422) 2021-01-25 09:33:47 -08:00
swift Updates license date to 2021 (#6378) 2021-01-02 11:46:46 +03:00
tests [Rust] Ensure unions are referenced with the correct path (#6422) 2021-01-25 09:33:47 -08:00
ts [TS/JS] New gen TS code gen (#6302) 2021-01-19 12:51:13 -08:00
.clang-format Made all C++ files clang-formatted. 2017-12-21 11:45:02 -08:00
.editorconfig Unify line ending rules in '.editorconfig' and '.gitattributes' (#5231) 2019-03-18 12:47:07 -07:00
.eslintrc.js [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
.gitattributes Unify line ending rules in '.editorconfig' and '.gitattributes' (#5231) 2019-03-18 12:47:07 -07:00
.gitignore [C++] Add ParseJson(), Parser(Parser&&), update fuzzers (#6284) 2020-11-23 10:17:44 -08:00
.travis.yml [CI] Adds formatter to CI (#6272) 2020-12-11 10:46:10 -08:00
BUILD Allow to run cpp tests under grpc/tests/ using bazel. (#6040) 2020-07-21 11:08:01 -07:00
CMakeLists.txt [TS/JS] New gen TS code gen prequel to preserve history (#6404) 2021-01-14 11:34:44 -08:00
CONTRIBUTING.md Fixed link to Google C++ Style Guide. 2017-02-08 16:37:25 -08:00
Formatters.md [CI] Adds formatter to CI (#6272) 2020-12-11 10:46:10 -08:00
LICENSE.txt Fixed Apache license not using canonical version. 2019-11-04 17:15:56 -08:00
WORKSPACE Bump version of rules_go to 0.24.5 (#6234) 2020-11-12 10:04:34 -08:00
appveyor.yml [TS/JS] New gen TS code gen (#6302) 2021-01-19 12:51:13 -08:00
build_defs.bzl [Bazel] Add support for compatible_with and restricted_to (#5681) 2019-12-26 09:58:48 -08:00
composer.json (PHP) add experimental support for PHP language. 2015-11-18 00:26:39 +09:00
conanfile.py Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
package.json [TS/JS] New gen TS code gen (#6302) 2021-01-19 12:51:13 -08:00
pom.xml updated maven build files 2020-03-16 11:33:42 -07:00
readme.md Minor doc updates: FlexBuffers C#, Discord, CppUsage. 2019-12-26 12:36:41 -08:00
swift.swiftformat [Swift] Adds a format file and reformats the swift project (#6250) 2020-11-16 19:52:38 +03:00
tsconfig.json [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
tsconfig.mjs.json [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00

readme.md

logo FlatBuffers

Build Status Build status Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow

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.

Go to our landing page to browse our documentation.

Supported operating systems

  • Windows
  • MacOS X
  • Linux
  • Android
  • And any others with a recent C++ compiler.

Supported programming languages

  • C++
  • C#
  • C
  • Dart
  • Go
  • Java
  • JavaScript
  • Lobster
  • Lua
  • PHP
  • Python
  • Rust
  • TypeScript

and more in progress...

Contribution

To contribute to this project, see CONTRIBUTING.

Licensing

Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.