fix doc example typo
[boost.git] / boost / intrusive / detail / pointer_to_other.hpp
blob36a192e2cc555396508853cf4119bab5eb2317d9
1 /////////////////////////////////////////////////////////////////////////////
2 //
3 // (C) Copyright Ion Gaztanaga 2006. Distributed under the Boost
4 // Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // See http://www.boost.org/libs/intrusive for documentation.
8 //
9 /////////////////////////////////////////////////////////////////////////////
11 #ifndef BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP
12 #define BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP
14 #include <boost/intrusive/detail/config_begin.hpp>
15 #include <boost/version.hpp>
17 #if (BOOST_VERSION < 103400)
19 #ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
20 #define BOOST_POINTER_TO_OTHER_HPP_INCLUDED
22 namespace boost {
24 template<class T, class U>
25 struct pointer_to_other;
27 template<class T, class U, template <class> class Sp>
28 struct pointer_to_other< Sp<T>, U >
30 typedef Sp<U> type;
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 >
50 typedef U* type;
53 } // namespace boost
55 #endif
57 #else
59 #include <boost/pointer_to_other.hpp>
61 #endif //#ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
63 #include <boost/intrusive/detail/config_end.hpp>
65 #endif //#ifndef BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP