Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve indexing for "trivial class" et al #2065

Merged
merged 2 commits into from
Jun 27, 2018
Merged
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
14 changes: 8 additions & 6 deletions source/basic.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3760,17 +3760,19 @@
a function type, not a reference type, and not \cv{}~\tcode{void}.

\pnum
Arithmetic types\iref{basic.fundamental}, enumeration types, pointer
types, pointer-to-member types\iref{basic.compound},
\indextext{class!trivial}
\indextext{class!trivially copyable}
\indextext{class!standard-layout}
Arithmetic types\iref{basic.fundamental}, enumeration types,
pointer types, pointer-to-member types\iref{basic.compound},
\tcode{std::nullptr_t},
and
cv-qualified\iref{basic.type.qualifier} versions of these
types are collectively called
\defnx{scalar types}{scalar type}.
Cv-unqualified scalar types, trivially copyable class types\iref{class}, arrays of
such types, and cv-qualified versions of these
types are collectively called \defn{trivially
copyable types}.
Cv-unqualified scalar types, trivially copyable class types\iref{class},
arrays of such types, and cv-qualified versions of these
types are collectively called \defn{trivially copyable types}.
Scalar types, trivial class types\iref{class},
arrays of such types and cv-qualified versions of these
types are collectively called
Expand Down
6 changes: 4 additions & 2 deletions source/classes.tex
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@
Aggregates of class type are described in~\ref{dcl.init.aggr}.
\end{note}

\indextext{trivial class|see{class, trivial}}%
\pnum
\indextext{trivially copyable class|see{class, trivially copyable}}%
A \defnx{trivially copyable class}{class!trivially copyable} is a class:

\begin{itemize}
Expand All @@ -137,15 +137,17 @@
\item that has a trivial, non-deleted destructor\iref{class.dtor}.
\end{itemize}

\pnum
\indextext{trivial class|see{class, trivial}}%
A \defnx{trivial class}{class!trivial} is a class that is trivially copyable and
has one or more default constructors\iref{class.ctor},
all of which are either trivial or deleted and
at least one of which is not deleted.
\begin{note} In particular, a trivially copyable or trivial class does not have
virtual functions or virtual base classes.\end{note}

\indextext{standard-layout|see{class, standard-layout}}%
\pnum
\indextext{standard-layout|see{class, standard-layout}}%
A class \tcode{S} is a \defnx{standard-layout class}{class!standard-layout} if it:
\begin{itemize}
\item has no non-static data members of type non-standard-layout class
Expand Down