@@ -89,8 +89,7 using default_copier_t = typename default_copier<T>::type; | |||
|
89 | 89 | |
|
90 | 90 | template <class T, class D, class C> |
|
91 | 91 | struct is_default_manageable |
|
92 | : public std::integral_constant<bool, | |
|
93 | std::is_same<D, default_deleter_t<T> >::value | |
|
92 | : public std::integral_constant<bool, std::is_same<D, default_deleter_t<T> >::value | |
|
94 | 93 | && std::is_same<C, default_copier_t<T> >::value> { |
|
95 | 94 | }; |
|
96 | 95 | } |
@@ -132,8 +131,7 public: | |||
|
132 | 131 | } |
|
133 | 132 | |
|
134 | 133 | template <class U> |
|
135 | impl_ptr(U *u, | |
|
136 | typename std::enable_if<std::is_convertible<U *, pointer>::value | |
|
134 | impl_ptr(U *u, typename std::enable_if<std::is_convertible<U *, pointer>::value | |
|
137 | 135 | && is_default_manageable::value, |
|
138 | 136 | dummy_t_>::type |
|
139 | 137 | = dummy_t_()) SPIMPL_NOEXCEPT |
@@ -153,11 +151,11 public: | |||
|
153 | 151 | |
|
154 | 152 | #ifdef SPIMPL_HAS_AUTO_PTR |
|
155 | 153 | template <class U> |
|
156 | impl_ptr(std::auto_ptr<U> &&u, | |
|
157 | typename std::enable_if<std::is_convertible<U *, pointer>::value | |
|
154 | impl_ptr(std::auto_ptr<U> &&u, typename std::enable_if<std::is_convertible<U *, pointer>::value | |
|
158 | 155 | && is_default_manageable::value, |
|
159 | 156 | dummy_t_>::type |
|
160 | = dummy_t_()) SPIMPL_NOEXCEPT : ptr_(u.release(), &details::default_delete<T>), | |
|
157 | = dummy_t_()) SPIMPL_NOEXCEPT | |
|
158 | : ptr_(u.release(), &details::default_delete<T>), | |
|
161 | 159 |
|
|
162 | 160 | { |
|
163 | 161 | } |
@@ -240,9 +238,8 public: | |||
|
240 | 238 | |
|
241 | 239 | #ifdef SPIMPL_HAS_AUTO_PTR |
|
242 | 240 | template <class U> |
|
243 | typename std::enable_if<std::is_convertible<U *, pointer>::value | |
|
244 | && is_default_manageable::value, | |
|
245 | impl_ptr &>::type | |
|
241 | typename std::enable_if< | |
|
242 | std::is_convertible<U *, pointer>::value && is_default_manageable::value, impl_ptr &>::type | |
|
246 | 243 | operator=(std::auto_ptr<U> &&u) SPIMPL_NOEXCEPT |
|
247 | 244 | { |
|
248 | 245 | return operator=(impl_ptr(std::move(u))); |
@@ -250,9 +247,8 public: | |||
|
250 | 247 | #endif |
|
251 | 248 | |
|
252 | 249 | template <class U> |
|
253 | typename std::enable_if<std::is_convertible<U *, pointer>::value | |
|
254 | && is_default_manageable::value, | |
|
255 | impl_ptr &>::type | |
|
250 | typename std::enable_if< | |
|
251 | std::is_convertible<U *, pointer>::value && is_default_manageable::value, impl_ptr &>::type | |
|
256 | 252 | operator=(std::unique_ptr<U> &&u) SPIMPL_NOEXCEPT |
|
257 | 253 | { |
|
258 | 254 | return operator=(impl_ptr(std::move(u))); |
General Comments 0
You need to be logged in to leave comments.
Login now