1. 08 Oct, 2018 3 commits
    • kostya-sh's avatar
    • cor3ntin's avatar
      Add missing const on Reference::As<> (#4975) · 7c3c0272
      cor3ntin authored
      Reference::As<> was needlessly mutable wich made them
      less safe and harder to use
      7c3c0272
    • Stewart Miles's avatar
      Disable armeabi builds for Android and re-enable CI builds. (#4970) · 569492e8
      Stewart Miles authored
      armeabi support was removed from the Android NDK so we should no
      longer build it.  Since this fixes the Android build failures this
      commit also re-enables Travis Android builds.
      
      While re-enabling Android builds, some recent changes broke C++98
      support so this fixes those issues as well which include:
      - Conditionally compiling use of move constructors, operators and
        std::move.
      - Changing sample to use flatbuffers::unique_ptr rather than
        std::unique_ptr.
      
      Finally, added the special "default_ptr_type" value for the
      "cpp_ptr_type" attribute.  This expands to the value passed to
      the "--cpp-ptr-type" argument of flatc.
      569492e8
  2. 04 Oct, 2018 2 commits
  3. 03 Oct, 2018 5 commits
  4. 01 Oct, 2018 3 commits
  5. 29 Sep, 2018 1 commit
    • Matt Mastracci's avatar
      Remove lifetime specifier on table getter methods (#4949) · bf871ffd
      Matt Mastracci authored
      With the old-style code, the test fails with a borrow-checker error:
      
      ```
        #[inline]
        pub fn name(&'a self) -> &'a str {
          self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Monster::VT_NAME, None).unwrap()
        }
      ```
      
      ```
      error[E0597]: `e` does not live long enough
         --> tests/integration_test.rs:273:57
          |
      273 |         let enemy_of_my_enemy = monster.enemy().map(|e| e.name());
          |                                                         ^      - `e` dropped here while still borrowed
          |                                                         |
          |                                                         borrowed value does not live long enough
      274 |         assert_eq!(enemy_of_my_enemy, Some("Fred"));
      275 |     }
          |     - borrowed value needs to live until here
      ```
      bf871ffd
  6. 28 Sep, 2018 1 commit
  7. 27 Sep, 2018 3 commits
  8. 26 Sep, 2018 1 commit
  9. 24 Sep, 2018 2 commits
  10. 21 Sep, 2018 4 commits
  11. 20 Sep, 2018 1 commit
    • Christopher Cifra's avatar
      [C#] Fix compile issue when compiling with older versions of C# (#4938) · ed03faaf
      Christopher Cifra authored
      * C# support for directly reading and writting to memory other than byte[].  For example, ByteBuffer can be initialized with a custom allocator which uses shared memory / memory mapped files.
      
      Public access to the backing buffer uses Span<T> instead of ArraySegment<T>.
      
      Writing to the buffer now supports Span<T> in addition to T[].
      
      To maintain backwards compatibility ENABLE_SPAN_T must be defined.
      
      * Remove usage of expression bodied method so that ByteBuffer can be compiled with older version of C#.
      ed03faaf
  12. 12 Sep, 2018 1 commit
  13. 06 Sep, 2018 2 commits
  14. 05 Sep, 2018 1 commit
  15. 04 Sep, 2018 9 commits
  16. 03 Sep, 2018 1 commit
    • Robert's avatar
      Port FlatBuffers to Rust (#4898) · 3c54fd96
      Robert authored
      This is a port of FlatBuffers to Rust. It provides code generation and a
      runtime library derived from the C++ implementation. It utilizes the
      Rust type system to provide safe and fast traversal of FlatBuffers data.
      
      There are 188 tests, including many fuzz tests of roundtrips for various
      serialization scenarios. Initial benchmarks indicate that the canonical
      example payload can be written in ~700ns, and traversed in ~100ns.
      
      Rustaceans may be interested in the Follow, Push, and SafeSliceAccess
      traits. These traits lift traversals, reads, writes, and slice accesses
      into the type system, providing abstraction with no runtime penalty.
      3c54fd96