Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions source/macros.tex
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,36 @@
\newcommand{\fakegrammarterm}[1]{\gterm{#1}}
\newcommand{\grammarterm}[1]{\indexgram{\idxgram{#1}}\gterm{#1}}
\newcommand{\grammartermnc}[1]{\indexgram{\idxgram{#1}}\gterm{#1\nocorr}}
\newcommand{\placeholder}[1]{\textit{#1}}
\newcommand{\placeholdernc}[1]{\textit{#1\nocorr}}
\usepackage{xifthen}
\usepackage{etoolbox}
\makeatletter
\let\std@phcorr\relax
\newrobustcmd{\placeholder}[1]{%
\ifthenelse{\equal{\f@family}{\rmdefault}}{%
\textit{#1\std@phcorr}%
}{%
\ifthenelse{\equal{\f@family}{\ttdefault}}{%
\textsl{#1\std@phcorr}%
}{%
\ifthenelse{\equal{\f@family}{\sfdefault}}{%
\textit{#1\std@phcorr}%
}{%
\textit{#1\std@phcorr}%
\PackageWarning{std}{%
\string\placeholder\space macro used in unfamiliar environment.%
\MessageBreak \string\f@family\space is `\f@family'%
}%
}%
}%
}%
}
\newrobustcmd{\placeholdernc}[1]{%
\begingroup
\let\std@phcorr\nocorr
\placeholder{#1}%
\endgroup
}
\makeatother
\newcommand{\defnxname}[1]{\indextext{\idxxname{#1}}\xname{#1}}
\newcommand{\defnlibxname}[1]{\indexlibrary{\idxxname{#1}}\xname{#1}}

Expand Down
3 changes: 2 additions & 1 deletion source/threads.tex
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@
This constructor shall not participate in overload resolution if \tcode{remove_cvref_t<F>}
is the same type as \tcode{std::thread}.

\pnum
\pnum \sloppy
\effects\ Constructs an object of type \tcode{thread}. The new thread of execution executes
\tcode{%
\placeholdernc{INVOKE}(\brk{}%
Expand All @@ -556,6 +556,7 @@
std::forward<Args>(args))...)}
termi\-nates with an uncaught exception, \tcode{terminate} shall be called.

\fussy

\pnum\sync The completion of the invocation of the constructor
synchronizes with the beginning of the invocation of the copy of \tcode{f}.
Expand Down
6 changes: 6 additions & 0 deletions source/utilities.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3961,12 +3961,15 @@

\begin{itemdescr}
\pnum
\sloppy
Let $\tcode{T}_j$ be a type that is determined as follows:
build an imaginary function \tcode{\placeholdernc{FUN}($\tcode{T}_i$)} for each alternative type $\tcode{T}_i$. The overload \tcode{\placeholdernc{FUN}($\tcode{T}_j$)} selected by overload
resolution for the expression \tcode{\placeholdernc{FUN}(std::forward<T>(\brk{}t))} defines
the alternative $\tcode{T}_j$ which is the type of the contained value after
construction.

\fussy

\pnum
\effects
Initializes \tcode{*this} to hold the alternative type $\tcode{T}_j$ and
Expand Down Expand Up @@ -4256,13 +4259,16 @@

\begin{itemdescr}
\pnum
\sloppy
Let $\tcode{T}_j$ be a type that is determined as follows:
build an imaginary function \tcode{\placeholdernc{FUN}($\tcode{T}_i$)} for each alternative type
$\tcode{T}_i$. The overload \tcode{\placeholdernc{FUN}($\tcode{T}_j$)} selected by overload
resolution for the expression \tcode{\placeholdernc{FUN}(std::forward<T>(\brk{}t))} defines
the alternative $\tcode{T}_j$ which is the type of the contained value after
assignment.

\fussy

\pnum
\effects
\begin{itemize}
Expand Down