| Home | Libraries | People | FAQ | More

## Function template runtime_cast

boost::typeindex::runtime_cast — Safely converts references to classes up, down, and sideways along the inheritance hierarchy.

## Synopsis

    // In header: <boost/type_index/runtime_cast/reference_cast.hpp>

    template<typename T, typename U>
      boost::add_reference< const T >::type runtime_cast(U const & u);

## Description

Template Parameters:

`T` | The desired target type. Like dynamic_cast, must be a pointer to complete class type.
`U` | A complete class type of the source instance, u.

Returns: | If there exists a valid conversion from U const& to T const, returns a T const that references an address suitably offset from u. If no such conversion exists, throws boost::typeindex::bad_runtime_cast.