[ADT] Try to appease MSVC by sinking the enable_if from a default
authorChandler Carruth <chandlerc@gmail.com>
Thu, 24 Apr 2014 06:16:12 +0000 (06:16 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 24 Apr 2014 06:16:12 +0000 (06:16 +0000)
template argument to a default argument to the constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207082 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/iterator.h

index e29225ad6c26400d9bb8914dd4741c6d033b5dc7..e64ae9abb9f071390574033a11a89b1a487b6325 100644 (file)
@@ -109,13 +109,14 @@ protected:
 
   iterator_adaptor_base() {}
 
-  template <
-      typename U,
-      typename = typename std::enable_if<
+  template <typename U>
+  explicit iterator_adaptor_base(
+      U &&u,
+      typename std::enable_if<
           !std::is_base_of<typename std::remove_cv<
                                typename std::remove_reference<U>::type>::type,
-                           DerivedT>::value>::type>
-  explicit iterator_adaptor_base(U &&u)
+                           DerivedT>::value,
+          int>::type = 0)
       : I(std::forward<U &&>(u)) {}
 
 public: