Michael Holler [Wed, 22 Nov 2017 22:46:00 +0000 (16:46 -0600)]
Add support for Python lib continuous deployment.
Use a combination of travis and twine to publish to PyPI. New
publications will be made:
* When `master` is updated. This will trigger the publication of a
the Python artifact versioned an iso-compliant build datetime. In this
way, the cutting edge version will always be available via PyPI.
* When a new git tag is pushed. Tag pushes trigger the publication of
a python artifact with the same version as the git tag, with the
leading `v` stripped if present (`v1.2.3` becomes `1.2.3`).
Publications rely on Travis having a PYPI_PASSWORD environment set in
the project settings. See the Travis CI documentation for information on
[setting environment variables which containing sensitive data][1]. Make
extra sure the "Display value in build log" switch is OFF.
In addition to setting the previously mentioned `PYPI_PASSWORD`
environment variable, the owner of the PyPI `flatbuffers` repository
should, after merging this commit into master, add his own commit to
change `mikeholler` in `.travis/deploy-python.sh` to his username. It's
also recommended that the owner of `flatbuffers` use a separate account
in the unlikely event that the environment variable somehow becomes
compromised. Again, this is very unlikely, since the environment
variable is only set for "safe" builds approved by maintainers (not on
random pull requests).
[1]: https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings
Wouter van Oortmerssen [Mon, 20 Nov 2017 17:46:03 +0000 (09:46 -0800)]
Updated version numbers to 1.8.0
Change-Id: I9cf9fe1e2572d3f9c4066624a87249ca1e62a297
Wouter van Oortmerssen [Mon, 20 Nov 2017 17:19:35 +0000 (09:19 -0800)]
Missing generated code files.
Change-Id: I8808b0b419981ba7d0699da4a1effb0b660a21cb
MikkelFJ [Fri, 17 Nov 2017 16:57:01 +0000 (17:57 +0100)]
Document type aliases (#4499)
Dan Douglas [Fri, 17 Nov 2017 00:03:16 +0000 (16:03 -0800)]
fix typo (#4495)
`Equipment` is a union, not an enum.
Wouter van Oortmerssen [Thu, 16 Nov 2017 22:19:31 +0000 (14:19 -0800)]
Fixed potential strict-aliasing violation in big-endian code.
Also added a test.
Tested on: Linux.
Change-Id: I7b3230f8f6043eec139d5e3e8c9cb45814124274
red1939 [Thu, 16 Nov 2017 20:51:25 +0000 (21:51 +0100)]
Add exports for all targets (#4491)
Each target that will be installed will also generate a target that will be
included by CMake config file.
Hong Wu [Thu, 16 Nov 2017 18:09:48 +0000 (12:09 -0600)]
c++ Tutorial fix (#4494)
Louis-Paul CORDIER [Thu, 16 Nov 2017 18:08:41 +0000 (19:08 +0100)]
Remove copy constructor to make flatbuffers struct trivially copyable… (#4476)
* Remove copy constructor to make flatbuffers struct trivially copyable + add tests.
* Add support non c++11 compliant compilers.
* Fix std::trivially_copyiable test for non-C++11 compliant compilers.
* Fix trivially_copyable not part of glibc < 5 even with c++11 switch enabled.
David Komer [Thu, 16 Nov 2017 16:51:35 +0000 (18:51 +0200)]
tutorial docs (#4492)
Angela Sheu [Mon, 13 Nov 2017 21:39:49 +0000 (13:39 -0800)]
Fix valid params limit exceeded for generated table constructor (#4490)
Wouter van Oortmerssen [Thu, 9 Nov 2017 23:47:44 +0000 (15:47 -0800)]
Made stl_emulation.h usable by itself.
Change-Id: I1d9d301412fe0a036f12eb2cc82a3fbee5bb838d
Sergey Avseyev [Thu, 9 Nov 2017 22:39:32 +0000 (01:39 +0300)]
Specify ABI version for shared library (#4479)
Sergey Avseyev [Mon, 6 Nov 2017 18:38:53 +0000 (21:38 +0300)]
Use CMake install directories instead of hardcoded (#4481)
Sergey Avseyev [Mon, 6 Nov 2017 18:20:22 +0000 (21:20 +0300)]
Text files should not have executable bit set (#4480)
Lawrence Chan [Mon, 6 Nov 2017 16:43:22 +0000 (10:43 -0600)]
Link grpctest with libgrpc_unsecure explicitly (#4474)
Wouter van Oortmerssen [Thu, 26 Oct 2017 23:13:04 +0000 (16:13 -0700)]
Updated pom.xml to be able to deploy to Maven central.
Change-Id: Ie28dda5e1854eeff3e254e975925ff846c137008
stefan301 [Mon, 23 Oct 2017 16:15:18 +0000 (18:15 +0200)]
Added missing EndTable() call to VerifyObject() (#4468)
VerifyObject called VerifyTableStart() but not EndTable(). This made Verifier::VerifyComplexity() increase depth_ with each table, not with the depth of tables.
https://groups.google.com/forum/#!topic/flatbuffers/OpxtW5UFAdg
Alex Ames [Fri, 20 Oct 2017 23:49:15 +0000 (16:49 -0700)]
Changed how vector_data works. (#4467)
In some debug environments using vector[i] does bounds checking even
though the standard specifies that it should not. Using
*(vector.begin()) sidesteps this though, giving the same result without
the bounds checking.
Alex Ames [Fri, 20 Oct 2017 23:29:51 +0000 (16:29 -0700)]
Fixed CMake build issue when building with Clang. (#4465)
Yonggang Li [Mon, 16 Oct 2017 16:24:11 +0000 (09:24 -0700)]
Nullable java (#4455)
* add _Nullable Support for C++ interface
* generate @Nullable for Java generated code
Stewart Miles [Sat, 14 Oct 2017 00:55:51 +0000 (17:55 -0700)]
Merge pull request #4459 from stewartmiles/master
Report a build failure when any Android build fails.
Stewart Miles [Fri, 13 Oct 2017 23:56:28 +0000 (16:56 -0700)]
Report a build failure when any Android build fails.
The travis script was only failing if the last Android build fails.
This changes the script to report a failure if any of the Android
projects fail to build.
Stewart Miles [Sat, 14 Oct 2017 00:33:12 +0000 (17:33 -0700)]
Fixed Android build failure caused by use of C++11 limits.
f2b3705c2c62c40afdef96f73f0aeaf32b4c8e0e caused Android builds
to fail. This switches limit constants to use limits templates in
stl_emulation.h.
Stewart Miles [Fri, 13 Oct 2017 23:44:02 +0000 (16:44 -0700)]
Merge pull request #4458 from a-maurice/master
Use flatbuffer unique_ptr instead of std's.
Anthony [Fri, 13 Oct 2017 23:21:34 +0000 (16:21 -0700)]
Use flatbuffer unique_ptr instead of std's.
Stlport does not have std unique_ptr, so using the one provided by
flatbuffers.
Also fixing a problem with the flatbuffer unique_ptr, and a test.
Wouter van Oortmerssen [Mon, 9 Oct 2017 16:27:30 +0000 (09:27 -0700)]
Add new flatbuffer_go_library to generate Go library for flatbuffers
This CL also introduces the following changes to allow the generation of the
Go library for flatbuffers:
- add support for --gen-onefile for Go to simplify the build rule (mapping each
input .fbs to a single separate .go file)
- add a new --go-import flag to override the default import line (currently
github.com/google/flatbuffers/go)
- add new go_library in BUILD for flatbuffer (for files in flatbuffers/go)
(mirrored from cr/
171126159)
Change-Id: I83e705a9a9d9544837af0baf9366ec37757799aa
Brian Chavez [Mon, 9 Oct 2017 15:42:34 +0000 (08:42 -0700)]
Spelling error in C# and Java documentation (#4454)
Yonggang Li [Mon, 9 Oct 2017 15:40:17 +0000 (08:40 -0700)]
_Nullable cpp interface (#4451)
* add _Nullable Support for C++ interface
* add _Nullable Support for C++ interface
Wouter van Oortmerssen [Mon, 2 Oct 2017 22:41:34 +0000 (15:41 -0700)]
Improved .proto conversion.
- Allowed enums to be declared before use.
- Generalized parsing of `required`.
- Reworked escaping of namespaces.
- Escaping field names that are C++ keywords.
- Many smaller fixes.
Change-Id: Ie580de7b70dc208f676f4f71bb0d061808648b8d
Tested: on Linux.
Aaron [Fri, 6 Oct 2017 15:50:24 +0000 (08:50 -0700)]
[C++] Add explicit keyword on generated constructors for Builder structs (#4452)
* Add explicit keyword on C++ generated constructors for Builder structs
* Add missing generated code for review
Robert [Fri, 6 Oct 2017 15:34:07 +0000 (08:34 -0700)]
Python: CreateByteVector function in builder. (#4453)
Dariusz Ostolski [Thu, 5 Oct 2017 21:07:42 +0000 (23:07 +0200)]
Fix issue #4389, if field is ommitted the return type is the same for… (#4444)
* Fix issue #4389, if field is ommitted the return type is the same for python generator
* Fix issue #4389, bytes is returned when field is omitted
* Fix issue #4389, added generated python code after generator modification
Louis-Paul CORDIER [Mon, 2 Oct 2017 21:38:38 +0000 (06:38 +0900)]
Add template version for As method. (#4443)
* Add template version for As method.
* Fix compilation error on Linux.
* Fix linux issue (2).
* Linux fix (3)
* Add few tests.
Wouter van Oortmerssen [Mon, 25 Sep 2017 18:44:58 +0000 (11:44 -0700)]
Fixed TypeTable function not being inline.
Change-Id: Id335980daf909e885ed26a21b64623b78d01fb49
Tested: on OS X.
Wouter van Oortmerssen [Fri, 22 Sep 2017 21:32:07 +0000 (14:32 -0700)]
Made the parser not have any hard-coded keywords.
This prevented any keywords showing up as JSON field names, for example.
Change-Id: Ie9d0cada96778e06016ca02ca96d052410a37038
Tested: on Linux.
Wouter van Oortmerssen [Fri, 25 Aug 2017 00:44:03 +0000 (17:44 -0700)]
Added support for mini-reflection tables.
Change-Id: I83453d074685fa57bbf1c7c87b1d9392ce972085
Tested: on Linux.
endorph-soft [Thu, 21 Sep 2017 21:06:20 +0000 (06:36 +0930)]
Add constant accessors to C++ unions (#4433)
* Add constant accessors to C++ unions
* Remove redundant const pointer return type
* Update generate_code.bat to reflect generate_code.sh
* Add updated generated files
* Remove extra space from generated code
* Update generated files
* Change directory back to tests after generating code
Khem Raj [Thu, 21 Sep 2017 15:51:08 +0000 (08:51 -0700)]
Fix build with clang on big-endian targets (#4440)
* flatbuffers: Move EndianSwap template to flatbuffers/base.h
Clang complains
call to function 'EndianSwap' that is neither visible in the template definition nor found by argument-dependent lookup
return EndianSwap(t);
This seems to be due to limitation of two-phase lookup of dependent names in template definitions
Its not being found using associated namespaces therefore
it has to be made visible at the template definition site as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* use __builtin_bswap16 when building with clang
clang pretends to be gcc 4.2.0 and therefore the code does
not use __builtin_bswap16 but tries to synthesize it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
schoetbi [Thu, 14 Sep 2017 16:25:43 +0000 (18:25 +0200)]
idl_gen_json_schema.cpp: Fixed detection of enum types (#4438)
Lukas Bergdoll [Thu, 14 Sep 2017 16:22:55 +0000 (18:22 +0200)]
[C++] Fix DetachedBuffer move assignment lifetime (#4437)
* Fix DetachedBuffer move assignment lifetime
DetachedBuffer move assignment now destroys it's own content,
rather than waiting for the destructor of other.
See more under #4435
Add missing function return type
* Rename empty_assign to reset
Reset after destroy
reset() now operates on itself
Wouter van Oortmerssen [Tue, 12 Sep 2017 18:36:38 +0000 (11:36 -0700)]
Fixed .proto not being accepted as schema file.
Change-Id: I1ccd52a847930fa636d24f9490d57577b8775d08
Wouter van Oortmerssen [Thu, 7 Sep 2017 21:35:26 +0000 (14:35 -0700)]
Forgot to bump flatc version to 1.7.1
Change-Id: I480a08f445858bce3d0336c2b22da30d64f90012
rouzier [Thu, 7 Sep 2017 18:52:58 +0000 (14:52 -0400)]
Update doc (#4427)
schoetbi [Thu, 31 Aug 2017 15:56:04 +0000 (17:56 +0200)]
Every type gets additionalProperties set to "false" (#4424)
#4423
endorph-soft [Thu, 31 Aug 2017 15:54:03 +0000 (01:24 +0930)]
C++ Customise prefix/suffix of object API [Issue #4419] (#4422)
* Allow prefix/suffix of C++ Object API classes to be customised
* Address review comments
Wouter van Oortmerssen [Fri, 25 Aug 2017 18:47:19 +0000 (11:47 -0700)]
Updated C# test project.
Wouter van Oortmerssen [Fri, 25 Aug 2017 18:29:58 +0000 (11:29 -0700)]
Fixed VS memory tracking leaking into user code
Wouter van Oortmerssen [Thu, 24 Aug 2017 20:46:46 +0000 (13:46 -0700)]
Disabled numpy test in appveyor due to timeout.
It pulls in a LOT of dependencies, this will need to be done better.
Change-Id: Ib27effead194f6836facca01e9454a6037ad837a
Wouter van Oortmerssen [Thu, 24 Aug 2017 19:55:35 +0000 (12:55 -0700)]
Cleaned up namespace handling.
A Namespace object is now guaranteed unique.
This cleaned up some old workarounds and latent bugs.
Change-Id: Ic3f12d89947871b03b2c449ba51b3186f953adde
Tested: on Linux.
Bug:
21336857
Wouter van Oortmerssen [Mon, 21 Aug 2017 20:44:23 +0000 (13:44 -0700)]
Trimmed vtables of trailing zeroes.
This is something the format supports, but none of the builders
were doing. Can save 10-20% on FlatBuffer binary size!
Also fixed the Go tests.
Change-Id: I616c56ce9bbcfcaee23aa24f0532fcb60b6a8c75
Tested: on Linux.
Younguk Kim [Thu, 17 Aug 2017 16:35:50 +0000 (01:35 +0900)]
Fix use of min and max when Windows.h is imported (#4411)
Wouter van Oortmerssen [Mon, 14 Aug 2017 23:36:42 +0000 (16:36 -0700)]
Noted that benchmarks are for C++
Change-Id: I12fbba7ffd2db47502a05eb06cedab49fd99c366
Wouter van Oortmerssen [Mon, 14 Aug 2017 22:34:15 +0000 (15:34 -0700)]
Explained GetRoot<Monster> vs GetMonster.
Change-Id: Ic302096c07551b5c1aff0b261a329c46964cf337
Wouter van Oortmerssen [Mon, 14 Aug 2017 21:45:29 +0000 (14:45 -0700)]
Fixed .proto -> .fbs translating type bytes incorrectly.
Change-Id: Idb607360123d12c73dd1e045305007120b12131b
Tested: on Linux.
Wouter van Oortmerssen [Mon, 14 Aug 2017 19:18:06 +0000 (12:18 -0700)]
Further grammar.md fixes: union types, idents, string constants.
Change-Id: I51db0511c52c79f2b322a1fdef798b061941887b
Wouter van Oortmerssen [Mon, 14 Aug 2017 18:58:25 +0000 (11:58 -0700)]
Fixed up grammar.md with rpc's and new scalar types.
Change-Id: Ie2965f48810bf24cccf098b69a9d471583efc3bf
Wouter van Oortmerssen [Mon, 14 Aug 2017 17:52:25 +0000 (10:52 -0700)]
Missing FieldDef initializer.
Change-Id: I5ed1f77868e201d7231102a106e08f3376b6adcf
Wouter van Oortmerssen [Mon, 14 Aug 2017 17:41:39 +0000 (10:41 -0700)]
Fixed file_identifier/extension leaking from included file.
Change-Id: I470143411e4ce6322e018a27bcc9cd40c15d9bf1
Tested: on Linux.
Wouter van Oortmerssen [Mon, 14 Aug 2017 16:25:40 +0000 (09:25 -0700)]
Cleaned up test output.
Change-Id: I4bec0e728cc162aa3f19091a0d154124ffbccdff
Wouter van Oortmerssen [Mon, 14 Aug 2017 16:22:12 +0000 (09:22 -0700)]
Fixed root_type leaking in from included files.
Change-Id: I9378e375901f8a883eaeb2182955d690c358ed4b
Tested: on Linux.
rouzier [Mon, 14 Aug 2017 15:44:56 +0000 (11:44 -0400)]
C++ Add new type vector_bool flexbuffers (#4410)
* Add new type vector_bool
* Update stl_emulation.h
Fix Is same typo
* Update stl_emulation.h
rouzier [Mon, 14 Aug 2017 15:33:38 +0000 (11:33 -0400)]
Internal doc (#4409)
* Add information about flexbuffer bool and null encoding
* Fix spelling errors
* Fix encoding example for flexbuffer map
Wouter van Oortmerssen [Fri, 11 Aug 2017 19:24:33 +0000 (12:24 -0700)]
Added VS crtdbg memory leak tracking
Wouter van Oortmerssen [Fri, 11 Aug 2017 16:28:06 +0000 (09:28 -0700)]
Added missing generated code.
Change-Id: I7201d6891f56094178656a76bf0f87cf36d12554
Kamil Rojewski [Fri, 11 Aug 2017 16:24:36 +0000 (18:24 +0200)]
Vector of unions for TS/JS and PHP (#4404)
* 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
Kamil Rojewski [Fri, 11 Aug 2017 16:19:28 +0000 (18:19 +0200)]
Copying required field to union type vector (#4407)
* 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
* Copying required field to union type vector
* Removed unneccessary bool
Wouter van Oortmerssen [Thu, 10 Aug 2017 23:28:31 +0000 (16:28 -0700)]
Make flatc not silently skip schema files not ending in .fbs
Change-Id: I58463b321703b2ef0dc3f3062633909b86eca1a9
Tested: on Linux.
Wouter van Oortmerssen [Thu, 10 Aug 2017 21:22:03 +0000 (14:22 -0700)]
Make it an error if a field has the same name as a table.
Change-Id: Ie5a3bb5a3643cd48e1cc75fe170a7b8a7c2cc8ed
Tested: on Linux.
Wouter van Oortmerssen [Thu, 10 Aug 2017 18:35:58 +0000 (11:35 -0700)]
Forgot to update pom.xml in recent 1.7.1 release.
Change-Id: Ia6d6967546c0a2a5340a93e54c46d2630fff92fe
Wouter van Oortmerssen [Thu, 10 Aug 2017 18:25:13 +0000 (11:25 -0700)]
Misc documentation fixes.
Change-Id: Id7be5baba7d8a11ca050e8d94d95857406690378
Wouter van Oortmerssen [Mon, 7 Aug 2017 22:33:36 +0000 (15:33 -0700)]
Fixed clang-tidy warnings.
Change-Id: Ib94ef29254c116b60e4ff298baa2ce323ac9655c
Tested: on Linux.
Wouter van Oortmerssen [Mon, 7 Aug 2017 21:55:05 +0000 (14:55 -0700)]
Added missing generated code from past commits.
Change-Id: I43e8de5a2ac224836a79661cc03bf37ac6d509fe
Wouter van Oortmerssen [Mon, 7 Aug 2017 21:53:54 +0000 (14:53 -0700)]
Linked to Mikkel's binary format documentation.
Change-Id: I5054e37833d59bbe925cac2000a453fbee8ef54b
Wouter van Oortmerssen [Mon, 7 Aug 2017 20:24:42 +0000 (13:24 -0700)]
Public accessor for buffer size of flexbuffers::Builder
Change-Id: Iff7895aebeba9c2940e26a3edbdf2d3f1b0d9b17
rouzier [Fri, 4 Aug 2017 15:04:28 +0000 (11:04 -0400)]
[c++] Add support for boolean types in flexbuffers (#4386)
* Add support for boolean types in flexbuffers
* Simplify casting number <=> boolean
* Added comments for tests
* Add proper support for Booleans
* Bad rebase
* No special case for strings
* Removed unused test
* Simplify logic
MikkelFJ [Wed, 2 Aug 2017 15:07:43 +0000 (17:07 +0200)]
Add scalar type aliases for int8, uint8, ..., f32, f64 (#4400)
* Add type aliases
* Add generated code
* Rebase master
Kevin Rose [Tue, 1 Aug 2017 15:34:00 +0000 (10:34 -0500)]
[Python] (scalar) vector reading speedup via numpy (#4390)
* Add numpy accessor to python flatbuffers scalar vectors
* Update python tests to test numpy vector accessor
* Update appveyor CI to run Python tests, save generated code as artifact
* Update example generated python code
* Add numpy info to python usage docs
* Update test schema and python tests w/ multi-byte vector
* did not mean to push profiling code
* adding float64 numpy tests
Christian Helmich [Fri, 28 Jul 2017 17:27:51 +0000 (02:27 +0900)]
Added support for nested flatbuffers serializing to json (#4391)
* added bool for nested_flatbuffer
setting bool flag nested_flatbuffer according to attributes
setting nested type
* added JSON serialization for nested flatbuffers
* simplified lookup of nested_flatbuffer StructDef
* added nested_flatbuffer parsing workound relying on flexbuffers
* moved nested flatbuffer parsing into its own function for clarity
removed flexbuffers workound to simplify and speed up nested_flatbuffer parsing
added support for 'legacy' nested_flatbuffers, ubyte arrays
* inlined functions for nested parser init/clean since only used once
* whitespace formatting
* changed type of FieldDef.nested_flatbuffer from bool to StructDef*
removed subsequent type lookups
* removed copies of unrequired data when initializing nested parser
* applied changes requested by reviewer
* removed superfluous lookup of nested_flatbuffer field attributes
* renamed camelCased variables to snake_case
Manuel Kroiss [Thu, 27 Jul 2017 16:06:02 +0000 (17:06 +0100)]
Adding accessors for IsBlob and Blob.data (#4398)
Stewart Miles [Mon, 24 Jul 2017 22:35:16 +0000 (15:35 -0700)]
Merge pull request #4395 from stewartmiles/master
Test case for CreateVectorOfStructs() using a callback.
Stewart Miles [Mon, 24 Jul 2017 21:11:59 +0000 (14:11 -0700)]
Test case for CreateVectorOfStructs() using a callback.
Fixes issue #4392, also fixed C++98 compatible code generation in tests.
Change-Id: Ia5833026e615ad19d24a0439bdba2e3b45c5f86c
Christian Helmich [Mon, 24 Jul 2017 16:33:40 +0000 (01:33 +0900)]
forwarding IDLOptions.strict_json to flexbuffers .ToString() (#4394)
Stewart Miles [Thu, 20 Jul 2017 19:24:38 +0000 (12:24 -0700)]
Merge pull request #4383 from stewartmiles/master
C++98 (stlport) support for core FlatBuffers and FlexBuffers.
Stewart Miles [Thu, 13 Jul 2017 13:27:39 +0000 (06:27 -0700)]
C++98 (stlport) support for core FlatBuffers and FlexBuffers.
* Added internal - limited - implementation of flatbuffers::unique_ptr
for STLs that don't ship with std::unique_ptr. In C++11 and beyond
this is just an alias for std::unique_ptr.
* Aliased used type traits structs is_scalar is_floating_point is_unsigned
into flatbuffers namespace so they can be replaced in C++98 implementations.
Right now these point at stlport's TR1 implementations.
* Wrapped vector::data() in vector_data().
* Wrapped vector::emplace_back() in vector_emplace_back().
* Wrapper string::back() in string_back().
* Added variants of FlatBufferBuilder::CreateVector() and
FlatBufferBuilder::CreateVectorOfStructs() that allow the use of plain
function pointers.
Generated code has also been modified to use plain functions to build objects
rather than std::function() so all generated code will work in C++98
applications.
* Added flexbuffers::Builder::Vector(), flexbuffers::Builder::TypedVector()
and flexbuffers::Builder::Map() methods that allow the use of plain function
pointers.
* Changed Parser to internally use plain function pointers when parsing table
and vector delimiters.
* Added specializations of NumToString() for 64-bit types that aren't supported
by stringstream in stlport.
* Overloaded numeric_limits for 64-bit types not supported by stlport.
* Replaced build_apk.sh (which was broken by deprecation of the
"android" tool in the Android SDK) with build.gradle and the
appropriate gradle wrapper to build an APK.
* Switched Android build to build against all STL variants.
* Updated travis configuration to build Android test and sample.
Tested:
* Verified all tests continue to work on Linux, OSX and Android.
* Verified Travis build is green.
Change-Id: I9e634363793f85b9f141d21454b10686020a2065
schoetbi [Wed, 19 Jul 2017 15:58:48 +0000 (17:58 +0200)]
idl_parser.cpp ignores $schema in input json (#4382)
* idl_parser.cpp ignores $schema in input json
#4381
* idl_parser.cpp: Fixed ci error signed unsigned comparison
* idl_parser.cpp: replaced case insensitive search for $schema with case sensitive search
* idl_parser.cpp: Expecting a string constant after $schema
#4382
Alex Wasserman [Thu, 13 Jul 2017 15:33:32 +0000 (10:33 -0500)]
Java: Added ByteBufferFactory interface and sizedInputStream method. (#4379)
The ByteBufferFactory interface gives the user an option to specify
the method in which the internal ByteBuffer is allocated. This provides
flexibility in the type of ByteBuffer that can be used.
The sizedInputStream method is an alternative to sizedByteArray that
does not make a copy of the data in memory.
schoetbi [Mon, 10 Jul 2017 15:05:59 +0000 (17:05 +0200)]
Json schema (#4369)
* Added empty generator for json schema (idl_gen_json_schema.cpp)
#4360
* JsonSchemaGenerator: output of tables implemented
current problems:
- typenames are not correct
- array types need to be deduced
#4360
* JsonSchemaGenerator: Corrected generation of typenames
Current problems: enum types not written correctly
#4360
* JsonSchemaGenerator: Added generation of enum types
#4360
* idl_gen_json_schema.cpp: Write required properties to schema
#4360
* idl_gen_json_schema.cpp: Export Types including namespace
#4360
* idl_gen_json_schema.cpp: Fixed Json format
#4360
* idl_gen_json_schema.cpp: Formatted according to google code style
#4360
* Checked in monster_test.bfbs with changes from master
* Added idl_gen_json_schema.cpp in CMakeLists.txt
* generate_code.bat: Added generation of json schema
* Added todo.md
* generate_code.sh: Added generation of json schema
* Addressed some review issues
- removed command line arg -S
- removed new lines
- fixed codestyle in template functions
- removed usage of stringstream
- idented json schema
#4360
* removed auto in idl_gen_json_schema.cpp
* idl_gen_json_schema.cpp: changed iterator declarations to auto
#4360
* deleted todo.md
* idl_gen_json_schema.cpp: Removed keyword "override" so that vs2010 can compile
* idl_gen_json_schema.cpp: switch statement in GenType handeles all enum-members
* idl_gen_json_schema.cpp: Removed cerr output
* idl_gen_json_schema.cpp: Avoid vector copying
* idl_gen_json_schema.cpp: Fixed identation of json schema output
* idl_gen_json_schema.cpp: Do not output empty descriptions
Robbie McElrath [Mon, 26 Jun 2017 16:07:02 +0000 (09:07 -0700)]
Make inter-file cycles compile (#4364)
Andrei Stoica [Wed, 21 Jun 2017 15:26:37 +0000 (17:26 +0200)]
Make flatbuffers work with ArduinoSTL (#4357) (#4361)
*Keep legacy compatibility with StandardCplusplus lib (utility.h)
Wouter van Oortmerssen [Tue, 20 Jun 2017 16:40:10 +0000 (09:40 -0700)]
Avoiding wrong template specialization on new CreateVector
Change-Id: I0da57cc71318ea13c10b547e2dfe3a2d4f32b4d9
Tested: on OS X.
Wouter van Oortmerssen [Fri, 16 Jun 2017 23:15:02 +0000 (16:15 -0700)]
Updated version numbers to 1.7.0
Change-Id: If2802ca48b61cfa7e5ec131e2a268400523217e2
Christopher Berner [Fri, 16 Jun 2017 22:29:47 +0000 (15:29 -0700)]
Optimize CreateVector for types > 1 byte on little endian (#4355)
This gives a 10x speed up in my test, when creating a Vector of floats
Wouter van Oortmerssen [Fri, 16 Jun 2017 22:04:42 +0000 (15:04 -0700)]
Added move assignment operator to DetachedBuffer.
Change-Id: I4610946ac27d9d0d73c2fc2e4834bd2cfed88cdc
Tested: on Linux.
Wouter van Oortmerssen [Fri, 16 Jun 2017 19:30:36 +0000 (12:30 -0700)]
Adding a method to get the file identifier from a flatbuffer.
Change-Id: Ie28fd1f0b463aac23647d38921600f15c8b7c10a
Wouter van Oortmerssen [Fri, 16 Jun 2017 18:57:58 +0000 (11:57 -0700)]
Initial support for parsing (and generating) Protobuf ASCII.
Change-Id: I955b4b3eed27f26773d7dc0acceff13c88d1333d
Tested: on Linux.
Wouter van Oortmerssen [Fri, 16 Jun 2017 03:54:04 +0000 (20:54 -0700)]
Added convenient schema registry.
Change-Id: I9d71375059369fbc538d0d051d8d2885e467bf29
Tested: on Mac OS X.
Wouter van Oortmerssen [Fri, 16 Jun 2017 16:52:59 +0000 (09:52 -0700)]
Fixed missing lambda return type.
Change-Id: I48d41a240c8bf362b1f931f20a3ed9ae64f2d295
Stephen Lane-Walsh [Fri, 16 Jun 2017 16:53:53 +0000 (12:53 -0400)]
Fixed build error in Visual Studio 2017 (#4353)
flatbuffers.h(591): error C2220: warning treated as error - no 'object' file generated
flatbuffers.h(591): warning C4267: 'return': conversion from 'size_t' to 'flatbuffers::uoffset_t', possible loss of data
Lawrence Chan [Tue, 13 Jun 2017 15:50:27 +0000 (10:50 -0500)]
gRPC: fix memory leak (#4351)
SerializationTraits<T>::Deserialize _transfers_ ownership of the buffer,
so we must destroy it.
This commit also includes some misc fixes:
- Use grpc::Status::OK rather than default ctor for clarity.
- Check for a null buffer passed into Deserialize, and handle it the
same way as the protobuf deserializer.