Chandler Carruth changed >> to > > in several places.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124120 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e76496ce46
commit
f83417b823
@ -72,20 +72,20 @@ template <class _Tp> struct __tuple_like<const _Tp> : public __tuple_like<_Tp> {
|
|||||||
template <class _Tp> struct __tuple_like<volatile _Tp> : public __tuple_like<_Tp> {};
|
template <class _Tp> struct __tuple_like<volatile _Tp> : public __tuple_like<_Tp> {};
|
||||||
template <class _Tp> struct __tuple_like<const volatile _Tp> : public __tuple_like<_Tp> {};
|
template <class _Tp> struct __tuple_like<const volatile _Tp> : public __tuple_like<_Tp> {};
|
||||||
|
|
||||||
template <class... _Tp> struct __tuple_like<tuple<_Tp...>> : true_type {};
|
template <class... _Tp> struct __tuple_like<tuple<_Tp...> > : true_type {};
|
||||||
template <class _T1, class _T2> struct __tuple_like<pair<_T1, _T2> > : true_type {};
|
template <class _T1, class _T2> struct __tuple_like<pair<_T1, _T2> > : true_type {};
|
||||||
template <class _Tp, size_t _Size> struct __tuple_like<array<_Tp, _Size> > : true_type {};
|
template <class _Tp, size_t _Size> struct __tuple_like<array<_Tp, _Size> > : true_type {};
|
||||||
|
|
||||||
template <size_t _Ip, class ..._Tp>
|
template <size_t _Ip, class ..._Tp>
|
||||||
typename tuple_element<_Ip, tuple<_Tp...>>::type&
|
typename tuple_element<_Ip, tuple<_Tp...> >::type&
|
||||||
get(tuple<_Tp...>&);
|
get(tuple<_Tp...>&);
|
||||||
|
|
||||||
template <size_t _Ip, class ..._Tp>
|
template <size_t _Ip, class ..._Tp>
|
||||||
const typename tuple_element<_Ip, tuple<_Tp...>>::type&
|
const typename tuple_element<_Ip, tuple<_Tp...> >::type&
|
||||||
get(const tuple<_Tp...>&);
|
get(const tuple<_Tp...>&);
|
||||||
|
|
||||||
template <size_t _Ip, class ..._Tp>
|
template <size_t _Ip, class ..._Tp>
|
||||||
typename tuple_element<_Ip, tuple<_Tp...>>::type&&
|
typename tuple_element<_Ip, tuple<_Tp...> >::type&&
|
||||||
get(tuple<_Tp...>&&);
|
get(tuple<_Tp...>&&);
|
||||||
|
|
||||||
template <size_t _Ip, class _T1, class _T2>
|
template <size_t _Ip, class _T1, class _T2>
|
||||||
@ -143,7 +143,7 @@ struct __make_tuple_indices
|
|||||||
template <class ..._Tp> struct __tuple_types {};
|
template <class ..._Tp> struct __tuple_types {};
|
||||||
|
|
||||||
template <size_t _Ip>
|
template <size_t _Ip>
|
||||||
class _LIBCPP_VISIBLE tuple_element<_Ip, __tuple_types<>>
|
class _LIBCPP_VISIBLE tuple_element<_Ip, __tuple_types<> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static_assert(_Ip == 0, "tuple_element index out of range");
|
static_assert(_Ip == 0, "tuple_element index out of range");
|
||||||
@ -151,26 +151,26 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <class _Hp, class ..._Tp>
|
template <class _Hp, class ..._Tp>
|
||||||
class _LIBCPP_VISIBLE tuple_element<0, __tuple_types<_Hp, _Tp...>>
|
class _LIBCPP_VISIBLE tuple_element<0, __tuple_types<_Hp, _Tp...> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef _Hp type;
|
typedef _Hp type;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <size_t _Ip, class _Hp, class ..._Tp>
|
template <size_t _Ip, class _Hp, class ..._Tp>
|
||||||
class _LIBCPP_VISIBLE tuple_element<_Ip, __tuple_types<_Hp, _Tp...>>
|
class _LIBCPP_VISIBLE tuple_element<_Ip, __tuple_types<_Hp, _Tp...> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename tuple_element<_Ip-1, __tuple_types<_Tp...>>::type type;
|
typedef typename tuple_element<_Ip-1, __tuple_types<_Tp...> >::type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class ..._Tp>
|
template <class ..._Tp>
|
||||||
class _LIBCPP_VISIBLE tuple_size<__tuple_types<_Tp...>>
|
class _LIBCPP_VISIBLE tuple_size<__tuple_types<_Tp...> >
|
||||||
: public integral_constant<size_t, sizeof...(_Tp)>
|
: public integral_constant<size_t, sizeof...(_Tp)>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class... _Tp> struct __tuple_like<__tuple_types<_Tp...>> : true_type {};
|
template <class... _Tp> struct __tuple_like<__tuple_types<_Tp...> > : true_type {};
|
||||||
|
|
||||||
// __make_tuple_types
|
// __make_tuple_types
|
||||||
|
|
||||||
@ -212,13 +212,13 @@ template <bool, class _Tp, class _Up>
|
|||||||
struct __tuple_convertible_imp : public false_type {};
|
struct __tuple_convertible_imp : public false_type {};
|
||||||
|
|
||||||
template <class _Tp0, class ..._Tp, class _Up0, class ..._Up>
|
template <class _Tp0, class ..._Tp, class _Up0, class ..._Up>
|
||||||
struct __tuple_convertible_imp<true, __tuple_types<_Tp0, _Tp...>, __tuple_types<_Up0, _Up...>>
|
struct __tuple_convertible_imp<true, __tuple_types<_Tp0, _Tp...>, __tuple_types<_Up0, _Up...> >
|
||||||
: public integral_constant<bool,
|
: public integral_constant<bool,
|
||||||
is_convertible<_Tp0, _Up0>::value &&
|
is_convertible<_Tp0, _Up0>::value &&
|
||||||
__tuple_convertible_imp<true, __tuple_types<_Tp...>, __tuple_types<_Up...>>::value> {};
|
__tuple_convertible_imp<true, __tuple_types<_Tp...>, __tuple_types<_Up...> >::value> {};
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct __tuple_convertible_imp<true, __tuple_types<>, __tuple_types<>>
|
struct __tuple_convertible_imp<true, __tuple_types<>, __tuple_types<> >
|
||||||
: public true_type {};
|
: public true_type {};
|
||||||
|
|
||||||
template <class _Tp, class _Up, bool = __tuple_like<typename remove_reference<_Tp>::type>::value,
|
template <class _Tp, class _Up, bool = __tuple_like<typename remove_reference<_Tp>::type>::value,
|
||||||
@ -239,13 +239,13 @@ template <bool, class _Tp, class _Up>
|
|||||||
struct __tuple_assignable_imp : public false_type {};
|
struct __tuple_assignable_imp : public false_type {};
|
||||||
|
|
||||||
template <class _Tp0, class ..._Tp, class _Up0, class ..._Up>
|
template <class _Tp0, class ..._Tp, class _Up0, class ..._Up>
|
||||||
struct __tuple_assignable_imp<true, __tuple_types<_Tp0, _Tp...>, __tuple_types<_Up0, _Up...>>
|
struct __tuple_assignable_imp<true, __tuple_types<_Tp0, _Tp...>, __tuple_types<_Up0, _Up...> >
|
||||||
: public integral_constant<bool,
|
: public integral_constant<bool,
|
||||||
is_assignable<_Up0&, _Tp0>::value &&
|
is_assignable<_Up0&, _Tp0>::value &&
|
||||||
__tuple_assignable_imp<true, __tuple_types<_Tp...>, __tuple_types<_Up...>>::value> {};
|
__tuple_assignable_imp<true, __tuple_types<_Tp...>, __tuple_types<_Up...> >::value> {};
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct __tuple_assignable_imp<true, __tuple_types<>, __tuple_types<>>
|
struct __tuple_assignable_imp<true, __tuple_types<>, __tuple_types<> >
|
||||||
: public true_type {};
|
: public true_type {};
|
||||||
|
|
||||||
template <class _Tp, class _Up, bool = __tuple_like<typename remove_reference<_Tp>::type>::value,
|
template <class _Tp, class _Up, bool = __tuple_like<typename remove_reference<_Tp>::type>::value,
|
||||||
|
@ -120,7 +120,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||||||
// tuple_size
|
// tuple_size
|
||||||
|
|
||||||
template <class ..._Tp>
|
template <class ..._Tp>
|
||||||
class _LIBCPP_VISIBLE tuple_size<tuple<_Tp...>>
|
class _LIBCPP_VISIBLE tuple_size<tuple<_Tp...> >
|
||||||
: public integral_constant<size_t, sizeof...(_Tp)>
|
: public integral_constant<size_t, sizeof...(_Tp)>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
@ -128,10 +128,10 @@ class _LIBCPP_VISIBLE tuple_size<tuple<_Tp...>>
|
|||||||
// tuple_element
|
// tuple_element
|
||||||
|
|
||||||
template <size_t _Ip, class ..._Tp>
|
template <size_t _Ip, class ..._Tp>
|
||||||
class _LIBCPP_VISIBLE tuple_element<_Ip, tuple<_Tp...>>
|
class _LIBCPP_VISIBLE tuple_element<_Ip, tuple<_Tp...> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename tuple_element<_Ip, __tuple_types<_Tp...>>::type type;
|
typedef typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
// __tuple_leaf
|
// __tuple_leaf
|
||||||
@ -373,7 +373,7 @@ struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...>
|
|||||||
template <class _Tuple,
|
template <class _Tuple,
|
||||||
class = typename enable_if
|
class = typename enable_if
|
||||||
<
|
<
|
||||||
__tuple_convertible<_Tuple, tuple<_Tp...>>::value
|
__tuple_convertible<_Tuple, tuple<_Tp...> >::value
|
||||||
>::type
|
>::type
|
||||||
>
|
>
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
@ -385,7 +385,7 @@ struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...>
|
|||||||
template <class _Alloc, class _Tuple,
|
template <class _Alloc, class _Tuple,
|
||||||
class = typename enable_if
|
class = typename enable_if
|
||||||
<
|
<
|
||||||
__tuple_convertible<_Tuple, tuple<_Tp...>>::value
|
__tuple_convertible<_Tuple, tuple<_Tp...> >::value
|
||||||
>::type
|
>::type
|
||||||
>
|
>
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
@ -400,7 +400,7 @@ struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...>
|
|||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
__tuple_assignable<_Tuple, tuple<_Tp...>>::value,
|
__tuple_assignable<_Tuple, tuple<_Tp...> >::value,
|
||||||
__tuple_impl&
|
__tuple_impl&
|
||||||
>::type
|
>::type
|
||||||
operator=(_Tuple&& __t)
|
operator=(_Tuple&& __t)
|
||||||
@ -425,11 +425,11 @@ class _LIBCPP_VISIBLE tuple
|
|||||||
base base_;
|
base base_;
|
||||||
|
|
||||||
template <size_t _Jp, class ..._Up> friend
|
template <size_t _Jp, class ..._Up> friend
|
||||||
typename tuple_element<_Jp, tuple<_Up...>>::type& get(tuple<_Up...>&);
|
typename tuple_element<_Jp, tuple<_Up...> >::type& get(tuple<_Up...>&);
|
||||||
template <size_t _Jp, class ..._Up> friend
|
template <size_t _Jp, class ..._Up> friend
|
||||||
const typename tuple_element<_Jp, tuple<_Up...>>::type& get(const tuple<_Up...>&);
|
const typename tuple_element<_Jp, tuple<_Up...> >::type& get(const tuple<_Up...>&);
|
||||||
template <size_t _Jp, class ..._Up> friend
|
template <size_t _Jp, class ..._Up> friend
|
||||||
typename tuple_element<_Jp, tuple<_Up...>>::type&& get(tuple<_Up...>&&);
|
typename tuple_element<_Jp, tuple<_Up...> >::type&& get(tuple<_Up...>&&);
|
||||||
public:
|
public:
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
@ -567,28 +567,28 @@ swap(tuple<_Tp...>& __t, tuple<_Tp...>& __u) {__t.swap(__u);}
|
|||||||
|
|
||||||
template <size_t _Ip, class ..._Tp>
|
template <size_t _Ip, class ..._Tp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
typename tuple_element<_Ip, tuple<_Tp...>>::type&
|
typename tuple_element<_Ip, tuple<_Tp...> >::type&
|
||||||
get(tuple<_Tp...>& __t)
|
get(tuple<_Tp...>& __t)
|
||||||
{
|
{
|
||||||
typedef typename tuple_element<_Ip, tuple<_Tp...>>::type type;
|
typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type;
|
||||||
return static_cast<__tuple_leaf<_Ip, type>&>(__t.base_).get();
|
return static_cast<__tuple_leaf<_Ip, type>&>(__t.base_).get();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <size_t _Ip, class ..._Tp>
|
template <size_t _Ip, class ..._Tp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
const typename tuple_element<_Ip, tuple<_Tp...>>::type&
|
const typename tuple_element<_Ip, tuple<_Tp...> >::type&
|
||||||
get(const tuple<_Tp...>& __t)
|
get(const tuple<_Tp...>& __t)
|
||||||
{
|
{
|
||||||
typedef typename tuple_element<_Ip, tuple<_Tp...>>::type type;
|
typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type;
|
||||||
return static_cast<const __tuple_leaf<_Ip, type>&>(__t.base_).get();
|
return static_cast<const __tuple_leaf<_Ip, type>&>(__t.base_).get();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <size_t _Ip, class ..._Tp>
|
template <size_t _Ip, class ..._Tp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
typename tuple_element<_Ip, tuple<_Tp...>>::type&&
|
typename tuple_element<_Ip, tuple<_Tp...> >::type&&
|
||||||
get(tuple<_Tp...>&& __t)
|
get(tuple<_Tp...>&& __t)
|
||||||
{
|
{
|
||||||
typedef typename tuple_element<_Ip, tuple<_Tp...>>::type type;
|
typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type;
|
||||||
return static_cast<__tuple_leaf<_Ip, type>&&>(__t.base_).get();
|
return static_cast<__tuple_leaf<_Ip, type>&&>(__t.base_).get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -626,7 +626,7 @@ struct ___make_tuple_return
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct ___make_tuple_return<reference_wrapper<_Tp>>
|
struct ___make_tuple_return<reference_wrapper<_Tp> >
|
||||||
{
|
{
|
||||||
typedef _Tp& type;
|
typedef _Tp& type;
|
||||||
};
|
};
|
||||||
@ -751,7 +751,7 @@ operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
|
|||||||
template <class _Tp, class _Up> struct __tuple_cat_type;
|
template <class _Tp, class _Up> struct __tuple_cat_type;
|
||||||
|
|
||||||
template <class ..._Ttypes, class ..._Utypes>
|
template <class ..._Ttypes, class ..._Utypes>
|
||||||
struct __tuple_cat_type<tuple<_Ttypes...>, __tuple_types<_Utypes...>>
|
struct __tuple_cat_type<tuple<_Ttypes...>, __tuple_types<_Utypes...> >
|
||||||
{
|
{
|
||||||
typedef tuple<_Ttypes..., _Utypes...> type;
|
typedef tuple<_Ttypes..., _Utypes...> type;
|
||||||
};
|
};
|
||||||
@ -841,7 +841,7 @@ template <class _Types, class _I0, class _J0>
|
|||||||
struct __tuple_cat;
|
struct __tuple_cat;
|
||||||
|
|
||||||
template <class ..._Types, size_t ..._I0, size_t ..._J0>
|
template <class ..._Types, size_t ..._I0, size_t ..._J0>
|
||||||
struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J0...>>
|
struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J0...> >
|
||||||
{
|
{
|
||||||
template <class _Tuple0>
|
template <class _Tuple0>
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
|
Loading…
x
Reference in New Issue
Block a user