|
517 | 517 | be a constexpr function if and only if all required element-wise
|
518 | 518 | initializations for copy and move, respectively, would satisfy the
|
519 | 519 | requirements for a constexpr function.
|
520 |
| -The destructor of \tcode{pair} shall be a trivial destructor if |
521 |
| -\tcode{(is_trivially_destructible_v<T1> \&\& is_trivially_destructible_v<T2>)} |
522 |
| -is \tcode{true}. |
| 520 | + |
| 521 | +\pnum |
| 522 | +If \tcode{(is_trivially_destructible_v<T1> \&\& is_trivially_destructible_v<T2>)} |
| 523 | +is \tcode{true}, then the destructor of \tcode{pair} is trivial. |
523 | 524 |
|
524 | 525 | \indexlibrary{\idxcode{pair}!constructor}%
|
525 | 526 | \begin{itemdecl}
|
|
1161 | 1162 |
|
1162 | 1163 | \rSec3[tuple.cnstr]{Construction}
|
1163 | 1164 |
|
| 1165 | +\pnum |
| 1166 | +In the descriptions that follow, let $i$ be in the range |
| 1167 | +\range{0}{sizeof...(Types)} in order, $\tcode{T}_i$ |
| 1168 | +be the $i^\text{th}$ type in \tcode{Types}, and |
| 1169 | +$\tcode{U}_i$ be the $i^\text{th}$ type in a template parameter pack named \tcode{UTypes}, where indexing |
| 1170 | +is zero-based. |
| 1171 | + |
1164 | 1172 | \pnum
|
1165 | 1173 | For each \tcode{tuple} constructor, an exception is thrown only if the construction of
|
1166 | 1174 | one of the types in \tcode{Types} throws an exception.
|
|
1174 | 1182 | constexpr functions.
|
1175 | 1183 |
|
1176 | 1184 | \pnum
|
1177 |
| -The destructor of \tcode{tuple} shall be a trivial destructor if |
1178 |
| -\tcode{(is_trivially_destructible_v<Types> \&\& ...)} |
1179 |
| -is \tcode{true}. |
1180 |
| - |
1181 |
| -\pnum |
1182 |
| -In the constructor descriptions that follow, let $i$ be in the range |
1183 |
| -\range{0}{sizeof...(Types)} in order, $\tcode{T}_i$ |
1184 |
| -be the $i^\text{th}$ type in \tcode{Types}, and |
1185 |
| -$\tcode{U}_i$ be the $i^\text{th}$ type in a template parameter pack named \tcode{UTypes}, where indexing |
1186 |
| -is zero-based. |
| 1185 | +If \tcode{is_trivially_destructible_v<$\tcode{T}_i$>} is \tcode{true} for all $\tcode{T}_i$, |
| 1186 | +then the destructor of \tcode{tuple} is trivial. |
1187 | 1187 |
|
1188 | 1188 | \indexlibrary{\idxcode{tuple}!constructor}%
|
1189 | 1189 | \begin{itemdecl}
|
|
2544 | 2544 |
|
2545 | 2545 | \pnum
|
2546 | 2546 | \remarks
|
2547 |
| -If \tcode{is_trivially_destructible_v<T> == true} then this destructor shall be a trivial destructor. |
| 2547 | +If \tcode{is_trivially_destructible_v<T>} is \tcode{true}, then this destructor is trivial. |
2548 | 2548 | \end{itemdescr}
|
2549 | 2549 |
|
2550 | 2550 | \rSec3[optional.assign]{Assignment}
|
|
4162 | 4162 |
|
4163 | 4163 | \pnum
|
4164 | 4164 | \remarks
|
4165 |
| -If \tcode{is_trivially_destructible_v<$\tcode{T}_i$> == true} for all $\tcode{T}_i$ |
4166 |
| -then this destructor shall be a trivial destructor. |
| 4165 | +If \tcode{is_trivially_destructible_v<$\tcode{T}_i$>} is \tcode{true} for all $\tcode{T}_i$, |
| 4166 | +then this destructor is trivial. |
4167 | 4167 | \end{itemdescr}
|
4168 | 4168 |
|
4169 | 4169 | \rSec3[variant.assign]{Assignment}
|
|
0 commit comments