|
10 | 10 | # include <boost/type_traits/transform_traits.hpp> |
11 | 11 | # include <boost/type_traits/cv_traits.hpp> |
12 | 12 | # include <boost/detail/workaround.hpp> |
13 | | -# include <boost/type.hpp> |
14 | 13 |
|
15 | 14 | namespace boost { |
16 | 15 |
|
@@ -59,49 +58,34 @@ struct registered<T&> |
59 | 58 | namespace detail |
60 | 59 | { |
61 | 60 | inline void |
62 | | - register_shared_ptr(...) |
| 61 | + register_shared_ptr0(...) |
63 | 62 | { |
64 | 63 | } |
65 | 64 |
|
66 | 65 | template <class T> |
67 | 66 | inline void |
68 | | - register_shared_ptr(type<shared_ptr<T> >) |
| 67 | + register_shared_ptr0(shared_ptr<T>*) |
69 | 68 | { |
70 | 69 | registry::lookup_shared_ptr(type_id<shared_ptr<T> >()); |
71 | 70 | } |
72 | 71 |
|
73 | 72 | template <class T> |
74 | 73 | inline void |
75 | | - register_shared_ptr(type<shared_ptr<T> const>) |
| 74 | + register_shared_ptr1(T const volatile*) |
76 | 75 | { |
77 | | - detail::register_shared_ptr(type<shared_ptr<T> >()); |
78 | | - } |
79 | | - |
80 | | - template <class T> |
81 | | - inline void |
82 | | - register_shared_ptr(type<shared_ptr<T> volatile>) |
83 | | - { |
84 | | - detail::register_shared_ptr(type<shared_ptr<T> >()); |
85 | | - } |
86 | | - |
87 | | - template <class T> |
88 | | - inline void |
89 | | - register_shared_ptr(type<shared_ptr<T> const volatile>) |
90 | | - { |
91 | | - detail::register_shared_ptr(type<shared_ptr<T> >()); |
| 76 | + detail::register_shared_ptr0((T*)0); |
92 | 77 | } |
93 | 78 |
|
94 | 79 | template <class T> |
95 | 80 | registration const& |
96 | | - registry_lookup(type<T&>) |
| 81 | + registry_lookup(T&(*)()) |
97 | 82 | { |
98 | | - detail::register_shared_ptr(type<T>()); |
| 83 | + detail::register_shared_ptr1((T*)0); |
99 | 84 | return registry::lookup(type_id<T>()); |
100 | 85 | } |
101 | | - |
| 86 | + |
102 | 87 | template <class T> |
103 | | - registration const& registered_base<T>::converters |
104 | | - = detail::registry_lookup(type<T>()); |
| 88 | + registration const& registered_base<T>::converters = detail::registry_lookup((T(*)())0); |
105 | 89 | } |
106 | 90 |
|
107 | 91 | }}} // namespace boost::python::converter |
|
0 commit comments