mirror of https://github.com/vee1e/flatbuffers - FlatBuffers: Memory Efficient Serialization Library
Find a file
joligarson c43a0beff0 Fix undertermined execution behavior (#4751)
Fix for the issue #4744: Ambiguous side-effect execution on vector_downward::make_space() method.
C++ does not impose evaluation order on the two expressions on the right side of the assignment, so compiler can freely decide. As ensure_space() method can change the value of "cur_" variable, the result of the subtraction may be different depending on the evaluation order, which is ambiguous in C++.
In order to make this code deterministic and correct, cur_ must be evaluated after ensure_space() is called.
2018-05-18 09:15:20 -07:00
.github
.travis
android
biicode
CMake Set Working Directory for flatc commands (#4737) 2018-05-14 09:20:49 -07:00
docs Add --root-type option to flatc [C++, parser, JSON] (#4728) 2018-05-07 16:07:52 -07:00
go Addition of Go FinishWithFileIdentifier (#4720) 2018-04-30 14:37:24 -07:00
grpc Several pom.xml files did not have their version bumped to 1.9.0 2018-05-07 08:46:34 -07:00
include/flatbuffers Fix undertermined execution behavior (#4751) 2018-05-18 09:15:20 -07:00
java/com/google/flatbuffers
js Adding JS function to get the File Identifier (#4715) 2018-04-23 12:54:20 -07:00
net/FlatBuffers Delete ByteBuffer.exe (#4721) 2018-05-03 11:58:29 -07:00
php
python
reflection Include services in reflection data (fixes #4639) (#4713) 2018-04-27 13:31:18 -07:00
samples Rename MANUALLY_ALIGNED_STRUCT to add FLATBUFFERS_ prefix in generated code within tests/. Via running cd tests && sh generate_code.sh (#4696) 2018-04-05 16:36:42 -07:00
src [BREAKING CHANGE] Python: handle bool table fields properly. (#4736) 2018-05-14 13:30:10 -07:00
tests [BREAKING CHANGE] Python: handle bool table fields properly. (#4736) 2018-05-14 13:30:10 -07:00
.clang-format
.editorconfig
.gitattributes
.gitignore Include services in reflection data (fixes #4639) (#4713) 2018-04-27 13:31:18 -07:00
.travis.yml
appveyor.yml
biicode.conf
BUILD [C++, Go, Bazel]: Fix up Bazel support (#4672) 2018-03-15 12:31:16 -07:00
CMakeLists.txt Update version number to 1.9 2018-04-05 15:11:52 -07:00
composer.json
conanfile.py Update version number to 1.9 2018-04-05 15:11:52 -07:00
CONTRIBUTING.md
LICENSE.txt
package.json Update version number to 1.9 2018-04-05 15:11:52 -07:00
pom.xml Vector of unions support for java and c# (#4735) 2018-05-14 11:12:24 -07:00
readme.md
WORKSPACE

logo FlatBuffers

Join the chat at https://gitter.im/google/flatbuffers Build Status Build status

FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility.

Go to our landing page to browse our documentation.

Supported operating systems

  • Android
  • Windows
  • MacOS X
  • Linux

Supported programming languages

  • C++
  • C#
  • C
  • Go
  • Java
  • JavaScript
  • PHP
  • Python

and many more in progress...

Contribution

To contribute to this project, see CONTRIBUTING.

Integration

For applications on Google Play that integrate this tool, usage is tracked. This tracking is done automatically using the embedded version string (flatbuffer_version_string), and helps us continue to optimize it. Aside from consuming a few extra bytes in your application binary, it shouldn't affect your application at all. We use this information to let us know if FlatBuffers is useful and if we should continue to invest in it. Since this is open source, you are free to remove the version string but we would appreciate if you would leave it in.

Licensing

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