• Home
  • Raw
  • Download

Lines Matching refs:tuple

2 //===--------------------------- tuple ------------------------------------===//
15 tuple synopsis
21 class tuple {
23 constexpr tuple();
24 explicit tuple(const T&...); // constexpr in C++14
26 explicit tuple(U&&...); // constexpr in C++14
27 tuple(const tuple&) = default;
28 tuple(tuple&&) = default;
30 tuple(const tuple<U...>&); // constexpr in C++14
32 tuple(tuple<U...>&&); // constexpr in C++14
34 tuple(const pair<U1, U2>&); // iff sizeof...(T) == 2 // constexpr in C++14
36 tuple(pair<U1, U2>&&); // iff sizeof...(T) == 2 // constexpr in C++14
40 tuple(allocator_arg_t, const Alloc& a);
42 tuple(allocator_arg_t, const Alloc& a, const T&...);
44 tuple(allocator_arg_t, const Alloc& a, U&&...);
46 tuple(allocator_arg_t, const Alloc& a, const tuple&);
48 tuple(allocator_arg_t, const Alloc& a, tuple&&);
50 tuple(allocator_arg_t, const Alloc& a, const tuple<U...>&);
52 tuple(allocator_arg_t, const Alloc& a, tuple<U...>&&);
54 tuple(allocator_arg_t, const Alloc& a, const pair<U1, U2>&);
56 tuple(allocator_arg_t, const Alloc& a, pair<U1, U2>&&);
58 tuple& operator=(const tuple&);
59 tuple&
60 operator=(tuple&&) noexcept(AND(is_nothrow_move_assignable<T>::value ...));
62 tuple& operator=(const tuple<U...>&);
64 tuple& operator=(tuple<U...>&&);
66 tuple& operator=(const pair<U1, U2>&); // iff sizeof...(T) == 2
68 tuple& operator=(pair<U1, U2>&&); //iffsizeof...(T) == 2
70 void swap(tuple&) noexcept(AND(swap(declval<T&>(), declval<T&>())...));
75 template <class... T> tuple<V...> make_tuple(T&&...); // constexpr in C++14
76 template <class... T> tuple<ATypes...> forward_as_tuple(T&&...) noexcept; // constexpr in C++14
77 template <class... T> tuple<T&...> tie(T&...) noexcept; // constexpr in C++14
78 template <class... Tuples> tuple<CTypes...> tuple_cat(Tuples&&... tpls); // constexpr in C++14
80 // 20.4.1.4, tuple helper classes:
82 template <class... T> class tuple_size<tuple<T...>>;
84 template <intsize_t I, class... T> class tuple_element<I, tuple<T...>>;
90 typename tuple_element<I, tuple<T...>>::type&
91 get(tuple<T...>&) noexcept; // constexpr in C++14
93 typename const tuple_element<I, tuple<T...>>::type &
94 get(const tuple<T...>&) noexcept; // constexpr in C++14
96 typename tuple_element<I, tuple<T...>>::type&&
97 get(tuple<T...>&&) noexcept; // constexpr in C++14
100 constexpr T1& get(tuple<T...>&) noexcept; // C++14
102 constexpr T1 const& get(const tuple<T...>&) noexcept; // C++14
104 constexpr T1&& get(tuple<T...>&&) noexcept; // C++14
107 template<class... T, class... U> bool operator==(const tuple<T...>&, const tuple<U...>&); // conste…
108 template<class... T, class... U> bool operator<(const tuple<T...>&, const tuple<U...>&); // conste…
109 template<class... T, class... U> bool operator!=(const tuple<T...>&, const tuple<U...>&); // conste…
110 template<class... T, class... U> bool operator>(const tuple<T...>&, const tuple<U...>&); // conste…
111 template<class... T, class... U> bool operator<=(const tuple<T...>&, const tuple<U...>&); // conste…
112 template<class... T, class... U> bool operator>=(const tuple<T...>&, const tuple<U...>&); // conste…
115 struct uses_allocator<tuple<Types...>, Alloc>;
119 swap(tuple<Types...>& x, tuple<Types...>& y) noexcept(noexcept(x.swap(y)));
143 class _LIBCPP_TYPE_VIS_ONLY tuple_size<tuple<_Tp...> >
151 class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, tuple<_Tp...> >
189 "Attempted to default construct a reference element in a tuple");}
196 "Attempted to default construct a reference element in a tuple");}
203 "Attempted to default construct a reference element in a tuple");}
210 "Attempted to default construct a reference element in a tuple");}
227 "Attempted to construct a reference element in a tuple with an rvalue");}
241 "Attempted to construct a reference element in a tuple with an rvalue");}
255 "Attempted to construct a reference element in a tuple with an rvalue");}
269 "Attempted to construct a reference element in a tuple with an rvalue");}
275 …{static_assert(!is_rvalue_reference<_Hp>::value, "Can not copy a tuple with rvalue reference membe…
428 __tuple_constructible<_Tuple, tuple<_Tp...> >::value
441 __tuple_convertible<_Tuple, tuple<_Tp...> >::value
456 __tuple_assignable<_Tuple, tuple<_Tp...> >::value,
495 class _LIBCPP_TYPE_VIS_ONLY tuple
502 typename tuple_element<_Jp, tuple<_Up...> >::type& get(tuple<_Up...>&) _NOEXCEPT;
504 … const typename tuple_element<_Jp, tuple<_Up...> >::type& get(const tuple<_Up...>&) _NOEXCEPT;
506 typename tuple_element<_Jp, tuple<_Up...> >::type&& get(tuple<_Up...>&&) _NOEXCEPT;
510 _LIBCPP_CONSTEXPR tuple()
514 …explicit tuple(const _Tp& ... __t) _NOEXCEPT_((__all<is_nothrow_copy_constructible<_Tp>::value...>…
516 typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(),
518 typename __make_tuple_types<tuple, 0>::type(),
524 tuple(allocator_arg_t, const _Alloc& __a, const _Tp& ... __t)
527 typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(),
529 typename __make_tuple_types<tuple, 0>::type(),
539 tuple<_Up...>,
540 typename __make_tuple_types<tuple,
549 tuple(_Up&&... __u)
553 typename __make_tuple_types<tuple, sizeof...(_Up)>::type,
555 typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type,
560 typename __make_tuple_types<tuple, sizeof...(_Up)>::type(),
562 typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(),
571 tuple<_Up...>,
572 typename __make_tuple_types<tuple,
579 tuple<_Up...>,
580 typename __make_tuple_types<tuple,
590 tuple(_Up&&... __u)
594 typename __make_tuple_types<tuple, sizeof...(_Up)>::type,
596 typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type,
601 typename __make_tuple_types<tuple, sizeof...(_Up)>::type(),
603 typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(),
612 tuple<_Up...>,
613 typename __make_tuple_types<tuple,
621 tuple(allocator_arg_t, const _Alloc& __a, _Up&&... __u)
624 typename __make_tuple_types<tuple, sizeof...(_Up)>::type(),
626 typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(),
632 __tuple_convertible<_Tuple, tuple>::value,
637 tuple(_Tuple&& __t) _NOEXCEPT_((is_nothrow_constructible<base, _Tuple>::value))
643 __tuple_constructible<_Tuple, tuple>::value &&
644 !__tuple_convertible<_Tuple, tuple>::value,
650 tuple(_Tuple&& __t) _NOEXCEPT_((is_nothrow_constructible<base, _Tuple>::value))
656 __tuple_convertible<_Tuple, tuple>::value
660 tuple(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
666 __tuple_assignable<_Tuple, tuple>::value
670 tuple&
678 void swap(tuple& __t) _NOEXCEPT_(__all<__is_nothrow_swappable<_Tp>::value...>::value)
683 class _LIBCPP_TYPE_VIS_ONLY tuple<>
687 _LIBCPP_CONSTEXPR tuple() _NOEXCEPT {}
690 tuple(allocator_arg_t, const _Alloc&) _NOEXCEPT {}
693 tuple(allocator_arg_t, const _Alloc&, const tuple&) _NOEXCEPT {}
696 tuple(array<_Up, 0>) _NOEXCEPT {}
699 tuple(allocator_arg_t, const _Alloc&, array<_Up, 0>) _NOEXCEPT {}
701 void swap(tuple&) _NOEXCEPT {}
711 swap(tuple<_Tp...>& __t, tuple<_Tp...>& __u)
719 typename tuple_element<_Ip, tuple<_Tp...> >::type&
720 get(tuple<_Tp...>& __t) _NOEXCEPT
722 typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type;
728 const typename tuple_element<_Ip, tuple<_Tp...> >::type&
729 get(const tuple<_Tp...>& __t) _NOEXCEPT
731 typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type;
737 typename tuple_element<_Ip, tuple<_Tp...> >::type&&
738 get(tuple<_Tp...>&& __t) _NOEXCEPT
740 typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type;
782 constexpr _T1& get(tuple<_Args...>& __tup) noexcept
789 constexpr _T1 const& get(tuple<_Args...> const& __tup) noexcept
796 constexpr _T1&& get(tuple<_Args...>&& __tup) noexcept
807 tuple<_Tp&...>
810 return tuple<_Tp&...>(__t...);
845 tuple<typename __make_tuple_return<_Tp>::type...>
848 return tuple<typename __make_tuple_return<_Tp>::type...>(_VSTD::forward<_Tp>(__t)...);
853 tuple<_Tp&&...>
856 return tuple<_Tp&&...>(_VSTD::forward<_Tp>(__t)...);
884 operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
892 operator!=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
923 operator<(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
931 operator>(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
939 operator>=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
947 operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
957 struct __tuple_cat_type<tuple<_Ttypes...>, __tuple_types<_Utypes...> >
959 typedef tuple<_Ttypes..., _Utypes...> type;
968 struct __tuple_cat_return_1<tuple<_Types...>, true, _Tuple0>
970 typedef typename __tuple_cat_type<tuple<_Types...>,
976 struct __tuple_cat_return_1<tuple<_Types...>, true, _Tuple0, _Tuple1, _Tuples...>
979 tuple<_Types...>,
991 : public __tuple_cat_return_1<tuple<>,
1000 typedef tuple<> type;
1004 tuple<>
1007 return tuple<>();
1014 struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>, _Tuple0>
1017 typedef tuple<_Types..., typename __apply_cv<_Tuple0,
1022 struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>,
1025 tuple<_Types..., typename __apply_cv<_Tuple0,
1036 : public __tuple_cat_return_ref_imp<tuple<>,
1047 struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J0...> >
1051 typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&>::type
1052 operator()(tuple<_Types...> __t, _Tuple0&& __t0)
1060 typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&, _Tuple1&&, _Tuples&&...>::type
1061 operator()(tuple<_Types...> __t, _Tuple0&& __t0, _Tuple1&& __t1, _Tuples&& ...__tpls)
1066tuple<_Types..., typename __apply_cv<_Tuple0, typename tuple_element<_J0, _T0>::type>::type&&...>,
1084 return __tuple_cat<tuple<>, __tuple_indices<>,
1086 (tuple<>(), _VSTD::forward<_Tuple0>(__t0),
1091 struct _LIBCPP_TYPE_VIS_ONLY uses_allocator<tuple<_Tp...>, _Alloc>
1098 tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args,