|
368 | 368 | and also define the function as deleted.
|
369 | 369 | \end{example}
|
370 | 370 |
|
| 371 | +\item |
| 372 | +\constantwhen |
| 373 | +the conditions that are required for a call to the function |
| 374 | +to be a constant subexpression\iref{defns.const.subexpr}. |
| 375 | + |
371 | 376 | \item
|
372 | 377 | \expects
|
373 | 378 | conditions that the function assumes to hold whenever it is called;
|
|
454 | 459 | Next, the semantics of the code sequence are determined by the
|
455 | 460 | \Fundescx{Constraints},
|
456 | 461 | \Fundescx{Mandates},
|
| 462 | +\Fundescx{Constant When}, |
457 | 463 | \Fundescx{Preconditions},
|
458 | 464 | \Fundescx{Hardened preconditions},
|
459 | 465 | \Fundescx{Effects},
|
|
1223 | 1229 | \tcode{<flat_map>} \\
|
1224 | 1230 | \tcode{<flat_set>} \\
|
1225 | 1231 | \tcode{<format>} \\
|
1226 |
| -\tcode{<forward_list>} \\ |
1227 | 1232 | \columnbreak
|
| 1233 | +\tcode{<forward_list>} \\ |
1228 | 1234 | \tcode{<fstream>} \\
|
1229 | 1235 | \tcode{<functional>} \\
|
1230 | 1236 | \tcode{<future>} \\
|
|
1248 | 1254 | \tcode{<mdspan>} \\
|
1249 | 1255 | \tcode{<memory>} \\
|
1250 | 1256 | \tcode{<memory_resource>} \\
|
1251 |
| -\tcode{<mutex>} \\ |
1252 | 1257 | \columnbreak
|
| 1258 | +\tcode{<meta>} \\ |
| 1259 | +\tcode{<mutex>} \\ |
1253 | 1260 | \tcode{<new>} \\
|
1254 | 1261 | \tcode{<numbers>} \\
|
1255 | 1262 | \tcode{<numeric>} \\
|
|
1271 | 1278 | \tcode{<span>} \\
|
1272 | 1279 | \tcode{<spanstream>} \\
|
1273 | 1280 | \tcode{<sstream>} \\
|
| 1281 | +\columnbreak |
1274 | 1282 | \tcode{<stack>} \\
|
1275 | 1283 | \tcode{<stacktrace>} \\
|
1276 |
| -\columnbreak |
1277 | 1284 | \tcode{<stdexcept>} \\
|
1278 | 1285 | \tcode{<stdfloat>} \\
|
1279 | 1286 | \tcode{<stop_token>} \\
|
|
3082 | 3089 | either a standard library non-static member function\iref{member.functions}
|
3083 | 3090 | or an instantiation of a standard library member function template.
|
3084 | 3091 |
|
| 3092 | +\pnum |
| 3093 | +Let \tcode{\placeholder{F}} denote |
| 3094 | +a standard library function or function template. |
| 3095 | +Unless \tcode{\placeholder{F}} is designated an addressable function, |
| 3096 | +it is unspecified if or how |
| 3097 | +a reflection value designating the associated entity can be formed. |
| 3098 | +%FIXME: Why is this not an example, but a note that begins with "For example"? |
| 3099 | +\begin{note} |
| 3100 | +For example, it is possible that \tcode{std::meta::members_of} |
| 3101 | +will not return reflections of standard library functions |
| 3102 | +that an implementation handles through an extra-linguistic mechanism. |
| 3103 | +\end{note} |
| 3104 | + |
| 3105 | +\pnum |
| 3106 | +Let \tcode{\placeholder{F}} denote |
| 3107 | +a standard library class or class template specialization. |
| 3108 | +It is unspecified if or how |
| 3109 | +a reflection value can be formed to any private member of \tcode{\placeholder{F}}, |
| 3110 | +or what the names of such members may be. |
| 3111 | + |
3085 | 3112 | \pnum
|
3086 | 3113 | A translation unit shall not declare namespace \tcode{std} to be an inline namespace\iref{namespace.def}.
|
3087 | 3114 |
|
|
0 commit comments