1 |
hwoarang 11/01/21 11:54:28 |
2 |
|
3 |
Added: boost-1.45.0-lambda_bind.patch |
4 |
Log: |
5 |
Apply lambda-bind patch. Bug #351998. Thanks to Sebastian Luther (few) <SebastianLuther@×××.de> |
6 |
|
7 |
(Portage version: 2.1.9.33/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 dev-libs/boost/files/boost-1.45.0-lambda_bind.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/files/boost-1.45.0-lambda_bind.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/files/boost-1.45.0-lambda_bind.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: boost-1.45.0-lambda_bind.patch |
16 |
=================================================================== |
17 |
Index: trunk/boost/lambda/detail/function_adaptors.hpp |
18 |
=================================================================== |
19 |
--- a/trunk/boost/lambda/detail/function_adaptors.hpp |
20 |
+++ b/trunk/boost/lambda/detail/function_adaptors.hpp |
21 |
@@ -17,4 +17,7 @@ |
22 |
#include "boost/type_traits/same_traits.hpp" |
23 |
#include "boost/type_traits/remove_reference.hpp" |
24 |
+#include "boost/type_traits/remove_cv.hpp" |
25 |
+#include "boost/type_traits/add_const.hpp" |
26 |
+#include "boost/type_traits/add_volatile.hpp" |
27 |
#include "boost/utility/result_of.hpp" |
28 |
|
29 |
@@ -238,12 +241,14 @@ |
30 |
template<class Args> class sig { |
31 |
typedef typename boost::tuples::element<1, Args>::type argument_type; |
32 |
- |
33 |
- typedef typename detail::IF<boost::is_const<argument_type>::value, |
34 |
+ typedef typename boost::remove_reference< |
35 |
+ argument_type |
36 |
+ >::type unref_type; |
37 |
+ |
38 |
+ typedef typename detail::IF<boost::is_const<unref_type>::value, |
39 |
typename boost::add_const<T>::type, |
40 |
T |
41 |
>::RET properly_consted_return_type; |
42 |
|
43 |
- typedef typename detail::IF< |
44 |
- boost::is_volatile<properly_consted_return_type>::value, |
45 |
+ typedef typename detail::IF<boost::is_volatile<unref_type>::value, |
46 |
typename boost::add_volatile<properly_consted_return_type>::type, |
47 |
properly_consted_return_type |
48 |
@@ -252,6 +257,8 @@ |
49 |
|
50 |
public: |
51 |
- typedef typename |
52 |
- boost::add_reference<properly_cvd_return_type>::type type; |
53 |
+ typedef typename detail::IF<boost::is_reference<argument_type>::value, |
54 |
+ typename boost::add_reference<properly_cvd_return_type>::type, |
55 |
+ typename boost::remove_cv<T>::type |
56 |
+ >::RET type; |
57 |
}; |