Michael Collins e083e466b8 Add Get Bytes Method Generator for C#
I updated idl_gen_general.cpp to add support for generating a Get Bytes
method for a vector to the generated C# source code. Given a byte vector
field named Foo, a method named GetFooBytes() will be generated in the
C# source code that will return an ArraySegment<byte> value referencing
the vector data in the underlying ByteBuffer.

I added a method to Table.cs named __vector_as_arraysegment that is used
by the code generated by the change to the C# generator.
__vector_as_arraysegment will take the offset of the vector and will
return the ArraySegment<byte> value corresponding to the bytes that
store the vector data.

I updated FlatBuffersExampleTests.cs to add tests to validate my
implementation of Table.__vector_as_arraysegment. I added tests to
demonstrate that the bytes for the monster's name can be extracted from
the underlying byte array. I also added tests to show that
Table.__vector_as_arraysegment returns a null value if the vector is not
present in the FlatBuffer.

I used the updated flatc.exe program to regenerate the C# source files
for the MyGame example. The new Monster class includes the GetXXXBytes
methods to return the byte arrays containing data for vectors.
2015-12-04 11:44:43 -07:00
2015-11-21 05:38:57 +09:00
2015-11-11 17:08:16 -08:00
2015-12-04 11:44:43 -07:00
2015-09-11 22:15:27 +05:30

FlatBuffers Version 1.1.0

Welcome to FlatBuffers!

Build Status

  • Travis: Build Status

FlatBuffers is a serialization library for games and other memory constrained apps. Go to our landing page to browse our documentation.

FlatBuffers allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility. FlatBuffers can be built for many different systems (Android, Windows, OS X, Linux), see docs/html/index.html

Discuss FlatBuffers with other developers and users on the FlatBuffers Google Group. File issues on the FlatBuffers Issues Tracker or post your questions to stackoverflow.com with a mention of flatbuffers.

For applications on Google Play that integrate this tool, usage is tracked. This tracking is done automatically using the embedded version string (flatbuffer_version_string), and helps us continue to optimize it. Aside from consuming a few extra bytes in your application binary, it shouldn't affect your application at all. We use this information to let us know if FlatBuffers is useful and if we should continue to invest in it. Since this is open source, you are free to remove the version string but we would appreciate if you would leave it in.

Languages
C++ 37.8%
Rust 13.5%
Swift 7.7%
Python 6.9%
C# 5.6%
Other 28.5%