Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2004-06-29 19:23:07


"Delfin Rojas" <drojas_at_[hidden]> 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

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net