FlatBuffers: Memory Efficient Serialization Library
Go to file
Andrew Gunnerson dfe68566e4 Add char * overload for FlatBufferBuilder::CreateString() (#4583)
Without this change, the compiler tries to select the following overload
when CreateString is passed a `char *`:

    template<typename T>
    Offset<String> CreateString(const T &str) {
      return CreateString(str.c_str(), str.length());
    }

which is not valid since char pointers don't have methods.

(Fixes #4579)

Signed-off-by: Andrew Gunnerson <chenxiaolong@cxl.epac.to>
2018-01-08 08:26:19 -08: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 Add exports for all targets (#4491) 2017-11-16 12:51:25 -08:00
android Text files should not have executable bit set (#4480) 2017-11-06 10:20:22 -08:00
biicode Made .sh files all have same comment formatting. 2016-05-23 14:08:21 -07:00
docs Update URL (#4576) 2018-01-04 09:10:03 -08:00
go Trimmed vtables of trailing zeroes. 2017-08-24 09:35:54 -07:00
grpc new maven jar called flatbuffers-java-grpc which contains utility … (#4558) 2017-12-28 15:26:29 -08:00
include/flatbuffers Add char * overload for FlatBufferBuilder::CreateString() (#4583) 2018-01-08 08:26:19 -08:00
java/com/google/flatbuffers Trimmed vtables of trailing zeroes. 2017-08-24 09:35:54 -07:00
js Trimmed vtables of trailing zeroes. 2017-08-24 09:35:54 -07:00
net/FlatBuffers Text files should not have executable bit set (#4480) 2017-11-06 10:20:22 -08:00
php Trimmed vtables of trailing zeroes. 2017-08-24 09:35:54 -07:00
python Add support for Python lib continuous deployment. 2017-11-27 13:14:33 -06:00
reflection Added support for structs and strings in unions. 2017-04-12 17:47:47 -07:00
samples Added missing nullptr check in vector of union verifiers. 2017-12-28 10:09:48 -08:00
src Portable range check for *cursor_ value. (#4582) 2018-01-04 16:03:03 -08:00
tests GenerateText generate a text string for default identifier of enum and float scalar. An enum identifier printed as the strictly quoted string. (#4527) 2018-01-04 10:12:18 -08: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 publish additional js/flatbuffers.mjs to npm to support ESModules in node (#4504) 2017-12-01 14:18:43 -08:00
.travis.yml Disabled python in travis.yml pending fix. 2017-12-28 09:56:57 -08:00
CMakeLists.txt grpc bindings generator for Java and a few minor supporting changes i… (#4553) 2017-12-21 09:55:57 -08: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
appveyor.yml Disabled numpy test in appveyor due to timeout. 2017-08-24 13:46:46 -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
package.json publish additional js/flatbuffers.mjs to npm to support ESModules in node (#4504) 2017-12-01 14:18:43 -08:00
pom.xml Updated version numbers to 1.8.0 2017-11-20 09:46:03 -08:00
readme.md Text files should not have executable bit set (#4480) 2017-11-06 10:20:22 -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.