|
133 | 133 | template <size_t I, class T> class tuple_element;
|
134 | 134 |
|
135 | 135 | template <class T1, class T2> struct tuple_size<pair<T1, T2>>;
|
136 |
| - template <class T1, class T2> struct tuple_element<0, pair<T1, T2>>; |
137 |
| - template <class T1, class T2> struct tuple_element<1, pair<T1, T2>>; |
| 136 | + template <size_t I, class T1, class T2> struct tuple_element<I, pair<T1, T2>>; |
138 | 137 |
|
139 | 138 | template<size_t I, class T1, class T2>
|
140 | 139 | constexpr tuple_element_t<I, pair<T1, T2>>& get(pair<T1, T2>&) noexcept;
|
|
1287 | 1286 |
|
1288 | 1287 | \indexlibrary{\idxcode{tuple_element}}%
|
1289 | 1288 | \begin{itemdecl}
|
1290 |
| -tuple_element<0, pair<T1, T2>>::type |
| 1289 | +tuple_element<I, pair<T1, T2>>::type |
1291 | 1290 | \end{itemdecl}
|
1292 | 1291 | \begin{itemdescr}
|
1293 |
| -\pnum\textit{Value:} The type \tcode{T1}. |
1294 |
| -\end{itemdescr} |
| 1292 | +\pnum |
| 1293 | +\requires \tcode{I < 2}. The program is ill-formed if \tcode{I} is out of bounds. |
1295 | 1294 |
|
1296 |
| -\indexlibrary{\idxcode{tuple_element}}% |
1297 |
| -\begin{itemdecl} |
1298 |
| -tuple_element<1, pair<T1, T2>>::type |
1299 |
| -\end{itemdecl} |
1300 |
| -\begin{itemdescr} |
1301 |
| -\pnum\textit{Value:} The type T2. |
| 1295 | +\pnum |
| 1296 | +\textit{Value:} The type \tcode{T1} if \tcode{I == 0}, otherwise the type \tcode{T2}. |
1302 | 1297 | \end{itemdescr}
|
1303 | 1298 |
|
1304 | 1299 | \indexlibrarymember{get}{pair}%
|
|
5030 | 5025 | \begin{itemdescr}
|
5031 | 5026 | \pnum
|
5032 | 5027 | \requires \tcode{I < sizeof...(Types)}.
|
| 5028 | +The program is ill-formed if \tcode{I} is out of bounds. |
5033 | 5029 |
|
5034 | 5030 | \pnum
|
5035 | 5031 | \textit{Value:} The type $\tcode{T}_I$.
|
|
0 commit comments