Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-08-14 13:57:35


Jeff Mirwaisi <jeff_mirwaisi_at_[hidden]> writes:

> Currently (afaict) there isnt a specialization of remove_pointer that
> handles smart pointers.
>
> Providing a very generic specialization:
>
> template <typename T, template<typename> class Ptr> struct
> remove_pointer<Ptr<T> >;
>
> or a set of specializations that cover shared_ptr etc + auto_ptr
> explicitly, "seems" like a rational extension.
>
> Are there any potential problems, and if not can we get this added to
> type traits?

That could break reams of code, and I would try very hard to stop it
from happening. The type traits operate on _fundamental_ type
properties as given by the C++ type system. A smart pointer type is not a
pointer type; it is a class.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk