1 #ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
2 #define BOOST_POINTER_TO_OTHER_HPP_INCLUDED
5 // pointer_to_other.hpp
7 // (C) Copyright Ion Gaztanaga 2005.
8 // Copyright (c) 2005 Peter Dimov.
10 // Distributed under the Boost Software License, Version 1.0.
12 // (See accompanying file LICENSE_1_0.txt or copy at
13 // http://www.boost.org/LICENSE_1_0.txt)
15 // See http://www.boost.org/libs/smart_ptr/pointer_to_other.html
21 // Defines the same pointer type (raw or smart) to another pointee type
23 template<class T
, class U
>
24 struct pointer_to_other
;
26 template<class T
, class U
,
27 template<class> class Sp
>
28 struct pointer_to_other
< Sp
<T
>, U
>
33 template<class T
, class T2
, class U
,
34 template<class, class> class Sp
>
35 struct pointer_to_other
< Sp
<T
, T2
>, U
>
37 typedef Sp
<U
, T2
> type
;
40 template<class T
, class T2
, class T3
, class U
,
41 template<class, class, class> class Sp
>
42 struct pointer_to_other
< Sp
<T
, T2
, T3
>, U
>
44 typedef Sp
<U
, T2
, T3
> type
;
47 template<class T
, class U
>
48 struct pointer_to_other
< T
*, U
>
55 #endif // #ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED