mirror of
https://github.com/boostorg/lambda2.git
synced 2025-05-09 01:03:53 +00:00
Use remove_cvref_t
This commit is contained in:
parent
8c99e5db86
commit
6fe0ff9004
@ -16,7 +16,9 @@ namespace lambda2
|
|||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
|
|
||||||
template<class T, class T2 = std::remove_reference_t<T>> using is_lambda_expression =
|
template<class T> using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
|
||||||
|
|
||||||
|
template<class T, class T2 = remove_cvref_t<T>> using is_lambda_expression =
|
||||||
std::integral_constant<bool, std::is_placeholder<T2>::value || std::is_bind_expression<T2>::value>;
|
std::integral_constant<bool, std::is_placeholder<T2>::value || std::is_bind_expression<T2>::value>;
|
||||||
|
|
||||||
template<class A> using enable_unary_lambda =
|
template<class A> using enable_unary_lambda =
|
||||||
@ -38,8 +40,7 @@ template<class A, class B> using enable_binary_lambda =
|
|||||||
template<class A, class B, class = detail::enable_binary_lambda<A, B>> \
|
template<class A, class B, class = detail::enable_binary_lambda<A, B>> \
|
||||||
auto operator op( A&& a, B&& b ) \
|
auto operator op( A&& a, B&& b ) \
|
||||||
{ \
|
{ \
|
||||||
return std::bind( std::fn<>(), std::forward<A>(a), \
|
return std::bind( std::fn<>(), std::forward<A>(a), std::forward<B>(b) ); \
|
||||||
std::forward<B>(b) ); \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_LAMBDA2_BINARY_LAMBDA(+, plus)
|
BOOST_LAMBDA2_BINARY_LAMBDA(+, plus)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user