cc-plus-pluscross-platformc-sharpflatbuffersgogrpcjavajavascriptjson-parsermarshallingmmapprotobufpythonrpcrustserializationserialization-librarystarred-google-repostarred-repotypescriptzero-copy
e810635eaa
* [Swift] FlatBuffers createMonster method doesn't treat struct properly This PR fixed a issue where a struct is not treated properly when use create inside. A example would be the pos inside Monster. The createMonster method takes an Offset for pos. However, FlatBuffersBuilder.add(struct:) doesn't really take Offset argument. That means we don't really add a struct at all for Monster. It will show up as the pos never set. This doesn't show up in FlatBuffersMonsterWriterTests.swift because it implements its own createMonster method, which happens do the dance properly (i.e. first call create(struct) and then immediately call add:). This PR modified the `add(pos:)` interface such that it takes the UnsafeMutableRawPointer directly, calling `create(struct:)` under the hood. I can add unit tests once the direction of this PR approved. * Fix object api pack method codegen. * Add unit tests that uses Monster.createMonster method to serialize. * Updated sample_binary.swift |
||
---|---|---|
.appveyor | ||
.bazelci | ||
.github | ||
.travis | ||
CMake | ||
android | ||
bazel | ||
conan | ||
dart | ||
docs | ||
go | ||
grpc | ||
include/flatbuffers | ||
java/com/google/flatbuffers | ||
js | ||
lobster | ||
lua | ||
net/FlatBuffers | ||
php | ||
python | ||
reflection | ||
rust | ||
samples | ||
snap | ||
src | ||
swift | ||
tests | ||
.clang-format | ||
.editorconfig | ||
.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 |
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.