Skip to content

Commit b6f5885

Browse files
authored
[tuple.apply] Move exposition-only functions to namespace std (#4951)
and remove superfluous std:: qualification.
1 parent 17dc5f6 commit b6f5885

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

source/utilities.tex

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2015,10 +2015,12 @@
20152015
\effects
20162016
Given the exposition-only function:
20172017
\begin{codeblock}
2018-
template<class F, class Tuple, size_t... I>
2019-
constexpr decltype(auto) @\placeholdernc{apply-impl}@(F&& f, Tuple&& t, index_sequence<I...>) {
2018+
namespace std {
2019+
template<class F, class Tuple, size_t... I>
2020+
constexpr decltype(auto) @\placeholdernc{apply-impl}@(F&& f, Tuple&& t, index_sequence<I...>) {
20202021
// \expos
2021-
return @\placeholdernc{INVOKE}@(std::forward<F>(f), std::get<I>(std::forward<Tuple>(t))...); // see \ref{func.require}
2022+
return @\placeholdernc{INVOKE}@(std::forward<F>(f), get<I>(std::forward<Tuple>(t))...); // see \ref{func.require}
2023+
}
20222024
}
20232025
\end{codeblock}
20242026
Equivalent to:
@@ -2039,10 +2041,12 @@
20392041
\effects
20402042
Given the exposition-only function:
20412043
\begin{codeblock}
2042-
template<class T, class Tuple, size_t... I>
2043-
requires is_constructible_v<T, decltype(get<I>(declval<Tuple>()))...>
2044-
constexpr T @\placeholdernc{make-from-tuple-impl}@(Tuple&& t, index_sequence<I...>) { // \expos
2045-
return T(get<I>(std::forward<Tuple>(t))...);
2044+
namespace std {
2045+
template<class T, class Tuple, size_t... I>
2046+
requires is_constructible_v<T, decltype(get<I>(declval<Tuple>()))...>
2047+
constexpr T @\placeholdernc{make-from-tuple-impl}@(Tuple&& t, index_sequence<I...>) { // \expos
2048+
return T(get<I>(std::forward<Tuple>(t))...);
2049+
}
20462050
}
20472051
\end{codeblock}
20482052
Equivalent to:

0 commit comments

Comments
 (0)