Memory Efficient Serialization Library
C++ C# PHP Go Python Java Other
Latest commit dfe6856 Jan 8, 2018 @chenxiaolong chenxiaolong committed with aardappel 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>
Permalink
Failed to load latest commit information.
.github Added PULL_REQUEST_TEMPLATE.md Feb 8, 2017
.travis Change mikeholler to PYPI_USERNAME Dec 13, 2017
CMake Add exports for all targets (#4491) Nov 16, 2017
android Text files should not have executable bit set (#4480) Nov 6, 2017
biicode Made .sh files all have same comment formatting. May 23, 2016
docs Update URL (#4576) Jan 4, 2018
go Trimmed vtables of trailing zeroes. Aug 24, 2017
grpc new maven jar called flatbuffers-java-grpc which contains utility … (#… Dec 28, 2017
include/flatbuffers Add char * overload for FlatBufferBuilder::CreateString() (#4583) Jan 8, 2018
java/com/google/flatbuffers Trimmed vtables of trailing zeroes. Aug 24, 2017
js Trimmed vtables of trailing zeroes. Aug 24, 2017
net/FlatBuffers Text files should not have executable bit set (#4480) Nov 6, 2017
php Trimmed vtables of trailing zeroes. Aug 24, 2017
python Add support for Python lib continuous deployment. Nov 27, 2017
reflection Added support for structs and strings in unions. Apr 13, 2017
samples Added missing nullptr check in vector of union verifiers. Dec 28, 2017
src Portable range check for *cursor_ value. (#4582) Jan 5, 2018
tests GenerateText generate a text string for default identifier of enum an… Jan 4, 2018
.clang-format Made all C++ files clang-formatted. Dec 21, 2017
.editorconfig added config files for popular formatting tools (#4554) Dec 21, 2017
.gitattributes Text files should not have executable bit set (#4480) Nov 6, 2017
.gitignore publish additional js/flatbuffers.mjs to npm to support ESModules in … Dec 1, 2017
.travis.yml Disabled python in travis.yml pending fix. Dec 28, 2017
CMakeLists.txt grpc bindings generator for Java and a few minor supporting changes i… ( Dec 21, 2017
CONTRIBUTING.md Fixed link to Google C++ Style Guide. Feb 9, 2017
LICENSE.txt Fix Visual Studio 2012 build warning. Sep 11, 2015
appveyor.yml Disabled numpy test in appveyor due to timeout. Aug 24, 2017
biicode.conf added .travis.yml file (build with original and biicode building); Apr 15, 2015
composer.json (PHP) add experimental support for PHP language. Nov 17, 2015
package.json publish additional js/flatbuffers.mjs to npm to support ESModules in … Dec 1, 2017
pom.xml Updated version numbers to 1.8.0 Nov 20, 2017
readme.md Text files should not have executable bit set (#4480) Nov 6, 2017

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.