Skip to content

Commit 8f447db

Browse files
committed
[functional.syn, func.bind.isplace] Improve how we talk about placeholder placeholders as opposed to concrete placeholders
1 parent 7b704e1 commit 8f447db

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

source/utilities.tex

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12712,7 +12712,8 @@
1271212712
\begin{codeblock}
1271312713
namespace std {
1271412714
// \ref{func.invoke}, invoke
12715-
template <class F, class... Args> result_of_t<F&&(Args&&...)> invoke(F&& f, Args&&... args);
12715+
template <class F, class... Args>
12716+
result_of_t<F&&(Args&&...)> invoke(F&& f, Args&&... args);
1271612717

1271712718
// \ref{refwrap}, reference_wrapper
1271812719
template <class T> class reference_wrapper;
@@ -12772,7 +12773,8 @@
1277212773
template <> struct bit_not<void>;
1277312774

1277412775
// \ref{func.not_fn}, function template \tcode{not_fn}
12775-
template <class F> @\unspec@ not_fn(F&& f);
12776+
template <class F>
12777+
@\unspec@ not_fn(F&& f);
1277612778

1277712779
// \ref{func.bind}, bind
1277812780
template<class T> struct is_bind_expression;
@@ -12784,17 +12786,18 @@
1278412786
@\unspec@ bind(F&&, BoundArgs&&...);
1278512787

1278612788
namespace placeholders {
12787-
// M is the \impldef{number of placeholders for bind expressions} number of placeholders
12788-
@\seebelow@ _1;
12789-
@\seebelow@ _2;
12790-
.
12791-
.
12792-
.
12793-
@\seebelow@ _M;
12789+
// \tcode{\placeholder{M}} is the \impldef{number of placeholders for bind expressions} number of placeholders
12790+
@\seebelownc@ _1;
12791+
@\seebelownc@ _2;
12792+
.
12793+
.
12794+
.
12795+
@\seebelownc@ _@\placeholdernc{M}@;
1279412796
}
1279512797

1279612798
// \ref{func.memfn}, member function adaptors
12797-
template<class R, class T> @\unspec@ mem_fn(R T::*) noexcept;
12799+
template<class R, class T>
12800+
@\unspec@ mem_fn(R T::*) noexcept;
1279812801

1279912802
// \ref{func.wrap}, polymorphic function wrappers
1280012803
class bad_function_call;
@@ -14069,12 +14072,12 @@
1406914072
Instantiations of the \tcode{is_placeholder} template shall meet
1407014073
the \tcode{UnaryTypeTrait} requirements~(\ref{meta.rqmts}). The implementation
1407114074
shall provide a definition that has the base characteristic of
14072-
\tcode{integral_constant<int, J>} if \tcode{T} is the type of
14073-
\tcode{std::placeholders::_J}, otherwise it shall have a
14075+
\tcode{integral_constant<int, \placeholder{J}>} if \tcode{T} is the type of
14076+
\tcode{std::placeholders::_\placeholder{J}}, otherwise it shall have a
1407414077
base characteristic of \tcode{integral_constant<int, 0>}. A program
1407514078
may specialize this template for a user-defined type \tcode{T} to
14076-
have a base characteristic of \tcode{integral_constant<int, \textit{N}>}
14077-
with \tcode{\textit{N} > 0} to indicate that \tcode{T} should be
14079+
have a base characteristic of \tcode{integral_constant<int, N>}
14080+
with \tcode{N > 0} to indicate that \tcode{T} should be
1407814081
treated as a placeholder type.
1407914082

1408014083
\rSec3[func.bind.bind]{Function template \tcode{bind}}

0 commit comments

Comments
 (0)