1. 20 Jul, 2017 1 commit
    • Stewart Miles's avatar
      C++98 (stlport) support for core FlatBuffers and FlexBuffers. · a8923222
      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
      a8923222
  2. 19 Jul, 2017 1 commit
    • schoetbi's avatar
      idl_parser.cpp ignores $schema in input json (#4382) · 2e2063cb
      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
      2e2063cb
  3. 13 Jul, 2017 1 commit
  4. 10 Jul, 2017 1 commit
    • schoetbi's avatar
      Json schema (#4369) · f2020418
      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
      f2020418
  5. 26 Jun, 2017 1 commit
  6. 21 Jun, 2017 1 commit
  7. 20 Jun, 2017 1 commit
  8. 16 Jun, 2017 8 commits
  9. 13 Jun, 2017 1 commit
    • Lawrence Chan's avatar
      gRPC: fix memory leak (#4351) · 90c8ded4
      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.
      90c8ded4
  10. 12 Jun, 2017 3 commits
  11. 07 Jun, 2017 4 commits
    • Guillaume Giraud's avatar
      [cpp] Json parsing: adding support for parsing nested lists and top level lists (#4338) · b1740688
      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.
      b1740688
    • Stephan T. Lavavej's avatar
      [C++] Remove std::iterator usage (#4340) (#4341) · 86b505e4
      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.
      86b505e4
    • Lawrence Chan's avatar
      [C++] Improve flatbuffers + gRPC integration (#4310) · da67c0a7
      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
      da67c0a7
    • rufeooo's avatar
      Generate a C++ function for EnumValues{{ENUM_NAME}} (#4337) · dadd1a92
      rufeooo authored
      * enables "for each" logic on enumeration types
      dadd1a92
  12. 05 Jun, 2017 1 commit
  13. 02 Jun, 2017 4 commits
  14. 24 May, 2017 2 commits
    • Wouter van Oortmerssen's avatar
      Fixed --keep-prefix functionality. · 22743ca4
      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
      22743ca4
    • Lawrence Chan's avatar
      [C++] Improve Allocator handling (#4312) · fb87c0d3
      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
      fb87c0d3
  15. 22 May, 2017 1 commit
  16. 19 May, 2017 1 commit
    • Wouter van Oortmerssen's avatar
      Standardized internal path handling on Posix separators. · aaf5598a
      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.
      aaf5598a
  17. 18 May, 2017 2 commits
    • Kamil Rojewski's avatar
      Fix for invalid null returns (#4318) · 3d2cf554
      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
      3d2cf554
    • sfariv's avatar
      added check for presence of required fields. (flatc) c++ (#4316) · 55dec4d2
      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.
      55dec4d2
  18. 16 May, 2017 1 commit
    • schoetbi's avatar
      C#: Added <autogenerated> in cs generator file header comment (#4291) · 0f5f7faa
      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
      0f5f7faa
  19. 15 May, 2017 2 commits
  20. 12 May, 2017 3 commits