...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::typeindex::runtime_pointer_cast — Creates a new instance of std::shared_ptr whose stored pointer is obtained from u's stored pointer using a runtime_cast.
// In header: <boost/type_index/runtime_cast/std_shared_ptr_cast.hpp> template<typename T, typename U> std::shared_ptr< T > runtime_pointer_cast(std::shared_ptr< U > const & u);
The new shared_ptr
will share ownership with u, except that it is empty if the runtime_cast performed by runtime_pointer_cast returns a null pointer.
Template Parameters: |
|
||||
Returns: |
If there exists a valid conversion from U* to T*, returns a std::shared_ptr<T> that points to an address suitably offset from u. If no such conversion exists, returns std::shared_ptr<T>(); |