Skip to content
Open
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
48 changes: 24 additions & 24 deletions source/basic.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3607,11 +3607,11 @@
\indextext{most derived object!bit-field}%
Unless it is a bit-field\iref{class.bit},
an object with nonzero size
shall occupy one or more bytes of storage,
occupies one or more bytes of storage,
including every byte that is occupied in full or in part
by any of its subobjects.
An object of trivially copyable or
standard-layout type\iref{basic.types.general} shall occupy contiguous bytes of
standard-layout type\iref{basic.types.general} occupies contiguous bytes of
storage.

\pnum
Expand Down Expand Up @@ -3812,7 +3812,7 @@
expression for the fundamental types plus an additional \impldef{alignment additional
values}
set of values, which may be empty.
Every alignment value shall be a non-negative integral power of two.
Every alignment value is a non-negative integral power of two.

\pnum
Alignments have an order from \defnx{weaker}{alignment!weaker} to
Expand All @@ -3823,7 +3823,7 @@
\pnum
The alignment requirement of a complete type can be queried using an
\keyword{alignof} expression\iref{expr.alignof}. Furthermore,
the narrow character types\iref{basic.fundamental} shall have the weakest
the narrow character types\iref{basic.fundamental} have the weakest
alignment requirement.
\begin{note}
This enables the ordinary character types to be used as the
Expand Down Expand Up @@ -4336,7 +4336,7 @@

\pnum
If a variable with static storage duration has initialization or a
destructor with side effects, it shall not be eliminated even if it
destructor with side effects, an implementation shall not eliminate it even if it
appears to be unused, except that a class object or its copy/move may be
eliminated as specified in~\ref{class.copy.elision}.

Expand Down Expand Up @@ -4526,7 +4526,7 @@
For an allocation function other than
a reserved placement allocation function\iref{new.delete.placement},
the pointer returned on a successful call
shall represent the address of storage that is aligned as follows:
represents the address of storage that is aligned as follows:
\begin{itemize}
\item
If the allocation function takes an argument
Expand Down Expand Up @@ -4644,7 +4644,7 @@
\pnum
If the argument given to a deallocation function in the standard library
is a pointer that is not the null pointer value\iref{basic.compound}, the
deallocation function shall deallocate the storage referenced by the
deallocation function deallocates the storage referenced by the
pointer, ending the duration of the region of storage.

\rSec2[class.temporary]{Temporary objects}
Expand Down Expand Up @@ -4980,21 +4980,21 @@
ends at the same point,
these temporaries are destroyed at that point in the reverse order of the
completion of their construction.
In addition, the destruction of such temporaries shall
take into account the ordering of destruction of objects with static, thread, or
In addition, the destruction of such temporaries
takes into account the ordering of destruction of objects with static, thread, or
automatic storage duration\iref{basic.stc.static,basic.stc.thread,basic.stc.auto};
that is, if
\tcode{obj1}
is an object with the same storage duration as the temporary and
created before the temporary is created
the temporary shall be destroyed before
the temporary is destroyed before
\tcode{obj1}
is destroyed;
if
\tcode{obj2}
is an object with the same storage duration as the temporary and
created after the temporary is created
the temporary shall be destroyed after
the temporary is destroyed after
\tcode{obj2}
is destroyed.

Expand Down Expand Up @@ -5040,7 +5040,7 @@
is created before
\tcode{T2},
\tcode{T2}
shall be destroyed before
is destroyed before
\tcode{T1}.
The temporaries
\tcode{T1}
Expand Down Expand Up @@ -5071,11 +5071,11 @@
is constructed before
\tcode{obj2},
\tcode{obj2}
shall be destroyed before
is destroyed before
\tcode{T3},
and
\tcode{T3}
shall be destroyed before
is destroyed before
\tcode{obj1}.
\end{example}

Expand Down Expand Up @@ -5110,7 +5110,7 @@
functions\iref{headers} \tcode{std::memcpy} or \tcode{std::memmove}.
\end{footnote}
If the content of that array
is copied back into the object, the object shall
is copied back into the object, the object will
subsequently hold its original value.
\begin{example}
\begin{codeblock}
Expand All @@ -5132,7 +5132,7 @@
By using, for example,
the library functions\iref{headers} \tcode{std::memcpy} or \tcode{std::memmove}.
\end{footnote}
\tcode{obj2} shall subsequently hold the same value as
\tcode{obj2} will subsequently hold the same value as
\tcode{obj1}.
\begin{example}
\begin{codeblock}
Expand Down Expand Up @@ -5442,7 +5442,7 @@

\pnum
The width of each standard signed integer type
shall not be less than the values specified in \tref{basic.fundamental.width}.
is no less than the values specified in \tref{basic.fundamental.width}.
The value representation of a signed or unsigned integer type
comprises $N$ bits, where N is the respective width.
Each set of values for any padding bits\iref{basic.types.general}
Expand Down Expand Up @@ -5660,7 +5660,7 @@
A prvalue of type \tcode{std::nullptr_t} is a null pointer
constant\iref{conv.ptr}. Such values participate in the pointer and the
pointer-to-member conversions\iref{conv.ptr,conv.mem}.
\tcode{\keyword{sizeof}(std::nullptr_t)} shall be equal to \tcode{\keyword{sizeof}(\keyword{void}*)}.
\tcode{\keyword{sizeof}(std::nullptr_t)} is equal to \tcode{\keyword{sizeof}(\keyword{void}*)}.

\pnum
A value of type \tcode{std::meta::info} is called a \defn{reflection}.
Expand Down Expand Up @@ -5970,7 +5970,7 @@
is considered to belong to an array with one element of type \tcode{T}.
The value representation of
pointer types is \impldef{value representation of pointer types}. Pointers to
layout-compatible types shall
layout-compatible types
have the same value representation and alignment
requirements\iref{basic.align}.
\begin{note}
Expand Down Expand Up @@ -6046,9 +6046,9 @@
\indextext{\idxcode{void*}!type}%
A pointer to \cv{}~\keyword{void}
can be used to point to objects of
unknown type. Such a pointer shall be able to hold any object pointer.
unknown type. Such a pointer can hold any object pointer.
An object of type ``pointer to \cv{}~\keyword{void}''
shall have the same representation and alignment
has the same representation and alignment
requirements as an object of type ``pointer to \cv{}~\keyword{char}''.

\rSec2[basic.type.qualifier]{CV-qualifiers}
Expand All @@ -6063,7 +6063,7 @@
a \defn{const-qualified} version,
a \defn{volatile-qualified} version, and
a \defn{const-volatile-qualified} version.
The types in each such group shall have
The types in each such group have
the same representation and alignment requirements\iref{basic.align}.
\begin{footnote}
The same representation and alignment requirements
Expand Down Expand Up @@ -6459,7 +6459,7 @@
\placeholder{B}, if \placeholder{A} is sequenced before \placeholder{B}
(or, equivalently, \placeholder{B} is \defn{sequenced after} \placeholder{A}),
then the execution of
\placeholder{A} shall precede the execution of \placeholder{B}. If \placeholder{A} is not sequenced
\placeholder{A} precedes the execution of \placeholder{B}. If \placeholder{A} is not sequenced
before \placeholder{B} and \placeholder{B} is not sequenced before \placeholder{A}, then \placeholder{A} and
\placeholder{B} are \defn{unsequenced}.
\begin{note}
Expand Down Expand Up @@ -7005,7 +7005,7 @@
\item
If there is only one thread that is not blocked\iref{defns.block}
in a standard library function,
a lock-free execution in that thread shall complete.
a lock-free execution in that thread will complete.
\begin{note}
Concurrently executing threads
might prevent progress of a lock-free execution.
Expand Down