Commit 5895a897 by Jonathan Wakely Committed by Jonathan Wakely

functional (__is_socketlike): Change from class template to alias template.

	* include/std/functional (__is_socketlike): Change from class
	template to alias template.

From-SVN: r193832
parent 5127244e
2012-11-26 Jonathan Wakely <jwakely.gcc@gmail.com> 2012-11-26 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/functional (__is_socketlike): Change from class
template to alias template.
2012-11-26 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/55463 PR libstdc++/55463
* include/std/functional (_Mem_fn): Handle rvalue objects. Add * include/std/functional (_Mem_fn): Handle rvalue objects. Add
noexcept-specifications. noexcept-specifications.
......
...@@ -1503,14 +1503,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type) ...@@ -1503,14 +1503,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
// Trait type used to remove std::bind() from overload set via SFINAE // Trait type used to remove std::bind() from overload set via SFINAE
// when first argument has integer type, so that std::bind() will // when first argument has integer type, so that std::bind() will
// not be a better match than ::bind() from the BSD Sockets API. // not be a better match than ::bind() from the BSD Sockets API.
template<typename _Tp> template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type>
class __is_socketlike using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>;
{
typedef typename decay<_Tp>::type _Tp2;
public:
static const bool value =
is_integral<_Tp2>::value || is_enum<_Tp2>::value;
};
template<bool _SocketLike, typename _Func, typename... _BoundArgs> template<bool _SocketLike, typename _Func, typename... _BoundArgs>
struct _Bind_helper struct _Bind_helper
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment