summaryrefslogtreecommitdiff
path: root/docs/source/FlatBuffers.md
AgeCommit message (Collapse)AuthorFilesLines
2021-01-21Remove invalid claim that Protocol Buffers does not support unions (#6413)Juan Cruz Viotti1-2/+2
Protocol Buffers v3 supports the `oneof` operator: https://developers.google.com/protocol-buffers/docs/proto3#oneof Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2020-01-30[C#] support Object API (#5710)mugisoba1-1/+3
* [C#] support Object API * fix sign-compare * fix indent * add new line before for loop. * using auto whenever possible * reduce the amout of blank lines. * wip: support vectors of union * done: support unions of vectors * set C# version to 4.0 * remove null propagation operator * remove auto property initializer * remove expression-bodied method * remove pattern matching * add Example2 to NetTest.sh * separate JavaUsage.md and CsharpUsage.md from JavaCsharpUsage.md * add C# Object based API notes. * support vs2010. * remove range based for loop. * remove System.Linq * fix indent * CreateSharedString to CreateString * check shared attribute * snake case
2020-01-09[Swift] Swift implementation 🎉🎉 (#5603)mustiikhalil1-1/+3
* Implemented the swift version of Flatbuffers Implemented serailzing, reading, and mutating data from object monster Fixes mis-aligned pointer issue Fixes issue when shared strings are removed from table Adds swift enum, structs code gen Fixed namespace issues + started implementing the table gen Added Mutate function to the code generator Generated linux test cases Fixed an issue with bools, and structs readers in table writer Swift docker image added Updated the test cases, and removed a method parameters in swift Fixed createVector api when called with scalars Fixed issues with scalar arrays, and fixed the code gen namespaces, added sample_binary.swift Cleaned up project Added enum vectors, and their readers Refactored code Added swift into the support document Added documentation in docs, and fixed a small issue with Data() not being returned correctly Fixes Lowercase issue, and prevents generating lookups for deprecated keys * Made all the required funcs to have const + removed unneeded code + fix lowercase func * Removed transform from lowercased and moved it to function * Fixes an issue with iOS allocation from read * Refactored cpp code to be more readable * casts position into int for position * Fix enums issue, moves scalar writer code to use memcpy * Removed c_str from struct function * Fixed script to generate new objects when ran on travis ci: fix * Handles deallocating space allocated for structs * Updated the test cases to adhere to the fileprivate lookup, no mutation for unions, and updated the names of the vector functions
2019-12-26Minor doc updates: FlexBuffers C#, Discord, CppUsage.Wouter van Oortmerssen1-0/+4
Change-Id: Ie34ff580eb2f41ff35f85271b10865f4a14d0dca
2019-07-22Add basic Kotlin support (#5409)Paulo Pinheiro1-3/+5
* [Kotlin] Add kotlin generate code for tests and add kotlin test to TestAll.sh * [Kotlin] Add Kotlin generator This change adds support for generating Kotlin classes. The approach of this generator is to keep it as close as possible to the java generator for now, in order to keep the change simple. It uses the already implemented java runtime, so we don't support cross-platform nor js Kotlin yet. Kotlin tests are just a copy of the java tests. * Add optional ident support for CodeWriter Identation is important for some languages and different projects have different ways of ident code, e.g. tabs vs spaces, so we are adding optional support on CodeWriter for identation. * [Kotlin] Add Documentation for Kotlin * [Kotlin] Modify generated code to use experimental Unsigned types.
2018-09-02Port FlatBuffers to Rust (#4898)Robert1-1/+3
This is a port of FlatBuffers to Rust. It provides code generation and a runtime library derived from the C++ implementation. It utilizes the Rust type system to provide safe and fast traversal of FlatBuffers data. There are 188 tests, including many fuzz tests of roundtrips for various serialization scenarios. Initial benchmarks indicate that the canonical example payload can be written in ~700ns, and traversed in ~100ns. Rustaceans may be interested in the Follow, Push, and SafeSliceAccess traits. These traits lift traversals, reads, writes, and slice accesses into the type system, providing abstraction with no runtime penalty.
2018-07-29FlatBuffers implementation for the Lobster programming languageaardappel1-1/+3
Language, see: http://strlen.com/lobster/ and https://github.com/aardappel/lobster
2018-07-05Lua (5.3) Language addition (#4804)Derek Bailey1-1/+3
* starting Lua port of python implmention. Syncing commit * Bulk of Lua module port from Python done. Not tested, only static analysis. Need to work on binary strings. Started work on flatc lua code generation * Fixed all the basic errors to produced a binary output from the builder, don't know if it is generated correctly, but it contains data, so that must be good * fixed binary set command that was extending the array improperly * continued improvement * Moved lua submodules down a directory so their names don't clash with potential other modules. Added compat module to provide Lua versioning logic * Successful sample port from Python * working on testing Lua code with formal tests * continued to work on tests and fixes to code to make tests pass * Added reading buffer test * Changed binaryarray implmentation to use a temporary table for storing data, and then serialize it to a string when requested. This double the rate of building flatbuffers compared to the string approach. * Didn't need encode module as it just added another layer of indirection that isn't need * profiled reading buffers, optimizations to increase read performance of monster data to ~7 monster / millisecond * Writing profiler improvments. Get about ~2 monsters/millisecond building rate * removed Numpy generation from Lua (came from the Python port) * math.pow is deprecated in Lua 5.3, so changed to ^ notation. Also added .bat script for starting Lua tests * adding results of generate_code.bat * simple edits for code review in PR. * There was a buffer overflow in inserting the keywords into the unorder set for both the Lua and Python code gens. Changed insertion to use iterators. * fixed spacing issue * basic documenation/tutorial updates. Updated sample_binary.lua to reflect the tutorial better * removed windows-specific build step in Lua tests
2018-04-05Missing TS links in docs (#4693)Kamil Rojewski1-0/+4
* Eclipse ignore * TypeScript support * Prefixing enums * Test results * Merged JS and TS generators * Fixed AppVeyor build problems * Fixed more AppVeyor build problems * Fixed more AppVeyor build problems * Changed TS flag to options struct * Storing options by value * Removed unneeded const * Re-export support for unions * Uint support * Casting bools to numbers for mutation * TS shell tests * Reverted generates js test file to original version * Backing up js tests and properly generating test data * Not importing flatbuffers for TS test generation * Not overwriting generated js for tests * AppVeyor test fixes * Generating the most strict TS code possible * Not returning null when creating vectors * Not returning null from struct contructors * Vector of unions for ts/js * Sanity check for languages * Indentation fix + output test files * Vectors of unions for php * Fixes to union vector handling + tests * Fix for strictPropertyInitialization * Fix for new aligned operator new for gcc >= 7.1 * Not generating imports/ns prefixes with --gen-all * TypeScript docs * Missing imports of enums * Missing TS links
2018-03-23TypeScript docs (#4680)Kamil Rojewski1-1/+1
* Eclipse ignore * TypeScript support * Prefixing enums * Test results * Merged JS and TS generators * Fixed AppVeyor build problems * Fixed more AppVeyor build problems * Fixed more AppVeyor build problems * Changed TS flag to options struct * Storing options by value * Removed unneeded const * Re-export support for unions * Uint support * Casting bools to numbers for mutation * TS shell tests * Reverted generates js test file to original version * Backing up js tests and properly generating test data * Not importing flatbuffers for TS test generation * Not overwriting generated js for tests * AppVeyor test fixes * Generating the most strict TS code possible * Not returning null when creating vectors * Not returning null from struct contructors * Vector of unions for ts/js * Sanity check for languages * Indentation fix + output test files * Vectors of unions for php * Fixes to union vector handling + tests * Fix for strictPropertyInitialization * Fix for new aligned operator new for gcc >= 7.1 * Not generating imports/ns prefixes with --gen-all * TypeScript docs
2017-02-08First attempt at SchemaLess FlatBuffers.Wouter van Oortmerssen1-0/+5
Change-Id: I86b9d002f3441ef9efdb70e059b8530ab2d74bb8 Tested: on Linux.
2016-05-23Fixed Google Groups link in documentation.Wouter van Oortmerssen1-1/+1
Change-Id: I64307ccd0a6f23a7c3860d602813e637415e7c91
2016-04-07Update C documentation with supported MSVC versions, and other minor updates.Mikkel Fahnøe Jørgensen1-3/+3
2016-03-28Move some C specifics out of tutorial and clarify platform supportMikkel Fahnøe Jørgensen1-1/+1
2016-03-26Documentation for C bindingsMikkel Fahnøe Jørgensen1-2/+4
2016-01-19Revamping the FlatBuffers docs.Mark Klara1-22/+26
Adding an API reference for the supported languages. General docs cleanup, including a new `tutorial` section that supports all of the supported languages. Added samples for each supported language to mirror the new tutorial page. Cleaned up all the links by making them `@ref` style links, instead of referencing the names of the generated `.html` files. Removed all generated files that were unnecessarily committed. Also fixed the C# tests (two were failing due to a missing file). Bug: b/25801305 Tested: Tested all samples on Ubuntu, Mac, and Android. Docs were generated using doxygen and viewed on Chrome. Change-Id: I2acaba6e332a15ae2deff5f26a4a25da7bd2c954
2015-11-09Updated supported languages in the docs.Wouter van Oortmerssen1-7/+12
Change-Id: I607f5f33b609c47fe32342f5e9d066f61f5546cd
2015-11-06Added new documentation links.Wouter van Oortmerssen1-1/+4
Change-Id: Ib5234a97a863be08c3bb0f9329204bc3a7effccb
2015-09-28Improved documentation with links to videos, articles and who uses it.Wouter van Oortmerssen1-2/+21
Change-Id: I62de6b7008e397a5043d47f014a7acd83ee64740
2015-08-12Added a platform / language / feature support matrix to docs.Wouter van Oortmerssen1-0/+1
This is just a start, will need to be extended. Change-Id: I5a9ad671911942dcb83fdd2bae537deed751cbfd
2015-05-27Added GitHub link to start of documentation page.Wouter van Oortmerssen1-3/+4
2014-12-08Various documentation clarifications.Wouter van Oortmerssen1-8/+8
Change-Id: Ibc2bd88a636f3b4abf82a7c2722fc1e354dab848 Tested: on Linux.
2014-07-21Port FlatBuffers to Go.rw1-6/+8
Implement code generation and runtime library for Go, derived from the Java implementation. Additionally, the test suite verifies: - the exact bytes in the Builder buffer during object construction, - vtable deduplication, and - table construction, via a fuzzer derived from the C++ implementation. Change-Id: Ib95a019c684891def2b50281e570b4843fea7baa
2014-06-10Initial commit of the FlatBuffers code.Wouter van Oortmerssen1-0/+126
Change-Id: I4c9f0f722490b374257adb3fec63e44ae93da920 Tested: using VS2010 / Xcode / gcc on Linux.