7 #include <boost/shared_ptr.hpp>
11 template <
typename Derived,
typename Base>
13 const boost::shared_ptr<Base>& b)
16 boost::shared_ptr<Derived> d(boost::dynamic_pointer_cast<Derived>(b));
20 return boost::static_pointer_cast<Derived>(b);
boost::shared_ptr< Derived > polymorphic_pointer_downcast(const boost::shared_ptr< Base > &b)
works like boost::polymorphic_downcast with boost::shared_ptr use when a cast should always work but ...
Definition: polymorphic_pointer_downcast.h:12