Lines 17-20
Link Here
|
17 |
#include "boost/type_traits/same_traits.hpp" |
17 |
#include "boost/type_traits/same_traits.hpp" |
18 |
#include "boost/type_traits/remove_reference.hpp" |
18 |
#include "boost/type_traits/remove_reference.hpp" |
|
|
19 |
#include "boost/type_traits/remove_cv.hpp" |
20 |
#include "boost/type_traits/add_const.hpp" |
21 |
#include "boost/type_traits/add_volatile.hpp" |
19 |
#include "boost/utility/result_of.hpp" |
22 |
#include "boost/utility/result_of.hpp" |
20 |
|
23 |
|
Lines 238-249
Link Here
|
238 |
template<class Args> class sig { |
241 |
template<class Args> class sig { |
239 |
typedef typename boost::tuples::element<1, Args>::type argument_type; |
242 |
typedef typename boost::tuples::element<1, Args>::type argument_type; |
240 |
|
243 |
typedef typename boost::remove_reference< |
241 |
typedef typename detail::IF<boost::is_const<argument_type>::value, |
244 |
argument_type |
|
|
245 |
>::type unref_type; |
246 |
|
247 |
typedef typename detail::IF<boost::is_const<unref_type>::value, |
242 |
typename boost::add_const<T>::type, |
248 |
typename boost::add_const<T>::type, |
243 |
T |
249 |
T |
244 |
>::RET properly_consted_return_type; |
250 |
>::RET properly_consted_return_type; |
245 |
|
251 |
|
246 |
typedef typename detail::IF< |
252 |
typedef typename detail::IF<boost::is_volatile<unref_type>::value, |
247 |
boost::is_volatile<properly_consted_return_type>::value, |
|
|
248 |
typename boost::add_volatile<properly_consted_return_type>::type, |
253 |
typename boost::add_volatile<properly_consted_return_type>::type, |
249 |
properly_consted_return_type |
254 |
properly_consted_return_type |
Lines 252-257
Link Here
|
252 |
|
257 |
|
253 |
public: |
258 |
public: |
254 |
typedef typename |
259 |
typedef typename detail::IF<boost::is_reference<argument_type>::value, |
255 |
boost::add_reference<properly_cvd_return_type>::type type; |
260 |
typename boost::add_reference<properly_cvd_return_type>::type, |
|
|
261 |
typename boost::remove_cv<T>::type |
262 |
>::RET type; |
256 |
}; |
263 |
}; |