FlatBuffers: Memory Efficient Serialization Library
Go to file
Jon Kunkee 4d98faa515 Only use __movsb on architectures that support it (#5147)
With the introduction of Windows 10 on ARM (ARM64), code that assumes
that Windows targets are always x86 or x86_64 targets needs to be
updated.

The hot function ReadUInt64 has been optimized in MSVC builds using the
compiler intrinsic __movsb. Since this does not exist on ARM64 Windows,
this change uses the pure C++ path that other platforms use instead.
2019-02-04 18:57:34 +01:00
.appveyor CI check generate code (#4998) 2018-10-22 15:41:12 -07:00
.github Added PULL_REQUEST_TEMPLATE.md 2017-02-08 10:15:26 -08:00
.travis CI: Dockerized language port tests (#5066) 2018-11-29 22:03:06 -08:00
CMake generated cmake command for flatc generation should depend on source file (#5087) 2018-12-13 11:56:51 -08:00
android Disable armeabi builds for Android and re-enable CI builds. (#4970) 2018-10-08 12:43:57 -07:00
conan Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
dart Disallowed 0 byte structs. 2018-10-29 17:40:19 -07:00
docs [docs] [rust] Add "Useful tools created by others" section (#5127) 2019-01-17 11:56:52 -08:00
go Merge pull request #4820 from nairb774/master 2018-07-26 15:35:45 -07:00
grpc Repair `fallthrough` was broken by d4493165 (#5115) (#5139) 2019-01-28 10:16:12 -08:00
include/flatbuffers Only use __movsb on architectures that support it (#5147) 2019-02-04 18:57:34 +01:00
java/com/google/flatbuffers Java: Pulling in protobuf's faster UTF-8 encoder. (#5035) 2018-12-17 13:53:49 -08:00
js JS- support clear() method on builder (#5109) 2019-01-14 09:21:42 -08:00
lobster FlatBuffers implementation for the Lobster programming language 2018-07-29 13:23:00 -07:00
lua Wrong int32 min-max range definition on numTypes.lua (#5031) 2018-11-12 09:40:24 -08:00
net/FlatBuffers [net] Fix issue #5036 when write a double value into bytebuffer at big endian machine with unsafe mode. (#5076) 2018-12-03 09:50:26 -08:00
php Performance improvement to generated+supporting PHP (#5080) 2018-12-20 16:10:20 -08:00
python [Python] Fast serialization of numpy vectors (#4829) 2018-10-15 17:07:08 -07:00
reflection CI check generate code (#4998) 2018-10-22 15:41:12 -07:00
rust/flatbuffers Fix create_vector_of_strings to use the stack, and test it. (#5074) 2018-11-29 11:47:28 -08:00
samples Fix high certainty warnings from PVS-studio (#5115) 2019-01-17 09:49:27 -08:00
src Repair `fallthrough` was broken by d4493165 (#5115) (#5139) 2019-01-28 10:16:12 -08:00
tests Replace deprecated Vector::Length() with Vector::size() (#5131) 2019-01-24 13:33:19 -08:00
.clang-format Made all C++ files clang-formatted. 2017-12-21 11:45:02 -08:00
.editorconfig CI check generate code (#4998) 2018-10-22 15:41:12 -07:00
.gitattributes Text files should not have executable bit set (#4480) 2017-11-06 10:20:22 -08:00
.gitignore Enable flatbuffer to initialize Parser from bfbs (#4283) (#5077) 2018-12-13 11:59:27 -08:00
.travis.yml CI: Dockerized language port tests (#5066) 2018-11-29 22:03:06 -08:00
BUILD Add flatbuffer_cc library support (#5061) 2018-12-10 12:23:40 -08:00
CMakeLists.txt Repair `fallthrough` was broken by d4493165 (#5115) (#5139) 2019-01-28 10:16:12 -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
WORKSPACE Add flatbuffer_cc library support (#5061) 2018-12-10 12:23:40 -08:00
appveyor.yml Repair MSVC-CRT leakage detector and enable this detection with Appveyor-CI (#5105) 2019-01-24 13:30:11 -08:00
build_defs.bzl Add repository name to build_defs.bzl (#5104) 2019-01-07 09:55:55 -08:00
composer.json (PHP) add experimental support for PHP language. 2015-11-18 00:26:39 +09:00
conanfile.py Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
package.json Convenient createX methods for TS (#5044) 2018-11-16 09:17:54 -08:00
pom.xml Java: Pulling in protobuf's faster UTF-8 encoder. (#5035) 2018-12-17 13:53:49 -08:00
readme.md Updated readme.md 2018-09-21 10:42:00 -07:00

readme.md

logo FlatBuffers

Join the chat at https://gitter.im/google/flatbuffers Build Status Build status

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

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.