FlatBuffers: Memory Efficient Serialization Library
Go to file
Derek Bailey 7b50004ec9 Performance Increase of Vector of Structures using .NET BlockCopy (#4830)
* Added Get<vector_name>Array() method for accessing vectors of structures in C# using Buffer.Blockcopy().

* Added Get<vector_name>Array() method for accessing vectors of structures in C# using Buffer.Blockcopy().

Added Create<Name>VectorBlock() method to add a typed array using Buffer.BlockCopy() to speed up creation of vector of arrays

New Lua files for namespace test

* fixed c++ style issue
2018-07-26 13:44:40 -07:00
.github Added PULL_REQUEST_TEMPLATE.md 2017-02-08 10:15:26 -08:00
.travis Change mikeholler to PYPI_USERNAME 2017-12-13 15:14:01 -06:00
CMake Fix a small problem with add_subdirectory(${FLATBUFFERS_DIR}) from top level project. (#4764) 2018-06-01 08:22:17 -07:00
android Text files should not have executable bit set (#4480) 2017-11-06 10:20:22 -08:00
dart Add [Dart] support (#4676) 2018-05-18 11:06:15 -07:00
docs flatbuffer force-empty option (#4822) 2018-07-16 16:05:06 -07:00
go go: do not clobber minalign when we create objects (#4834) 2018-07-23 16:34:08 -07:00
grpc Go GRPC generator Updates - Fixes #4787 (#4797) 2018-06-27 09:57:40 -07:00
include/flatbuffers Adds ForceStringAlignment to flatbuffers. (#4828) 2018-07-19 16:00:31 -07:00
java/com/google/flatbuffers Java/C#/Python prefixed size support (#4445) 2018-03-12 11:30:46 -07:00
js Adding JS function to get the File Identifier (#4715) 2018-04-23 12:54:20 -07:00
lua Fixed minalign in Lua being reset on StartObject 2018-07-23 16:36:21 -07:00
net/FlatBuffers Performance Increase of Vector of Structures using .NET BlockCopy (#4830) 2018-07-26 13:44:40 -07:00
php Trimmed vtables of trailing zeroes. 2017-08-24 09:35:54 -07:00
python python: do not clobber minalign when we create objects (#4833) 2018-07-23 16:29:45 -07:00
reflection Include services in reflection data (fixes #4639) (#4713) 2018-04-27 13:31:18 -07:00
samples Renamed Verifier methods 2018-07-16 16:42:10 -07:00
src Performance Increase of Vector of Structures using .NET BlockCopy (#4830) 2018-07-26 13:44:40 -07:00
tests Performance Increase of Vector of Structures using .NET BlockCopy (#4830) 2018-07-26 13:44:40 -07:00
.clang-format Made all C++ files clang-formatted. 2017-12-21 11:45:02 -08:00
.editorconfig added config files for popular formatting tools (#4554) 2017-12-21 10:18:20 -08:00
.gitattributes Text files should not have executable bit set (#4480) 2017-11-06 10:20:22 -08:00
.gitignore Lua (5.3) Language addition (#4804) 2018-07-05 15:55:57 -07:00
.travis.yml Re-enable clang / os x in .travis 2018-06-08 11:20:57 -07:00
BUILD Add missing public header `minireflect.h` to bazel build (#4832) 2018-07-23 16:28:49 -07:00
CMakeLists.txt Option to NOT force libc++ when building with clang (#4826) 2018-07-19 09:40:28 -07:00
CONTRIBUTING.md Fixed link to Google C++ Style Guide. 2017-02-08 16:37:25 -08:00
LICENSE.txt Fix Visual Studio 2012 build warning. 2015-09-11 14:35:34 -07:00
WORKSPACE Add initial Bazel WORKSPACE and BUILD (#4608) 2018-02-05 10:23:15 -08:00
appveyor.yml Disabled numpy test in appveyor due to timeout. 2017-08-24 13:46:46 -07:00
composer.json (PHP) add experimental support for PHP language. 2015-11-18 00:26:39 +09:00
conanfile.py Update version number to 1.9 2018-04-05 15:11:52 -07:00
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 adds https to landing page link so it resolves (#4757) 2018-05-31 09:37:51 -07: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.