Skip to content
  • Liam Staskawicz's avatar
    plugins: use std::dynamic_pointer_cast rather than boost · 2ce086fc
    Liam Staskawicz authored
    prevents compilation failures like:
    
    ```
    /Users/liam/code/3dr/px4upstream/Firmware/Tools/sitl_gazebo/src/gazebo_opticalFlow_plugin.cpp:59:5: error: no matching function for call to 'dynamic_pointer_cast'
        boost::dynamic_pointer_cast<sensors::CameraSensor>(_sensor);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/local/include/boost/smart_ptr/shared_ptr.hpp:848:42: note: candidate template ignored: could not match 'boost::shared_ptr' against 'std::__1::shared_ptr'
    template<class T, class U> shared_ptr<T> dynamic_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
                                             ^
    ```
    
    which suggests boost::shared_ptr cannot be converted to std::shared_ptr
    
    Compiler is
    
    ```
    liam@drungus sitl_gazebo (master *)$ c++ --version
    Apple LLVM version 7.0.2 (clang-700.1.81)
    Target: x86_64-apple-darwin15.3.0
    Thread model: posix
    ```
    
    and boost version is 1.59.0
    2ce086fc