30 Jun
2004
30 Jun
'04
12:23 a.m.
"Delfin Rojas" <drojas@moodlogic.com> writes:
Hi everybody,
I am writing a template class that processes several types. However my problem is that when the type of the template is boost::shared_ptr<P> (and only in that case) I need to do a boost::dynamic_pointer_cast<P> inside a method.
So, I searched boost::type_traits library but could not find anything to detect a shared_ptr type at compile time. I would appreciate any ideas of how this could be implemented.
#include <boost/mpl/bool.hpp> #include <boost/shared_ptr.hpp> template <class T> struct is_shared_ptr : mpl::false_ {}; template <class T> struct is_shared_ptr<shared_ptr<T> > : mpl::true_ {}; -- Dave Abrahams Boost Consulting http://www.boost-consulting.com