• 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