- 20 Jul, 2017 2 commits
-
-
Stewart Miles authored
C++98 (stlport) support for core FlatBuffers and FlexBuffers.
-
Stewart Miles authored
* 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
-
- 19 Jul, 2017 1 commit
-
-
schoetbi authored
* 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
-
- 13 Jul, 2017 1 commit
-
-
Alex Wasserman authored
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.
-
- 10 Jul, 2017 1 commit
-
-
schoetbi authored
* 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
-
- 26 Jun, 2017 1 commit
-
-
Robbie McElrath authored
-
- 21 Jun, 2017 1 commit
-
-
Andrei Stoica authored
*Keep legacy compatibility with StandardCplusplus lib (utility.h)
-
- 20 Jun, 2017 1 commit
-
-
Wouter van Oortmerssen authored
Change-Id: I0da57cc71318ea13c10b547e2dfe3a2d4f32b4d9 Tested: on OS X.
-
- 16 Jun, 2017 8 commits
-
-
Wouter van Oortmerssen authored
Change-Id: If2802ca48b61cfa7e5ec131e2a268400523217e2
-
Christopher Berner authored
This gives a 10x speed up in my test, when creating a Vector of floats
-
Wouter van Oortmerssen authored
Change-Id: I4610946ac27d9d0d73c2fc2e4834bd2cfed88cdc Tested: on Linux.
-
Wouter van Oortmerssen authored
Change-Id: Ie28fd1f0b463aac23647d38921600f15c8b7c10a
-
Wouter van Oortmerssen authored
Change-Id: I955b4b3eed27f26773d7dc0acceff13c88d1333d Tested: on Linux.
-
Wouter van Oortmerssen authored
Change-Id: I9d71375059369fbc538d0d051d8d2885e467bf29 Tested: on Mac OS X.
-
Wouter van Oortmerssen authored
Change-Id: I48d41a240c8bf362b1f931f20a3ed9ae64f2d295
-
Stephen Lane-Walsh authored
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
-
- 13 Jun, 2017 1 commit
-
-
Lawrence Chan authored
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.
-
- 12 Jun, 2017 3 commits
-
-
Wouter van Oortmerssen authored
FlexBuffer parser is just 40 lines of code (on top of existing parser!). Change-Id: Idebebadafb661ca5333f5621139031f6df3c3e1a Tested: on Linux.
-
Wouter van Oortmerssen authored
Change-Id: I918b66eb5646d035e3aae675f745802eb54b03ea
-
Christopher Berner authored
-
- 07 Jun, 2017 4 commits
-
-
Guillaume Giraud authored
* Extended json parsing capability: add support for parsing nested lists and top level lists * Stylistic conformance with surrounding code + generalized comments * More code tidy-up for stylistic conformance with surrounding code * Blank lines * Reverted changes related to top-level list parsing * Styling: newline before else * Taking out ProcessTableFields which is no longer needed as the top level list change was reverted.
-
Stephan T. Lavavej authored
* [C++] Remove std::iterator usage (#4340) Inheriting from std::iterator has never been required, and it's deprecated in C++17. It can be replaced by directly providing typedefs. Include <iterator> for std::random_access_iterator_tag. Note that structs default to public access control. * [C++] Change whitespace style in typedefs.
-
Lawrence Chan authored
* Rework flatbuffers + gRPC integration - Introduce `flatbuffers::grpc::Message<T>`, a `grpc_slice`-backed message buffer that handles refcounting and allows flatbuffers to transfer ownership to gRPC efficiently. This replaces `flatbuffers::BufferRef<T>`, which required a copy call and was also unsafe w.r.t. buffer lifetime. - Introduce `flatbuffers::grpc::MessageBuilder`, a gRPC-specific builder that forces a `grpc_slice`-backed allocator and also adds some helpful `Message<T>`-related methods. - Update serializers accordingly (now zero-copy between flatbuffers and gRPC). * gRPC: verify messages by default, but allow user to override * gRPC: fix some formatting issues * Disable verification by default, but add helper method * Make FlatBufferBuilder fields protected + remove vec accessor * Use bool add_ref parameter to toggle refcount incr * Remove unnecessary inline specifiers * Fix formatting * Use auto * Remove empty lines * Use grpc_slice helper macros * Simplify reset code * Disable Message copy ctor and assignment by default * Remove unused member * Enable gRPC verification by default * Use auto * Bake in message verification (remove template specialization) * Add RoundUp func * Consolidate gRPC message copy flag * Make vector_downward allocations fully lazy * Test message verification failure code/message * Add grpctest verification test comments * Simplify reallocate implementation * Make initial_size a size_t * Use ternary op for growth_policy * Use truthiness rather than dont explicit nullptr check * Indent preprocessor directives * Remove grpc message copy/assignment * Fix a few bugs * Add gRPC example * Add basic gRPC docs * Use doxygen EXAMPLE_PATH + @include * Reference example fbs in grpc docs * Move gRPC examples into grpc/samples * Fix pointer/reference formatting * Use std::function rather than templated callback func * Create fresh message builder for each request * Use Clear() in Reset() impl * Use FLATBUFFERS_CONSTEXPR
-
rufeooo authored
* enables "for each" logic on enumeration types
-
- 05 Jun, 2017 1 commit
-
-
vabr-g authored
* Remove std::move around a raw pointer Calling std::move on a raw pointer has no advantage to just copying its value. Moreover, it is confusing, because it indicates that the argument is movable in some non-trivial way (e.g., is it actually meant to be a smart pointer?). More context in https://crbug.com/729393. * Remove the move constructor altogether
-
- 02 Jun, 2017 4 commits
-
-
Wouter van Oortmerssen authored
Change-Id: I4b5d822cc4eda975949d1b7cf33674c5bbf9d4b1 Tested: on Linux.
-
Wouter van Oortmerssen authored
Also fixed that the parsing test wasn't calling the buffer testing function. Change-Id: I5baae071bf0832c7797b4ef1d19d9b015e3ff5bc Tested: on Linux.
-
AntonYudintsev authored
FlexBuffers are actually completely unrelated to FlatBuffers and can be used separately. However, since they utilize several utility functions from flatbuffer.h, they require this header file, which creates unreasonable dependency. By moving those utility functions to separate base header, both libraries can use same code but still be independent
-
Pavel Kalinnikov authored
* Track included files in PATH-agnostic way. Use full paths as keys in the map of included files. Store logical include path as a value, in order to put it to the generated file. * Fix tests by accepting null |include_filename|. * Fix self-includes code generators.
-
- 24 May, 2017 2 commits
-
-
Wouter van Oortmerssen authored
Changing to keep include prefixes had two side effects: the main file being parsed wasn't filtered out anymore, and include directory paths would be added to the path in the include statement. Also moved the include_test*.fbs files to sub directories so we can actually test the handling of -I etc. tested: on Linux. Change-Id: Ibae095cea7ab0cccbac15cfb5171719f6b5cad8c
-
Lawrence Chan authored
* Improve Allocator handling - Templatize Allocator on vector_downward, and make it own the allocator instance so it can manage lifetimes. - Templatize + rename FlatBufferBuilderT accordingly, and add a typedef to FlatBufferBuilder so old code continues to work. - Fix some issues with the release deleter - More details in github issue #4311 * Fix constexpr for older MSVC * Reimplement allocator improvements via inheritance Instead of templates, use an abstract base class and some unique_ptrs to implement the new and improved allocator. * Fix misplaced newline * Add missing override keyword * Add macro for func delete to support older compilers * Explicitly move BufferDeleter (maybe fixes VS 10?) * Revert previous attempt at VS10 fix * Try yet another workaround for MS 10 * Use FLATBUFFERS_NOEXCEPT macro * Add FLATBUFFERS_OVERRIDE macro * Fix some issues with MSVC 16 hack * Remove dep on unique_ptr * Update DEPRECATED macro with a message * Sigh, no delegating ctors before c++11 * Fix simple_allocator stub * Relax FlatBufferBuilder ctor * Add vector_downward reset + assert in clear * Rename DetachedBuffer to FlatBuffer + remove unnecessary deprecations * Add flatbuffers::FlatBufferBuilder::Release() * Address remaining allocator-improvements comments
-
- 22 May, 2017 1 commit
-
-
Wouter van Oortmerssen authored
Change-Id: I7914c88ad7b31baa7586771423069dc2b90d534f Tested: on Linux.
-
- 19 May, 2017 1 commit
-
-
Wouter van Oortmerssen authored
There were several possible bugs involving paths not being recognized as being the same on Windows. Rather than trying to ensure all code deals with / and \ correctly, paths now get transformed to / on input, fixing all current and future such bugs. Tested: on OS X.
-
- 18 May, 2017 2 commits
-
-
Kamil Rojewski authored
* 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
-
sfariv authored
* added check for presence of required fields. * updates to resolve Travis CI build error. * fixes for resolving appveyor build errors. * fixes for resolving appveyor build errors. * fixes for resolving appveyor build errors. * updates per aardappel's comments. * updated a variable's name. * updates per aardappel's comments.
-
- 16 May, 2017 1 commit
-
-
schoetbi authored
* Added <autogenerated> in cs generator file header comment #4287 * CS: Added xml-correct file header comment including "<auto-generated>...</auto-generated>" code_generators.cpp: FlatBuffersGeneratedWarning() function replaced by compile time constant "GeneratedWarning" also removed extra newlines at end of GeneratedWarning to be able to generate a xml well formed file comment for cs files #4291 * code_generators: Changed static string GeneratedWarning back to function FlatBuffersGeneratedWarning() #4291 * Added modified Unit-Test files #4291 * idl_gen_general: Add autogenerated only in C# code #4291
-
- 15 May, 2017 2 commits
-
-
Wouter van Oortmerssen authored
Change-Id: I9629a7648f0c3346c4724ca8938fed47d7828018 Tested: on Linux.
-
Wouter van Oortmerssen authored
Since it wasn't documented and very different from a vector of tables, this has caused a lot of confusion in the past. Change-Id: Iab47c61b55c19abe5c4f25c86d71335a6b6321ca
-
- 12 May, 2017 2 commits
-
-
Wouter van Oortmerssen authored
Previously, we had a check to simply skip such files, but this tends to make build systems unhappy. This only affects C++ and JS, since other language output per-class files. Change-Id: I54224642725bbafb9f6e1654ed3693e62ca9f7d7 Tested: on Linux.
-
Lawrence Chan authored
* Fix C++ code gen indentation when empty Print * Also commit modified tests/monster_test.bfbs
-