Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2005-01-05 14:40:21

Ion Gaztañaga wrote:


> My question is, do you find this mechanism useful to include it in
> boost in a general way, and if so, is there another way of doing this
> without
> modifying existing classes (for example, if I want use these
> mechanism with shared_ptr)?

template< class P, class V > struct pointer_to_other;

template< template<class> class P, class U, class V >
struct pointer_to_other< P<U>, V >
    typedef P<V> type;

#include <boost/shared_ptr.hpp>
#include <typeinfo>
#include <iostream>

int main()
    typedef pointer_to_other< boost::shared_ptr<int>, double >::type
    std::cout << typeid(pointer).name() << std::endl;

On compilers that can't handle the above, just add partial specializations
for "well known" pointer types (auto_ptr, shared_ptr).

Boost list run by bdawes at, gregod at, cpdaniel at, john at