Skip to content
Closed
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
2 changes: 1 addition & 1 deletion source/algorithms.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3188,7 +3188,7 @@
\begin{itemdescr}
\pnum
\requires
\tcode{*first} shall be swappable~(\ref{swappable.requirements}).
\tcode{*first} shall be \tcode{swappable}~(\ref{swappable.requirements}).

\pnum
\effects
Expand Down
6 changes: 3 additions & 3 deletions source/containers.tex
Original file line number Diff line number Diff line change
Expand Up @@ -339,12 +339,12 @@
\tcode{b} without invoking any move, copy, or swap operations on the individual
container elements.
Lvalues of any \tcode{Compare}, \tcode{Pred}, or \tcode{Hash} types
belonging to \tcode{a} and \tcode{b} shall be swappable
belonging to \tcode{a} and \tcode{b} shall be \tcode{swappable}
and shall be exchanged by calling \tcode{swap}
as described in~\ref{swappable.requirements}. If
\tcode{allocator_traits<allocator_type>::propagate_on_container_swap::value} is
\tcode{true}, then
lvalues of type \tcode{allocator_type} shall be swappable and
lvalues of type \tcode{allocator_type} shall be \tcode{swappable} and
the allocators of \tcode{a} and \tcode{b} shall also be exchanged
by calling \tcode{swap} as described in~\ref{swappable.requirements}.
Otherwise, the allocators shall not be swapped, and the behavior is
Expand Down Expand Up @@ -863,7 +863,7 @@
\requires\ \tcode{T} shall be \tcode{EmplaceConstructible} into \tcode{X} from \tcode{*i}.
For \tcode{vector} and \tcode{deque}, \tcode{T} shall also be
\tcode{MoveInsertable} into \tcode{X}, \tcode{MoveConstructible}, \tcode{MoveAssignable},
and swappable~(\ref{swappable.requirements}).
and \tcode{swappable}~(\ref{swappable.requirements}).
Each iterator in the range \range{i}{j} shall be dereferenced exactly once.\br
\requires \tcode{i} and \tcode{j} are not iterators into \tcode{a}.\br
Inserts copies of elements in \tcode{[i, j)} before \tcode{p} \\ \rowsep
Expand Down
2 changes: 1 addition & 1 deletion source/iterators.tex
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@
\begin{itemize}
\item \tcode{X} satisfies the \tcode{CopyConstructible}, \tcode{CopyAssignable}, and
\tcode{Destructible} requirements~(\ref{utility.arg.requirements}) and lvalues
of type \tcode{X} are swappable (\ref{swappable.requirements}), and
of type \tcode{X} are \tcode{swappable} (\ref{swappable.requirements}), and

\item the expressions in Table~\ref{tab:iterator.requirements} are valid and have
the indicated semantics.
Expand Down
12 changes: 6 additions & 6 deletions source/lib-intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1534,7 +1534,7 @@
\rSec3[swappable.requirements]{\tcode{Swappable} requirements}

\pnum
This subclause provides definitions for swappable types and expressions. In these
This subclause provides definitions for \tcode{swappable} types and expressions. In these
definitions, let \tcode{t} denote an expression of type \tcode{T}, and let \tcode{u}
denote an expression of type \tcode{U}.

Expand Down Expand Up @@ -1571,7 +1571,7 @@
qualified name lookup applied to the expression \tcode{std::swap(t, u)} or
\tcode{std::swap(u, t)} as appropriate. \end{note}

\begin{note} It is unspecified whether a library component that has a swappable
\begin{note} It is unspecified whether a library component that has a \tcode{swappable}
requirement includes the header \tcode{<utility>} to ensure an appropriate
evaluation context. \end{note}

Expand All @@ -1584,7 +1584,7 @@
satisfies the requirements of \tcode{ValueSwappable} if,
for any dereferenceable object
\tcode{x} of type \tcode{X},
\tcode{*x} is swappable.
\tcode{*x} is \tcode{swappable}.

\begin{example} User code can ensure that the evaluation of \tcode{swap} calls
is performed in an appropriate context under the various conditions as follows:
Expand All @@ -1599,7 +1599,7 @@
// for rvalues and lvalues
}

// Requires: lvalues of \tcode{T} shall be swappable.
// Requires: lvalues of \tcode{T} shall be \tcode{swappable}.
template <class T>
void lv_swap(T& t1, T& t2) {
using std::swap;
Expand Down Expand Up @@ -1641,7 +1641,7 @@
\tcode{DefaultConstructible}, \tcode{CopyConstructible}, \tcode{CopyAssignable},
and \tcode{Destructible},

\item lvalues of type \tcode{P} are swappable~(\ref{swappable.requirements}),
\item lvalues of type \tcode{P} are \tcode{swappable}~(\ref{swappable.requirements}),

\item the expressions shown in Table~\ref{tab:nullablepointer} are
valid and have the indicated semantics, and
Expand Down Expand Up @@ -2036,7 +2036,7 @@
\tcode{MoveAssignable} requirements (Table~\ref{tab:moveassignable})
and the move operation shall not throw exceptions.
If \tcode{X::propagate_on_container_swap::value} is \tcode{true},
lvalues of type \tcode{X} shall be swappable~(\ref{swappable.requirements})
lvalues of type \tcode{X} shall be \tcode{swappable}~(\ref{swappable.requirements})
and the \tcode{swap} operation shall not throw exceptions.

\pnum
Expand Down
12 changes: 6 additions & 6 deletions source/utilities.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3273,7 +3273,7 @@
\begin{itemdescr}
\pnum
\requires
Lvalues of type \tcode{T} shall be swappable and \tcode{is_move_constructible_v<T>} is \tcode{true}.
Lvalues of type \tcode{T} shall be \tcode{swappable} and \tcode{is_move_constructible_v<T>} is \tcode{true}.

\pnum
\effects
Expand Down Expand Up @@ -4929,7 +4929,7 @@

\begin{itemdescr}
\pnum
\requires Lvalues of type $\tcode{T}_i$ shall be swappable~(\ref{swappable.requirements}) and
\requires Lvalues of type $\tcode{T}_i$ shall be \tcode{swappable}~(\ref{swappable.requirements}) and
\tcode{is_move_constructible_v<$\tcode{T}_i$>} shall be \tcode{true} for all $i$.

\pnum
Expand Down Expand Up @@ -9003,7 +9003,7 @@
\begin{itemdescr}
\pnum
\requires \tcode{get_deleter()} shall be
swappable~(\ref{swappable.requirements}) and shall
\tcode{swappable}~(\ref{swappable.requirements}) and shall
not throw an exception
under \tcode{swap}.

Expand Down Expand Up @@ -15197,7 +15197,7 @@
with \tcode{Key} as the function
call argument type, the \tcode{Default\-Constructible} requirements (Table~\ref{tab:defaultconstructible}),
the \tcode{CopyAssignable} requirements (Table~\ref{tab:copyassignable}),
\item be swappable~(\ref{swappable.requirements}) for lvalues,
\item be \tcode{swappable}~(\ref{swappable.requirements}) for lvalues,
\item satisfy the requirement that if \tcode{k1 == k2} is \tcode{true}, \tcode{h(k1) == h(k2)} is
also \tcode{true}, where \tcode{h} is an object of type \tcode{hash<Key>} and \tcode{k1} and \tcode{k2}
are objects of type \tcode{Key};
Expand Down Expand Up @@ -16018,7 +16018,7 @@
\tcode{swap(declval<U>(), declval<T>())} are each well-formed
when treated as an unevaluated operand (Clause~\ref{expr})
in an overload-resolution context
for swappable values~(\ref{swappable.requirements}).
for \tcode{swappable} values~(\ref{swappable.requirements}).
Access checking is performed as if in a context
unrelated to \tcode{T} and \tcode{U}.
Only the validity of the immediate context
Expand Down Expand Up @@ -17601,7 +17601,7 @@
that operations on these types will not throw exceptions. \end{note}

\item lvalues of the types \tcode{TC::rep}, \tcode{TC::duration}, and
\tcode{TC::time_point} are swappable~(\ref{swappable.requirements}),
\tcode{TC::time_point} are \tcode{swappable}~(\ref{swappable.requirements}),

\item the function \tcode{TC::now()} does not throw exceptions, and

Expand Down