boost::intrusive::pointer_rebind<T *, U>
// In header: <boost/intrusive/pointer_rebind.hpp> template<typename T, typename U> struct pointer_rebind<T *, U> { // types typedef U * type; };