| Home | Libraries | People | FAQ | More

## Function template runtime_pointer_cast

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.

## Synopsis

    // 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);

## Description

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: |

`T` | The desired target type to return a pointer of.
`U` | A complete class type of the source instance pointed to from u.

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>();