1 /////////////////////////////////////////////////////////////////////////////
\r
3 // (C) Copyright Ion GaztaƱaga 2006. Distributed under the Boost
\r
4 // Software License, Version 1.0. (See accompanying file
\r
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
\r
7 // See http://www.boost.org/libs/intrusive for documentation.
\r
9 /////////////////////////////////////////////////////////////////////////////
\r
11 #ifndef BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP
\r
12 #define BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP
\r
14 #include <boost/intrusive/detail/config_begin.hpp>
\r
15 #include <boost/version.hpp>
\r
17 #if (BOOST_VERSION < 103400)
19 #ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
\r
20 #define BOOST_POINTER_TO_OTHER_HPP_INCLUDED
\r
24 template<class T, class U>
\r
25 struct pointer_to_other;
\r
27 template<class T, class U, template <class> class Sp>
\r
28 struct pointer_to_other< Sp<T>, U >
\r
33 template<class T, class T2, class U,
\r
34 template <class, class> class Sp>
\r
35 struct pointer_to_other< Sp<T, T2>, U >
\r
37 typedef Sp<U, T2> type;
\r
40 template<class T, class T2, class T3, class U,
\r
41 template <class, class, class> class Sp>
\r
42 struct pointer_to_other< Sp<T, T2, T3>, U >
\r
44 typedef Sp<U, T2, T3> type;
\r
47 template<class T, class U>
\r
48 struct pointer_to_other< T*, U >
\r
53 } // namespace boost
\r
59 #include <boost/pointer_to_other.hpp>
\r
61 #endif //#ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
\r
63 #include <boost/intrusive/detail/config_end.hpp>
\r
65 #endif //#ifndef BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP
\r