cc-plus-pluscross-platformc-sharpflatbuffersgogrpcjavajavascriptjson-parsermarshallingmmapprotobufpythonrpcrustserializationserialization-librarystarred-google-repostarred-repotypescriptzero-copy
7f33cf682a
Prior to this commit the default C++ code generator was `c++0x`. A code generated with `c++0x` code-gen might have a vulnerability (undefined behavior) connected evolution of enums in a schema. This UB could break the backward compatibility if previously generated code casts an unknown enumerator to enum type that knows nothing about future enumerators added to the schema. The main differences between `c++0x` and `c++11`: - generated enums use explicitly declared underlying type; - generated object-API tables don't declare default ctor() explicitly, instead of it default data member initializers are generated. Please use `flatc --cpp-std c++0x` option for backward compatibility with old compilers. |
||
---|---|---|
.appveyor | ||
.bazelci | ||
.github | ||
.travis | ||
CMake | ||
android | ||
bazel | ||
conan | ||
dart | ||
docs | ||
go | ||
grpc | ||
include/flatbuffers | ||
java/com/google/flatbuffers | ||
js | ||
lobster | ||
lua | ||
mjs | ||
net/FlatBuffers | ||
php | ||
python | ||
reflection | ||
rust | ||
samples | ||
snap | ||
src | ||
swift | ||
tests | ||
ts | ||
.clang-format | ||
.editorconfig | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
BUILD | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
WORKSPACE | ||
appveyor.yml | ||
build_defs.bzl | ||
composer.json | ||
conanfile.py | ||
package.json | ||
pom.xml | ||
readme.md | ||
swift.swiftformat | ||
tsconfig.json | ||
tsconfig.mjs.json | ||
yarn.lock |
readme.md
FlatBuffers
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
- FlatBuffers Google Group to discuss FlatBuffers with other developers and users.
- FlatBuffers Issues Tracker to submit an issue.
- stackoverflow.com with
flatbuffers
tag for any questions regarding FlatBuffers.
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.