Нет в стандартной библиотеке, но, безусловно, можно реализовать ее самостоятельно:
namespace detail_base_type_cast {
template <class In, class Out>
struct copy_cv {
using type = Out;
};
template <class In, class Out>
struct copy_cv<In const, Out &> {
using type = Out const &;
};
template <class In, class Out>
struct copy_cv<In volatile, Out &> {
using type = Out volatile &;
};
template <class In, class Out>
struct copy_cv<In const volatile, Out &> {
using type = Out const volatile &;
};
}
template <class Out, class In>
typename detail_base_type_cast<In, Out>::type
base_type_cast(In &obj) {
return obj; // Implicit derived-to-base conversion
}