|
213 | 213 | }; |
214 | 214 | template<size_t I> constexpr in_place_index_t<I> in_place_index{}; |
215 | 215 |
|
216 | | - // \tcode{nontype} argument tag% |
217 | | -\indexlibraryglobal{nontype_t}% |
218 | | -\indexlibraryglobal{nontype} |
| 216 | + // \tcode{constant_arg} argument tag% |
| 217 | +\indexlibraryglobal{constant_arg_t}% |
| 218 | +\indexlibraryglobal{constant_arg} |
219 | 219 | template<auto V> |
220 | | - struct nontype_t { |
221 | | - explicit nontype_t() = default; |
| 220 | + struct constant_arg_t { |
| 221 | + explicit constant_arg_t() = default; |
222 | 222 | }; |
223 | | - template<auto V> constexpr nontype_t<V> nontype{}; |
| 223 | + template<auto V> constexpr constant_arg_t<V> constant_arg{}; |
224 | 224 |
|
225 | 225 | // \ref{variant.monostate}, class \tcode{monostate}% |
226 | 226 | \indexlibraryglobal{monostate} |
|
15077 | 15077 | // \ref{func.wrap.ref.ctor}, constructors and assignment operators |
15078 | 15078 | template<class F> function_ref(F*) noexcept; |
15079 | 15079 | template<class F> constexpr function_ref(F&&) noexcept; |
15080 | | - template<auto f> constexpr function_ref(nontype_t<f>) noexcept; |
15081 | | - template<auto f, class U> constexpr function_ref(nontype_t<f>, U&&) noexcept; |
15082 | | - template<auto f, class T> constexpr function_ref(nontype_t<f>, @\cv{}@ T*) noexcept; |
| 15080 | + template<auto f> constexpr function_ref(constant_arg_t<f>) noexcept; |
| 15081 | + template<auto f, class U> constexpr function_ref(constant_arg_t<f>, U&&) noexcept; |
| 15082 | + template<auto f, class T> constexpr function_ref(constant_arg_t<f>, @\cv{}@ T*) noexcept; |
15083 | 15083 |
|
15084 | 15084 | constexpr function_ref(const function_ref&) noexcept = default; |
15085 | 15085 | constexpr function_ref& operator=(const function_ref&) noexcept = default; |
|
15100 | 15100 | template<class F> |
15101 | 15101 | function_ref(F*) -> function_ref<F>; |
15102 | 15102 | template<auto f> |
15103 | | - function_ref(nontype_t<f>) -> function_ref<@\seebelow@>; |
| 15103 | + function_ref(constant_arg_t<f>) -> function_ref<@\seebelow@>; |
15104 | 15104 | template<auto f, class T> |
15105 | | - function_ref(nontype_t<f>, T&&) -> function_ref<@\seebelow@>; |
| 15105 | + function_ref(constant_arg_t<f>, T&&) -> function_ref<@\seebelow@>; |
15106 | 15106 | } |
15107 | 15107 | \end{codeblock} |
15108 | 15108 |
|
|
15210 | 15210 |
|
15211 | 15211 | \indexlibraryctor{function_ref}% |
15212 | 15212 | \begin{itemdecl} |
15213 | | -template<auto f> constexpr function_ref(nontype_t<f>) noexcept; |
| 15213 | +template<auto f> constexpr function_ref(constant_arg_t<f>) noexcept; |
15214 | 15214 | \end{itemdecl} |
15215 | 15215 |
|
15216 | 15216 | \begin{itemdescr} |
|
15241 | 15241 | \indexlibraryctor{function_ref}% |
15242 | 15242 | \begin{itemdecl} |
15243 | 15243 | template<auto f, class U> |
15244 | | - constexpr function_ref(nontype_t<f>, U&& obj) noexcept; |
| 15244 | + constexpr function_ref(constant_arg_t<f>, U&& obj) noexcept; |
15245 | 15245 | \end{itemdecl} |
15246 | 15246 |
|
15247 | 15247 | \begin{itemdescr} |
|
15275 | 15275 | \indexlibraryctor{function_ref}% |
15276 | 15276 | \begin{itemdecl} |
15277 | 15277 | template<auto f, class T> |
15278 | | - constexpr function_ref(nontype_t<f>, @\cv{}@ T* obj) noexcept; |
| 15278 | + constexpr function_ref(constant_arg_t<f>, @\cv{}@ T* obj) noexcept; |
15279 | 15279 | \end{itemdecl} |
15280 | 15280 |
|
15281 | 15281 | \begin{itemdescr} |
|
15318 | 15318 | \begin{itemize} |
15319 | 15319 | \item \tcode{T} is not the same type as \tcode{function_ref}, |
15320 | 15320 | \item \tcode{is_pointer_v<T>} is \tcode{false}, and |
15321 | | -\item \tcode{T} is not a specialization of \tcode{nontype_t}. |
| 15321 | +\item \tcode{T} is not a specialization of \tcode{constant_arg_t}. |
15322 | 15322 | \end{itemize} |
15323 | 15323 | \end{itemdescr} |
15324 | 15324 |
|
|
15351 | 15351 |
|
15352 | 15352 | \begin{itemdecl} |
15353 | 15353 | template<auto f> |
15354 | | - function_ref(nontype_t<f>) -> function_ref<@\seebelow@>; |
| 15354 | + function_ref(constant_arg_t<f>) -> function_ref<@\seebelow@>; |
15355 | 15355 | \end{itemdecl} |
15356 | 15356 |
|
15357 | 15357 | \begin{itemdescr} |
|
15369 | 15369 |
|
15370 | 15370 | \begin{itemdecl} |
15371 | 15371 | template<auto f, class T> |
15372 | | - function_ref(nontype_t<f>, T&&) -> function_ref<@\seebelow@>; |
| 15372 | + function_ref(constant_arg_t<f>, T&&) -> function_ref<@\seebelow@>; |
15373 | 15373 | \end{itemdecl} |
15374 | 15374 |
|
15375 | 15375 | \begin{itemdescr} |
|
0 commit comments