diff options
| author | Eric Fiselier <eric@efcs.ca> | 2019-06-23 20:28:29 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2019-06-23 20:28:29 +0000 |
| commit | 3359a17b3aef1effa494da3abe7f438f5bb184a7 (patch) | |
| tree | f51ba30f6eb36434c187ea7d887682f8204b749b /libcxx/include/functional | |
| parent | e2291f5af92920ab8f85057b0b1c83e3eae200d5 (diff) | |
| download | bcm5719-llvm-3359a17b3aef1effa494da3abe7f438f5bb184a7.tar.gz bcm5719-llvm-3359a17b3aef1effa494da3abe7f438f5bb184a7.zip | |
Apply new meta-programming traits throughout the library.
The new meta-programming primitives are lower cost than the old versions. This patch removes those old versions and switches libc++ to use the new ones.
llvm-svn: 364160
Diffstat (limited to 'libcxx/include/functional')
| -rw-r--r-- | libcxx/include/functional | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libcxx/include/functional b/libcxx/include/functional index c0a89f7b0b9..bcd74a9ee59 100644 --- a/libcxx/include/functional +++ b/libcxx/include/functional @@ -2246,8 +2246,8 @@ class _LIBCPP_TEMPLATE_VIS function<_Rp(_ArgTypes...)> __func __f_; - template <class _Fp, bool = __lazy_and< - integral_constant<bool, !is_same<__uncvref_t<_Fp>, function>::value>, + template <class _Fp, bool = _And< + _IsNotSame<__uncvref_t<_Fp>, function>, __invokable<_Fp&, _ArgTypes...> >::value> struct __callable; @@ -2556,7 +2556,7 @@ __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>) template <class _Ti, class ..._Uj> inline _LIBCPP_INLINE_VISIBILITY -typename __lazy_enable_if +typename _EnableIf < is_bind_expression<_Ti>::value, __invoke_of<_Ti&, _Uj...> |

