FlatBuffers: Memory Efficient Serialization Library
Go to file
Wouter van Oortmerssen bc2ec7119b Adds typedefs and functions to help write generic code.
The following changes have been made to the C++ codegen to enable writing generic code
that uses the Table and NativeTable types.

- Adds TableType and NativeTableType typedefs to NativeTable and Table structs.
- Adds GetFullyQualifiedName() to NativeTables if --gen-name-strings is set.
- Adds a static Pack function to Tables that simply calls the global CreateX functions.

See cr/140391505 as an example of improved usage.

From cl/140529288.

Change-Id: Idec137c16129e15c1783f94fabdcea24aeeaaef6
2016-12-02 14:25:39 -08:00
CMake Debianization with CPack 2016-08-25 00:00:22 +03:00
android Merge "Removed reference to deprecated NDK toolchain version." into ub-games-master 2016-05-23 23:49:56 +00:00
biicode Made .sh files all have same comment formatting. 2016-05-23 14:08:21 -07:00
docs Change docs to not encourage use of 1 byte buffers. 2016-10-24 10:29:09 -07:00
go Implement mutators for Go 2016-07-20 22:58:22 +05:30
grpc Add missing include (#4052) 2016-10-17 09:57:46 -07:00
include/flatbuffers Allows structs to be stored directly as member variables. 2016-12-02 14:25:08 -08:00
java/com/google/flatbuffers Fixed Java LookupByKey functionality for Java 1.6 2016-08-26 13:58:16 -07:00
js Fix Closure Compiler warnings (#4067) 2016-10-21 14:52:42 -07:00
net/FlatBuffers Added IFlatbufferObject.cs file to project for .net. 2016-09-19 16:16:15 +09:00
php [PHP] Use mb_detect_encoding when available (#3952) 2016-11-16 09:54:57 -08:00
python Added missing licenses to some sh/cs/py files. 2016-05-23 09:51:41 -07:00
reflection Made .sh files all have same comment formatting. 2016-05-23 14:08:21 -07:00
samples Adds typedefs and functions to help write generic code. 2016-12-02 14:25:39 -08:00
src Adds typedefs and functions to help write generic code. 2016-12-02 14:25:39 -08:00
tests Adds typedefs and functions to help write generic code. 2016-12-02 14:25:39 -08:00
.gitattributes Initial commit of the FlatBuffers code. 2014-06-10 13:53:28 -07:00
.gitignore chore(lint) (#4079) 2016-11-07 10:27:26 -08:00
.travis.yml Disabled broken biicode builds on Travis for the moment. 2016-02-22 11:33:14 -08:00
CMakeLists.txt Fixed unused variable warnings, and made sure they are on. 2016-10-17 13:06:11 -07:00
CONTRIBUTING.md Rename CONTRIBUTING to CONTRIBUTING.md 2016-07-13 07:57:36 +05:30
LICENSE.txt Fix Visual Studio 2012 build warning. 2015-09-11 14:35:34 -07:00
appveyor.yml Added AppVeyor CI. 2016-07-27 18:38:27 -07:00
biicode.conf added .travis.yml file (build with original and biicode building); 2015-04-15 13:43:25 -07:00
composer.json (PHP) add experimental support for PHP language. 2015-11-18 00:26:39 +09:00
pom.xml 1.4 prep fixes 2016-08-15 17:29:35 -07:00
readme.md Add Gitter badge (#4075) 2016-11-18 11:42:50 -08:00

readme.md

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.