aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2012-11-26 23:53:36 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2012-11-26 23:53:36 +0000
commit5895a897b5b05db6d53b3b5e68fad1d653abf209 (patch)
tree7caaf301a903fd0fca38a136ca3293bd00134a72
parent5127244e4b172a5af7de329c0609971f8e181996 (diff)
downloadgcc-5895a897b5b05db6d53b3b5e68fad1d653abf209.zip
gcc-5895a897b5b05db6d53b3b5e68fad1d653abf209.tar.gz
gcc-5895a897b5b05db6d53b3b5e68fad1d653abf209.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/std/functional10
2 files changed, 7 insertions, 8 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index f7f43fe..c6d0687 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,10 @@
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
* include/std/functional (_Mem_fn): Handle rvalue objects. Add
noexcept-specifications.
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index 1a98127..0d8fbd6 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -1503,14 +1503,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
// Trait type used to remove std::bind() from overload set via SFINAE
// when first argument has integer type, so that std::bind() will
// not be a better match than ::bind() from the BSD Sockets API.
- template<typename _Tp>
- class __is_socketlike
- {
- typedef typename decay<_Tp>::type _Tp2;
- public:
- static const bool value =
- is_integral<_Tp2>::value || is_enum<_Tp2>::value;
- };
+ template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type>
+ using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>;
template<bool _SocketLike, typename _Func, typename... _BoundArgs>
struct _Bind_helper