- 08 Dec, 2015 2 commits
-
-
Wouter van Oortmerssen authored
Add Get Bytes Method Generator for C#
-
Wouter van Oortmerssen authored
Extend C# ByteBuffer Put method fix to unsafe methods
-
- 07 Dec, 2015 6 commits
-
-
Wouter van Oortmerssen authored
Update C# FlatBufferBuilder to reuse vtable array
-
belldon authored
This commit updates the FlatBufferBuilder class to reuse the vtable array instead of creating a new array with every StartObject() call.
-
Wouter van Oortmerssen authored
Fix to #360 - Fully qualified names outside of current NS
-
Wouter van Oortmerssen authored
Correct the max/min signed/unsigned 32-bit int
-
Wouter van Oortmerssen authored
Change-Id: I36c1f05efa836b32635e3274ac0ba976a8961bdd Tested: on Linux.
-
- 05 Dec, 2015 3 commits
-
-
Armen Baghumian authored
It's slightly faster to convert the value to signed value in PHP as opposed to use pack and unpack. For 1M get operation the difference is: getShort in 3.3272678852081 seconds getInt in 3.8338589668274 seconds getLong in 5.6381590366364 seconds getLong (neg) in 5.6149101257324 seconds vs getShort in 2.7564418315887 seconds getInt in 3.1612701416016 seconds getLong in 3.1369340419769 seconds getLong (neg) in 3.1478710174561 seconds And since pack("P") and unpack("q") has been removed now ByteBuffer works for PHP >= 5.4
-
Armen Baghumian authored
The test was trying to pack an unsigned int which couldn't fit as a signed int and putInt() wasn't doing the validation in the correct range
-
Oli Wilkinson authored
Fix to #360 - Updated the general generator (Java/C#) to emit fully qualified names where the referenced object isn't directly in this namespace. Added test fbs files to verify compilation.
-
- 04 Dec, 2015 3 commits
-
-
Michael Collins authored
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.
-
Jason Sanmiya authored
Mac build issued a warning for enum{}. Change-Id: I9cab958538ac3cec61aeae289d1da0118ecac15f Tested: Mac build no longer issues warnings.
-
Wouter van Oortmerssen authored
Also refactored the way options are stored. Change-Id: I709ac908cd2aba396c9c282725cf1d42ccce0882 Tested: on Linux.
-
- 02 Dec, 2015 12 commits
-
-
Wouter van Oortmerssen authored
Change-Id: If2e62a325b47399561b4c20d2def55ede4831d19 Tested: on Linux.
-
Perry Hung authored
Simply running clang with -stdlib=libc++ requires a manual link against libc++abi on Linux. This is documented in the libc++ documentation: http://libcxx.llvm.org/ Tested on Arch Linux, using clang 3.7.0 RELEASE. Signed-off-by:
Perry Hung <iperry@gmail.com>
-
Wouter van Oortmerssen authored
It used to be such that later schemas could depend on earlier schemas. This was a convenience from days before include files were implemented. Nowadays they cause subtle bugs rather than being useful, so this functionality has been removed. You now need to explicitly include files you depend upon. Change-Id: Id8292c3c621fc38fbd796da2d2cbdd63efc230d1 Tested: on Linux.
-
Wouter van Oortmerssen authored
Besides making the generated code looking a lot more readable, it also allows you to use these offsets in calls to Table::CheckField, to see if a field is present in a table. Change-Id: I1b4cc350c4f27c4e474c31add40c701ef4ae63b2 Tested: On Linux.
-
Wouter van Oortmerssen authored
Change-Id: I5756d15a758429ca67456264842017063d1f755e Tested: on Linux.
-
Wouter van Oortmerssen authored
Change-Id: I09ade6b688a6b97d65fd832558917225d86c9118
-
Wouter van Oortmerssen authored
Also checks for nesting of objects in vector construction. This avoids common errors in FlatBuffer construction. Change-Id: I5507c5d767684e20e94883a92448f05acefba4d6 Tested: on Linux.
-
Chris authored
-
Chris authored
-
Wouter van Oortmerssen authored
Short-form versions are still supported, but are deprecated. Change-Id: I15f70ca8d69ba5790368205caa9603b65e1b7fff Tested: on Linux.
-
Wouter van Oortmerssen authored
Change-Id: I17de0bcc462770124227a9967e2aab620467f6eb Tested: on Linux.
-
Wouter van Oortmerssen authored
Thanks @Chaosvex for reporting. Change-Id: I73f60ab0bf875a3e0849eaec5f42f6d036881094 Tested: on Linux.
-
- 25 Nov, 2015 2 commits
-
-
Wouter van Oortmerssen authored
C++: Fixed generated header file cannot be compiled when the type of key is enum class
-
Wouter van Oortmerssen authored
Fixes issue #348: C# vector of enums doesn't compile
-
- 23 Nov, 2015 1 commit
-
-
Donnell authored
Fixes a bug where the logic to determine when to use a C# enum flags both enums and vectors of enums. This causes the C# generator to generate code that doesn't compile for tables that contain vectors of enums. The fix also consolidates type generation functions a bit and adds some additional casting functions for clarity.
-
- 20 Nov, 2015 3 commits
-
-
Wouter van Oortmerssen authored
Fix projectfile (VisualStudio, XCode) for development
-
Shuhei Tanuma authored
-
Shuhei Tanuma authored
-
- 19 Nov, 2015 3 commits
-
-
Stewart Miles authored
-
Stewart Miles authored
Tested: Verified it's possible to build generated headers on Linux for Android. Change-Id: I82249a252cb851b978a177f4a4b92b527cc2bfd9
-
Stewart Miles authored
Also, added missing build scripts for flatc on Windows and fixed numerous issues in the flatbuffers/android/jni/include.mk makefile. Tested: Verified dependent project (motive) can generate flatbuffers headers with these changes on Android. Bug: 25780616 Change-Id: I73f0dec8f7a6a7eb4e71951a8f1cd3e0d343a9ff
-
- 18 Nov, 2015 3 commits
-
-
Wouter van Oortmerssen authored
flatbuffers/cmake: move build_flatbuffers to a standalone file
-
Wouter van Oortmerssen authored
Add support for PHP code.
-
Wouter van Oortmerssen authored
C# Unity (.NET 3.5) can't cast enum default value.
-
- 17 Nov, 2015 2 commits
-
-
Johan Euphrosine authored
So that it could be included from both flatbuffers CMakeLists.txt and FindFlatBuffers.cmake. Change-Id: Ie16a879beef9367cd6fd9b2d2157044841a7cdbc
-
Shuhei Taunma authored
* codegen for all basic features: WIP (probably implemented all basic feature) * JSON parsing: NO * Simple mutation: NO * Reflection: NO * Buffer verifier: NO (will be add later) * Testing: basic: Yes * Testing: fuzz: Yes * Performance: Not bad * Platform: Supported Linux, OS X, Windows (has 32bit integer limitation) * Engine Unity: No flatc --php monster_test.fbs <?php //include neccessary files. $fbb = new Google\FlatBuffers\FlatBufferBuilder(1); $str = $fbb->createString("monster"); \MyGame\Example\Monster::startMonster($fbb); \MyGame\Example\Monster::addHp($fbb, 80); \MyGame\Example\Monster::addName($fbb, $str); $mon = \MyGame\Example\Monster::endMonster($fbb); $fbb->finish($mon); echo $fbb->sizedByteArray(); PHP 5.4 higher Currently, we do not register this library to packagist as still experimental and versioning problem. If you intended to use flatbuffers with composer. add repostiories section to composer.json like below. "repositories": [{ "type": "vcs", "url": "https://github.com/google/flatbuffers" }], and just put google/flatbuffers. "require": { "google/flatbuffers": "*" } * PHP's integer is platform dependant. we strongly recommend use 64bit machine and don't use uint, ulong types as prevent overflow issue. ref: http://php.net/manual/en/language.types.integer.php * php don't support float type. floating point numbers are always parsed as double precision internally. ref: http://php.net/manual/en/language.types.float.php * ByteBuffer is little bit slow implemnentation due to many chr/ord function calls. Especially encoding objects. This is expected performance as PHP5 has parsing arguments overhead. probably we'll add C-extension. Basically, PHP implementation respects Java and C# implementation. Note: ByteBuffer and FlatBuffersBuilder class are not intended to use other purposes. we may change internal API foreseeable future. PSR-2, PSR-4 standards. Implemented simple assertion class (respect JavaScript testcase implementation) as we prefer small code base. this also keeps CI iteration speed. we'll choose phpunit or something when the test cases grown.
-