215
215
};
216
216
template<size_t I> constexpr in_place_index_t<I> in_place_index{};
217
217
218
- // nontype argument tag%
218
+ // \tcode{ nontype} argument tag%
219
219
\indexlibraryglobal{nontype_t}%
220
220
\indexlibraryglobal{nontype}
221
221
template<auto V>
13443
13443
\returns
13444
13444
\tcode{true} if \tcode{f} has no target object, otherwise \tcode{false}.
13445
13445
\end{itemdescr}
13446
- \indextext{function object!wrapper|)}
13447
13446
13448
13447
\rSec3[func.wrap.ref]{Non-owning wrapper}
13449
13448
13461
13460
13462
13461
\rSec4[func.wrap.ref.class]{Class template \tcode{function_ref}}
13463
13462
13464
- \indexlibraryglobal{move_only_function }%
13463
+ \indexlibraryglobal{function_ref }%
13465
13464
\begin{codeblock}
13466
13465
namespace std {
13467
13466
template<class... S> class function_ref; // \notdef
13483
13482
template<class T> function_ref& operator=(T) = delete;
13484
13483
13485
13484
// \ref{func.wrap.ref.inv}, invocation
13486
- R operator()(ArgTypes...) const noexcept(noex);
13485
+ R operator()(ArgTypes...) const noexcept(@\placeholder{ noex}@ );
13487
13486
13488
13487
private:
13489
13488
template<class... T>
13494
13493
template<class F>
13495
13494
function_ref(F*) -> function_ref<F>;
13496
13495
template<auto f>
13497
- function_ref(nontype_t<f>) -> function_ref<see below >;
13496
+ function_ref(nontype_t<f>) -> function_ref<@\seebelow@ >;
13498
13497
template<auto f>
13499
- function_ref(nontype_t<f>, auto) -> function_ref<see below >;
13498
+ function_ref(nontype_t<f>, auto) -> function_ref<@\seebelow@ >;
13500
13499
}
13501
13500
\end{codeblock}
13502
13501
@@ -13513,11 +13512,11 @@
13513
13512
models \libconcept{copyable} and
13514
13513
is capable of storing a pointer to object value or a pointer to function value.
13515
13514
The type of \exposid{thunk-ptr} is
13516
- \tcode{R(*)(BoundEntityType, Args\&\&...) noexcept(noex)}.
13515
+ \tcode{R(*)(BoundEntityType, Args\&\&...) noexcept(\placeholder{ noex} )}.
13517
13516
13518
13517
\pnum
13519
13518
Each specialization of \tcode{function_ref} is
13520
- a trivially copyable type \ref {basic.types} that models \libconcept{copyable}.
13519
+ a trivially copyable type\iref {basic.types} that models \libconcept{copyable}.
13521
13520
13522
13521
\pnum
13523
13522
Within this subclause,
13623
13622
\pnum
13624
13623
\effects
13625
13624
Initializes
13626
- \exposid{bound-entity} with a pointer to unspecified object or
13625
+ \exposid{bound-entity} with a pointer to an unspecified object or
13627
13626
null pointer value, and
13628
13627
\exposid{thunk-ptr} with the address of a function \tcode{\placeholder{thunk}}
13629
13628
such that
13732
13731
13733
13732
\rSec4[func.wrap.ref.deduct]{Deduction guides}
13734
13733
13735
- \indexlibrarymember{operator()}{function_ref}%
13736
13734
\begin{itemdecl}
13737
13735
template<class F>
13738
13736
function_ref(F*) -> function_ref<F>;
13744
13742
\tcode{is_function_v<F>} is \tcode{true}.
13745
13743
\end{itemdescr}
13746
13744
13747
- \indexlibrarymember{operator()}{function_ref}%
13748
13745
\begin{itemdecl}
13749
13746
template<auto f>
13750
13747
function_ref(nontype_t<f>) -> function_ref<@\seebelow@>;
13763
13760
The deduced type is \tcode{function_ref<F>}.
13764
13761
\end{itemdescr}
13765
13762
13766
- \indexlibrarymember{operator()}{function_ref}%
13767
13763
\begin{itemdecl}
13768
13764
template<auto f, class T>
13769
13765
function_ref(nontype_t<f>, T&&) -> function_ref<@\seebelow@>;
13797
13793
\remarks
13798
13794
The deduced type is \tcode{function_ref<R(A...) noexcept(E)>}.
13799
13795
\end{itemdescr}
13796
+ \indextext{function object!wrapper|)}
13800
13797
13801
13798
\rSec2[func.search]{Searchers}
13802
13799
0 commit comments