mirror of https://github.com/vee1e/flatbuffers - FlatBuffers: Memory Efficient Serialization Library
Find a file
Wouter van Oortmerssen f575b02fda Make string/vector field serialization order not depend on optimizer.
Multiple calls of e.g. CreateString inside a call to a CreateTable
could cause those strings to end up in different locations in the
wire format, since order or argument evaluation is undefined.

This is allowed by the FlatBuffer format, but it is not helpful,
especially when debugging the contents of binaries, or comparing
against a "golden" binary for tests etc.

Now making sure that all the CreateTableDirect calls first serialize
sub strings/vectors before calling CreateTable.

Also made similar changes to the serialization of "binary schemas".

Change-Id: I5747c4038b37a0d400aca2bc592bec751cf5c172
2018-11-16 17:08:35 -08:00
.appveyor CI check generate code (#4998) 2018-10-22 15:41:12 -07:00
.github
.travis CI check generate code (#4998) 2018-10-22 15:41:12 -07:00
android
CMake
conan Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
dart Disallowed 0 byte structs. 2018-10-29 17:40:19 -07:00
docs Make the Parser independent from the global C-locale (#5028) 2018-11-16 09:24:06 -08:00
go
grpc Fixed Java gRPC version numbers. 2018-10-25 13:48:41 -07:00
include/flatbuffers Make string/vector field serialization order not depend on optimizer. 2018-11-16 17:08:35 -08:00
java/com/google/flatbuffers
js
lobster
lua Wrong int32 min-max range definition on numTypes.lua (#5031) 2018-11-12 09:40:24 -08:00
net/FlatBuffers Revert "Convert net/FlatBuffers project to be compatible with netstandard (#4811)" 2018-10-29 17:21:30 -07:00
php
python [Python] Fast serialization of numpy vectors (#4829) 2018-10-15 17:07:08 -07:00
reflection CI check generate code (#4998) 2018-10-22 15:41:12 -07:00
rust/flatbuffers
samples Make string/vector field serialization order not depend on optimizer. 2018-11-16 17:08:35 -08:00
src Make string/vector field serialization order not depend on optimizer. 2018-11-16 17:08:35 -08:00
tests Make string/vector field serialization order not depend on optimizer. 2018-11-16 17:08:35 -08:00
.clang-format
.editorconfig CI check generate code (#4998) 2018-10-22 15:41:12 -07:00
.gitattributes
.gitignore Refactoring of idl_parser (#4948) 2018-10-11 10:37:47 -07:00
.travis.yml Make the Parser independent from the global C-locale (#5028) 2018-11-16 09:24:06 -08:00
appveyor.yml CI check generate code (#4998) 2018-10-22 15:41:12 -07:00
BUILD Make flatbuffer C++ tests work when vendored with bazel (#5040) 2018-11-16 09:19:34 -08:00
CMakeLists.txt Make the Parser independent from the global C-locale (#5028) 2018-11-16 09:24:06 -08:00
composer.json
conanfile.py Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
CONTRIBUTING.md
LICENSE.txt
package.json Convenient createX methods for TS (#5044) 2018-11-16 09:17:54 -08:00
pom.xml
readme.md
WORKSPACE

logo FlatBuffers

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

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.