FlatBuffers: Memory Efficient Serialization Library
Go to file
Advait Jain f28c2b2936
Avoid implicit conversion from float to double. (#7003)
https://github.com/tensorflow/tflite-micro makes use of flatbuffers with
a variety of DSP toolchains.

Without the change from this PR, we can get a double-promotion warning
with some of these DSP toolchains:
```
flatbuffers/include/flatbuffers/util.h:104:11: error: implicit conversion increases floating-point precision: 'std::numeric_limits<float>::_Ty' (aka 'float') to 'double' [-Werror,-Wdouble-promotion]
  T eps = std::numeric_limits<float>::epsilon();
    ~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2021-12-23 20:31:30 -06:00
.bazelci Remove ubuntu1604 from presubmit.yml (#6715) 2021-07-09 09:59:30 -07:00
.github Enable OSS-Fuzz on CI 2021-12-14 12:10:43 -08:00
.travis Ran clang-format-all.sh. Removed default --style=file parameter (#6639) 2021-05-15 12:54:08 -07:00
CMake [CMake]: Fix version in pkgconfig file (#6986) 2021-12-10 15:40:21 -08:00
android Lua Generator using IR. (#6940) 2021-12-02 21:29:19 -08:00
bazel [grpc] Support latest version of grpc PoC (#6338) 2021-03-25 12:12:35 -07:00
benchmarks Vector Downward GetSize optimization (#6925) 2021-11-22 19:50:42 -08:00
conan Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
dart WIP: Dart release 2.0 (#6927) 2021-11-18 10:56:29 -08:00
docs Disable parsing of nested_flatbuffers as bytes by default 2021-12-15 10:41:29 -08:00
go GetUOffsetT must get value by GetUint32 not GetInt32 (#6072) 2021-02-18 18:38:25 -08:00
grpc Reverting grpc generated file suffix (#6995) 2021-12-18 18:23:28 -08:00
include/flatbuffers Avoid implicit conversion from float to double. (#7003) 2021-12-23 20:31:30 -06:00
java/com/google/flatbuffers [Java] lookup by byteArray is giving back wrong entry (#6915) 2021-11-15 11:16:45 -08:00
js [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
kotlin Updated main version numbers to 2.0 2021-05-10 11:14:47 -07:00
lobster [Lobster] optional scalars support 2020-08-18 14:00:02 -07: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 Updated main version numbers to 2.0 2021-05-10 11:14:47 -07:00
php Performance improvement to generated+supporting PHP (#5080) 2018-12-20 16:10:20 -08:00
python Fix warning about deprecated module: imp (#6362) 2021-06-17 13:02:22 -07:00
reflection Lua Generator using IR. (#6940) 2021-12-02 21:29:19 -08:00
rust rust: remove needless borrow (#6922) 2021-11-23 10:46:56 -06:00
samples Lua Generator using IR. (#6940) 2021-12-02 21:29:19 -08:00
scripts Validate C# json/object-api options (#6985) 2021-12-13 11:52:01 -08:00
snap use improved versioning (#6691) 2021-06-11 15:27:59 -07:00
src Reverting grpc generated file suffix (#6995) 2021-12-18 18:23:28 -08:00
swift Improves documentation, and adding DocC (#6784) 2021-09-27 20:59:19 +02:00
tests Updated FlexBuffers fuzzer 2021-12-14 11:57:42 -08:00
ts Use ArrayBuffer type for JS flexbuffer's toObject (#6851) 2021-09-23 16:22:13 -07: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 Added Google benchmarks (and gtests) (#6920) 2021-11-15 13:41:22 -08:00
.travis.yml Removed test/generate_code.{sh|bat} (#6873) 2021-11-30 23:13:24 -08:00
BUILD.bazel Lua Generator using IR. (#6940) 2021-12-02 21:29:19 -08:00
CMakeLists.txt [CMake] Add option for disable universal on OSX (#6990) 2021-12-13 13:32:58 -08: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 [C++] Use proper gRPC C++ API when using MemoryBuffer Slice (#6756) 2021-07-29 10:41:51 -07:00
appveyor.yml Add .NET test to github workflows (#6982) 2021-12-13 11:51:27 -08:00
build_defs.bzl Add a split on ':' to build_defs.bzl (#6742) 2021-07-19 16:42:27 -04: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 Bumped package.json to 2.0.4 2021-09-27 15:49:45 -07:00
pom.xml update Java version to 2.0.3 2021-08-14 09:01:54 -07:00
readme.md Update readme.md to point to security policy 2021-05-19 11:59:58 -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

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.

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.