Fix Example SConstruct files to search for senfutil.py in system directory
[senf.git] / senf / boost_intrusive / detail / pointer_to_other.hpp
1 /////////////////////////////////////////////////////////////////////////////\r
2 //\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
6 //\r
7 // See http://www.boost.org/libs/intrusive for documentation.\r
8 //\r
9 /////////////////////////////////////////////////////////////////////////////\r
10 \r
11 #ifndef BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP\r
12 #define BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP\r
13 \r
14 #include "config_begin.hpp"\r
15 #include <boost/version.hpp>\r
16 \r
17 #if (BOOST_VERSION < 103400)
18
19 #ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED\r
20 #define BOOST_POINTER_TO_OTHER_HPP_INCLUDED\r
21
22 namespace boost {\r
23 \r
24 template<class T, class U>\r
25    struct pointer_to_other;\r
26 \r
27 template<class T, class U, template <class> class Sp>\r
28    struct pointer_to_other< Sp<T>, U >\r
29 {\r
30    typedef Sp<U> type;\r
31 };\r
32 \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
36 {\r
37    typedef Sp<U, T2> type;\r
38 };\r
39 \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
43 {\r
44    typedef Sp<U, T2, T3> type;\r
45 };\r
46 \r
47 template<class T, class U>\r
48 struct pointer_to_other< T*, U > \r
49 {\r
50    typedef U* type;\r
51 };\r
52 \r
53 } // namespace boost\r
54 \r
55 #endif\r
56 \r
57 #else\r
58 \r
59 #include <boost/pointer_to_other.hpp>\r
60 \r
61 #endif   //#ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED\r
62 \r
63 #include "config_end.hpp"\r
64 \r
65 #endif   //#ifndef BOOST_INTRUSIVE_POINTER_TO_OTHER_HPP\r