@@ -1624,20 +1624,22 @@ class _LIBCPP_SHARED_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS weak_ptr
1624
1624
public:
1625
1625
_LIBCPP_INLINE_VISIBILITY
1626
1626
_LIBCPP_CONSTEXPR weak_ptr () _NOEXCEPT;
1627
- template <class _Yp > _LIBCPP_INLINE_VISIBILITY weak_ptr (shared_ptr<_Yp> const & __r,
1628
- typename enable_if<__compatible_with<_Yp, _Tp>::value, __nat*>::type = 0 )
1629
- _NOEXCEPT;
1627
+
1628
+ template <class _Yp , __enable_if_t <__compatible_with<_Yp, _Tp>::value, int > = 0 >
1629
+ _LIBCPP_INLINE_VISIBILITY weak_ptr (shared_ptr<_Yp> const & __r) _NOEXCEPT;
1630
+
1630
1631
_LIBCPP_INLINE_VISIBILITY
1631
1632
weak_ptr (weak_ptr const & __r) _NOEXCEPT;
1632
- template < class _Yp > _LIBCPP_INLINE_VISIBILITY weak_ptr (weak_ptr<_Yp> const & __r,
1633
- typename enable_if <__compatible_with<_Yp, _Tp>::value, __nat*>::type = 0 )
1634
- _NOEXCEPT;
1633
+
1634
+ template < class _Yp , __enable_if_t <__compatible_with<_Yp, _Tp>::value, int > = 0 >
1635
+ _LIBCPP_INLINE_VISIBILITY weak_ptr (weak_ptr<_Yp> const & __r) _NOEXCEPT;
1635
1636
1636
1637
_LIBCPP_INLINE_VISIBILITY
1637
1638
weak_ptr (weak_ptr&& __r) _NOEXCEPT;
1638
- template <class _Yp > _LIBCPP_INLINE_VISIBILITY weak_ptr (weak_ptr<_Yp>&& __r,
1639
- typename enable_if<__compatible_with<_Yp, _Tp>::value, __nat*>::type = 0 )
1640
- _NOEXCEPT;
1639
+
1640
+ template <class _Yp , __enable_if_t <__compatible_with<_Yp, _Tp>::value, int > = 0 >
1641
+ _LIBCPP_INLINE_VISIBILITY weak_ptr (weak_ptr<_Yp>&& __r) _NOEXCEPT;
1642
+
1641
1643
_LIBCPP_HIDE_FROM_ABI ~weak_ptr ();
1642
1644
1643
1645
_LIBCPP_INLINE_VISIBILITY
@@ -1706,10 +1708,9 @@ weak_ptr<_Tp>::weak_ptr(weak_ptr const& __r) _NOEXCEPT
1706
1708
}
1707
1709
1708
1710
template <class _Tp >
1709
- template <class _Yp >
1711
+ template <class _Yp , __enable_if_t <__compatible_with<_Yp, _Tp>::value, int > >
1710
1712
inline
1711
- weak_ptr<_Tp>::weak_ptr (shared_ptr<_Yp> const & __r,
1712
- typename enable_if<__compatible_with<_Yp, _Tp>::value, __nat*>::type)
1713
+ weak_ptr<_Tp>::weak_ptr (shared_ptr<_Yp> const & __r)
1713
1714
_NOEXCEPT
1714
1715
: __ptr_ (__r.__ptr_ ),
1715
1716
__cntrl_ (__r.__cntrl_ )
@@ -1719,10 +1720,9 @@ weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> const& __r,
1719
1720
}
1720
1721
1721
1722
template <class _Tp >
1722
- template <class _Yp >
1723
+ template <class _Yp , __enable_if_t <__compatible_with<_Yp, _Tp>::value, int > >
1723
1724
inline
1724
- weak_ptr<_Tp>::weak_ptr (weak_ptr<_Yp> const & __r,
1725
- typename enable_if<__compatible_with<_Yp, _Tp>::value, __nat*>::type)
1725
+ weak_ptr<_Tp>::weak_ptr (weak_ptr<_Yp> const & __r)
1726
1726
_NOEXCEPT
1727
1727
: __ptr_ (__r.__ptr_ ),
1728
1728
__cntrl_ (__r.__cntrl_ )
@@ -1742,10 +1742,9 @@ weak_ptr<_Tp>::weak_ptr(weak_ptr&& __r) _NOEXCEPT
1742
1742
}
1743
1743
1744
1744
template <class _Tp >
1745
- template <class _Yp >
1745
+ template <class _Yp , __enable_if_t <__compatible_with<_Yp, _Tp>::value, int > >
1746
1746
inline
1747
- weak_ptr<_Tp>::weak_ptr (weak_ptr<_Yp>&& __r,
1748
- typename enable_if<__compatible_with<_Yp, _Tp>::value, __nat*>::type)
1747
+ weak_ptr<_Tp>::weak_ptr (weak_ptr<_Yp>&& __r)
1749
1748
_NOEXCEPT
1750
1749
: __ptr_ (__r.__ptr_ ),
1751
1750
__cntrl_ (__r.__cntrl_ )
0 commit comments