ytkang / flatbuffers

FlatBuffers: Memory Efficient Serialization Library

Home Page:http://google.github.io/flatbuffers/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Forked from google/flatbuffers

Goal

Use "--force-defaults" option to emit default values into final bytes. Table Start function will add all default values into builder.

Supported Languages

  • Java/C#
  • Golang

Example

flatc -g -n packet.fbs --force-defaults

// packet.fbs
namespace packet;

table Packet {
  id:uint16=1234;
}

Packet.go

...
func PacketStart(builder *flatbuffers.Builder) {
	builder.StartObject(1)
	builder.PrependUint16Slot(0, 1234, 0)
}
...

Packet.cs

...
public static void StartPacket(FlatBufferBuilder builder) {
	builder.StartTable(1);
	builder.AddUshort(0, 1234, 0);
  }
...

will be generated.

About

FlatBuffers: Memory Efficient Serialization Library

http://google.github.io/flatbuffers/

License:Apache License 2.0


Languages

Language:C++ 45.3%Language:Java 8.9%Language:C# 7.3%Language:Rust 6.7%Language:Python 5.4%Language:Dart 5.1%Language:PHP 4.4%Language:JavaScript 4.3%Language:Go 3.0%Language:Kotlin 2.8%Language:TypeScript 2.7%Language:Lua 1.9%Language:CMake 0.9%Language:Shell 0.7%Language:Makefile 0.3%Language:Batchfile 0.3%Language:C 0.0%Language:Roff 0.0%