FlatBuffers: Memory Efficient Serialization Library
Go to file
Paulo Pinheiro 7b5fd2bd05
[Kotlin] Fix key lookup returning null clashing with default value (#7237)
* [Java] Fix key lookup returning null clashing with default value

A field with key attribute must always be written on the message so it
can be looked up by key. There is a edge case where inserting a key
field with same value as default would prevent it to be written on
the message and later cannot be found when searched by key.

* [Kotlin] Fix key lookup returning null clashing with default value

A field with key attribute must always be written on the message so it
can be looked up by key. There is a edge case where inserting a key
field with same value as default would prevent it to be written on
the message and later cannot be found when searched by key.

Co-authored-by: Derek Bailey <derekbailey@google.com>
2022-04-11 17:17:19 -07:00
.bazelci [swift] Add bazel configuration for Swift (#7195) 2022-03-29 21:30:33 -07:00
.github [Kotlin] Update gradle to 7.4.1 and simplify config files. (#7231) 2022-04-08 11:23:13 -07:00
.travis Ran clang-format-all.sh. Removed default --style=file parameter (#6639) 2021-05-15 12:54:08 -07:00
CMake Use DESCRIPTION only if CMake version >= 3.9 (#7166) 2022-03-13 12:49:18 -07:00
android [Kotlin] Update gradle to 7.4.1 and simplify config files. (#7231) 2022-04-08 11:23:13 -07:00
bazel [grpc] Support latest version of grpc PoC (#6338) 2021-03-25 12:12:35 -07:00
benchmarks Started to migrate to target_compile_options (#7222) 2022-04-06 13:25:43 -07:00
conan attempt to remove appveyor (#7056) 2022-01-31 21:52:15 -08:00
dart Namerdart (#7187) 2022-03-28 18:07:09 -04:00
docs Fix minor typo in WhitePaper.md (#7108) 2022-02-18 21:29:21 -08:00
go GetUOffsetT must get value by GetUint32 not GetInt32 (#6072) 2021-02-18 18:38:25 -08:00
grpc Replaced ToDasherCase with ConvertCase (#7131) 2022-02-23 22:31:40 -06:00
include/flatbuffers Allow CreateVectorOfStrings() to work with any string-type. (#7238) 2022-04-11 17:02:19 -07:00
java/com/google/flatbuffers removed BSD-3-Clause license and Zlib licenses (#7073) 2022-02-02 13:12:01 -08:00
js [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
kotlin [Kotlin] Update gradle to 7.4.1 and simplify config files. (#7231) 2022-04-08 11:23:13 -07:00
lobster [Lobster] file_identifier support 2022-03-08 15:39:12 -08:00
lua [Lua] manipulate byte array as string (#6624) 2021-05-07 22:57:13 -07:00
mjs [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
net/FlatBuffers Add overloads for C# ByteBuffer/FlatBufferBuilder to allow adding vector blocks from ArraySegments or IntPtr (#7193) 2022-04-01 13:35:07 -07:00
php Performance improvement to generated+supporting PHP (#5080) 2018-12-20 16:10:20 -08:00
python Add reflection support for python (#7026) 2022-02-10 11:10:47 -08:00
reflection Handle root offset and root table vtable invalidation (#7177) 2022-03-23 21:51:32 -07:00
rust [Rust] Add length checks to arrays and vectors. (#7130) 2022-02-24 13:49:59 -05:00
samples Started to migrate to target_compile_options (#7222) 2022-04-06 13:25:43 -07:00
scripts [Kotlin] Fix key lookup returning null clashing with default value (#7237) 2022-04-11 17:17:19 -07:00
snap use improved versioning (#6691) 2021-06-11 15:27:59 -07:00
src [Kotlin] Fix key lookup returning null clashing with default value (#7237) 2022-04-11 17:17:19 -07:00
swift Adds a way to verify/exposes Entities ids (#7221) 2022-04-06 22:54:01 +02:00
tests [Kotlin] Fix key lookup returning null clashing with default value (#7237) 2022-04-11 17:17:19 -07:00
ts [TS] Add single-file ts codegen & bazel rule for typescript (#7161) 2022-03-10 10:08: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 Started to migrate to target_compile_options (#7222) 2022-04-06 13:25:43 -07:00
.travis.yml Removed test/generate_code.{sh|bat} (#6873) 2021-11-30 23:13:24 -08:00
BUILD.bazel code gen flexbuffer verifier (#7207) 2022-04-05 16:29:42 -07:00
CMakeLists.txt Started to migrate to target_compile_options (#7222) 2022-04-06 13:25:43 -07:00
CONTRIBUTING.md Fixed link to Google C++ Style Guide. 2017-02-08 16:37:25 -08:00
Formatters.md Ran clang-format-all.sh. Removed default --style=file parameter (#6639) 2021-05-15 12:54:08 -07:00
LICENSE.txt Fixed Apache license not using canonical version. 2019-11-04 17:15:56 -08:00
SECURITY.md Create Security.md 2021-05-19 11:55:50 -07:00
WORKSPACE [swift] Add bazel configuration for Swift (#7195) 2022-03-29 21:30:33 -07:00
build_defs.bzl Move flatbuffer_ts_library to typescript.bzl (#7183) 2022-03-22 21:41:39 -07: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] Add single-file ts codegen & bazel rule for typescript (#7161) 2022-03-10 10:08:13 -08:00
pom.xml update Java version to 2.0.3 2021-08-14 09:01:54 -07:00
readme.md Added Oss fuzz badge 2022-03-31 21:14:09 -07:00
swift.swiftformat Improves documentation, and adding DocC (#6784) 2021-09-27 20:59:19 +02: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
typescript.bzl Move flatbuffer_ts_library to typescript.bzl (#7183) 2022-03-22 21:41:39 -07:00
yarn.lock [TS] Add single-file ts codegen & bazel rule for typescript (#7161) 2022-03-10 10:08:13 -08:00

readme.md

logo FlatBuffers

Build status Fuzzing Status Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow 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.

Security

Please see our Security Policy for reporting vulnerabilities.

Licensing

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