template <class... TTypes, class... UTypes> tuple<TTypes..., UTypes...> tuple_cat(const tuple<TTypes...>& t, const tuple<UTypes...>& u);
8 Requires: All the types in
TTypes
shall beCopyConstructible
(Table 35). All the types inUTypes
shall beCopyConstructible
(Table 35).
9 Returns: A
tuple
object constructed by copy constructing its firstsizeof...(TTypes)
elements from the corresponding elements oft
and copy constructing its lastsizeof...(UTypes)
elements from the corresponding elements ofu
.
template <class... TTypes, class... UTypes> tuple<TTypes..., UTypes...> tuple_cat(tuple<TTypes...>&& t, const tuple<UTypes...>& u);
10 Requires: All the types in
TTypes
shall beMoveConstructible
(Table 34). All the types inUTypes
shall beCopyConstructible
(Table 35).
11 Returns: A
tuple
object constructed by move constructing its firstsizeof...(TTypes)
elements from the corresponding elements oft
and copy constructing its lastsizeof...(UTypes)
elements from the corresponding elements ofu
.
template <class... TTypes, class... UTypes> tuple<TTypes..., UTypes...> tuple_cat(const tuple<TTypes...>& t, tuple<UTypes...>&& u);
12 Requires: All the types in
TTypes
shall beCopyConstructible
(Table 35). All the types inUTypes
shall beMoveConstructible
(Table 34).
13 Returns: A
tuple
object constructed by copy constructing its firstsizeof...(TTypes)
elements from the corresponding elements oft
and move constructing its lastsizeof...(UTypes)
elements from the corresponding elements ofu
.
template <class... TTypes, class... UTypes> tuple<TTypes..., UTypes...> tuple_cat(tuple<TTypes...>&& t, tuple<UTypes...>&& u);
14 Requires: All the types in
TTypes
shall beMoveConstructible
(Table 34). All the types inUTypes
shall beMoveConstructible
(Table 34).
15 Returns: A
tuple
object constructed by move constructing its firstsizeof...(TTypes)
elements from the corresponding elements oft
and move constructing its lastsizeof...(UTypes)
elements from the corresponding elements ofu
.
template <class... Tuples> tuple<CTypes...> tuple_cat(Tuples&&... tpls);
8 Let
Ti
be thei
th type inTuples
,Ui
beremove_reference<Ti>::type
, andtpi
be thei
th parameter in the function parameter packtpls
, where all indexing is zero-based in the following paragraphs of this sub-clause [tuple.creation].
9 Requires: For all
i
,Ui
shall be the type cvi
tuple<Argsi...>
, where cvi
is the (possibly empty)i
th cv-qualifier-seq, andArgsi
is the parameter pack representing the element types inUi
. LetAik
be theki
th type inArgsi
, then for allAik
the following requirements shall be satisfied: IfTi
is deduced as an lvalue reference type, thenis_constructible<Aik, cvi Aik&>::value == true
, otherwiseis_constructible<Aik, cvi Aik&&>::value == true
.
10 Remarks: The types in
CTypes
shall be equal to the ordered sequence of the expanded typesArgs0..., Args1..., Argsn-1...
, wheren
equalssizeof...(Tuples)
. Letei...
be thei
th ordered sequence of tuple elements of the resulttuple
object corresponding to the type sequenceArgsi
.
11 Returns: A
tuple
object constructed by initializing theki
th type elementeik
inei...
withget<ki>(std::forward<Ti>(tpi))
for each validki
and each element groupei
in order.
12 [Note: An implementation may support additional types in the parameter pack
Tuples
, such aspair
andarray
that support thetuple
-like protocol. — end note]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4