Skip to content

Page breaks (tkoeppe) #4233

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

Merged
merged 8 commits into from
Oct 2, 2020
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
7 changes: 7 additions & 0 deletions source/basic.tex
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,9 @@
copy assignment operator, move assignment operator\iref{class.copy.assign},
or destructor\iref{class.dtor} member functions.
\end{note}

\newpage

\begin{example}
Given
\begin{codeblock}
Expand Down Expand Up @@ -4523,6 +4526,8 @@
\end{example}
\end{note}

\newpage

The exceptions to this lifetime rule are:
\begin{itemize}
\item A temporary object bound to a reference parameter in a function call\iref{expr.call}
Expand Down Expand Up @@ -5761,6 +5766,8 @@
\end{note}
\indextext{program execution|)}

\newpage

\rSec2[intro.multithread]{Multi-threaded executions and data races}

\rSec3[intro.multithread.general]{General}
Expand Down
8 changes: 8 additions & 0 deletions source/compatibility.tex
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@
or \tcode{requires}
as an identifier is not valid in this revision of \Cpp{}.

\newpage

\diffref{lex.operators}
\change
New operator \tcode{<=>}.
Expand Down Expand Up @@ -546,6 +548,8 @@
algorithms not explicitly specified to allow such in this version of \Cpp{}
may fail to compile or have undefined behavior.

\newpage

\rSec2[diff.cpp17.input.output]{\ref{input.output}: input/output library}

\diffref{istream.extractors}
Expand Down Expand Up @@ -641,6 +645,8 @@
class templates \tcode{unary_negate} or \tcode{binary_negate}, may fail to
compile.

\newpage

\nodiffref
\change
Remove redundant members from \tcode{std::allocator}.
Expand Down Expand Up @@ -841,6 +847,8 @@
derived d2; // still OK
\end{codeblock}

\newpage

\rSec2[diff.cpp14.class]{\ref{class}: classes}

\diffref{class.inhctor.init}
Expand Down
1 change: 1 addition & 0 deletions source/expressions.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
%!TEX root = std.tex
\rSec0[expr]{Expressions}

\begin{extract}\newpage\end{extract}
\gramSec[gram.expr]{Expressions}

\indextext{\idxcode{operator new}|seealso{\tcode{new}}}%
Expand Down
9 changes: 9 additions & 0 deletions source/future.tex
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@
\begin{note}
Three-way comparisons\iref{expr.spaceship} between such operands are ill-formed.
\end{note}

\newpage

\begin{example}
\begin{codeblock}
int arr1[5];
Expand Down Expand Up @@ -173,6 +176,8 @@
\end{codeblock}
\end{example}

\newpage

\rSec1[depr.local]{Non-local use of TU-local entities}

\pnum
Expand Down Expand Up @@ -305,6 +310,8 @@

\xrefc{7.15}

\newpage

\rSec2[depr.stdbool.h.syn]{Header \tcode{<stdbool.h>} synopsis}

\indexheader{stdbool.h}%
Expand Down Expand Up @@ -2132,6 +2139,8 @@
Attempting to write to a text file produces undefined behavior.
\end{itemize}

\newpage

\pnum
For the facet \tcode{codecvt_utf8_utf16}\indexlibraryglobal{codecvt_utf8_utf16}:
\begin{itemize}
Expand Down
2 changes: 2 additions & 0 deletions source/intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -794,6 +794,8 @@
\indextext{conformance requirements!general|)}%
\indextext{conformance requirements|)}%

\newpage

\rSec2[intro.abstract]{Abstract machine}

\pnum
Expand Down
20 changes: 15 additions & 5 deletions source/iterators.tex
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,7 @@
-> decltype(std::begin(c));
template<class C> constexpr auto cend(const C& c) noexcept(noexcept(std::end(c)))
-> decltype(std::end(c));

template<class C> constexpr auto rbegin(C& c) -> decltype(c.rbegin());
template<class C> constexpr auto rbegin(const C& c) -> decltype(c.rbegin());
template<class C> constexpr auto rend(C& c) -> decltype(c.rend());
Expand All @@ -442,9 +443,11 @@
template<class C> constexpr auto ssize(const C& c)
-> common_type_t<ptrdiff_t, make_signed_t<decltype(c.size())>>;
template<class T, ptrdiff_t N> constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept;

template<class C> [[nodiscard]] constexpr auto empty(const C& c) -> decltype(c.empty());
template<class T, size_t N> [[nodiscard]] constexpr bool empty(const T (&array)[N]) noexcept;
template<class E> [[nodiscard]] constexpr bool empty(initializer_list<E> il) noexcept;

template<class C> constexpr auto data(C& c) -> decltype(c.data());
template<class C> constexpr auto data(const C& c) -> decltype(c.data());
template<class T, size_t N> constexpr T* data(T (&array)[N]) noexcept;
Expand Down Expand Up @@ -1523,6 +1526,8 @@
@\exposconcept{weakly-equality-comparable-with}@<S, I>; // see \ref{concept.equalitycomparable}
\end{itemdecl}

\newpage

\begin{itemdescr}
\pnum
Let \tcode{s} and \tcode{i} be values of type \tcode{S} and
Expand Down Expand Up @@ -2423,8 +2428,7 @@
\begin{codeblock}
template<class In, class Out>
concept @\deflibconcept{indirectly_movable}@ =
@\libconcept{indirectly_readable}@<In> &&
@\libconcept{indirectly_writable}@<Out, iter_rvalue_reference_t<In>>;
@\libconcept{indirectly_readable}@<In> && @\libconcept{indirectly_writable}@<Out, iter_rvalue_reference_t<In>>;
\end{codeblock}

\pnum
Expand Down Expand Up @@ -2542,9 +2546,7 @@
\begin{codeblock}
template<class I>
concept @\deflibconcept{permutable}@ =
@\libconcept{forward_iterator}@<I> &&
@\libconcept{indirectly_movable_storable}@<I, I> &&
@\libconcept{indirectly_swappable}@<I, I>;
@\libconcept{forward_iterator}@<I> && @\libconcept{indirectly_movable_storable}@<I, I> && @\libconcept{indirectly_swappable}@<I, I>;
\end{codeblock}

\rSec3[alg.req.mergeable]{Concept \cname{mergeable}}
Expand Down Expand Up @@ -2910,6 +2912,8 @@
the ending and starting positions of \tcode{i}.
\end{itemdescr}

\newpage

\rSec3[range.iter.op.distance]{\tcode{ranges::distance}}
\indexlibraryglobal{distance}%
\begin{itemdecl}
Expand Down Expand Up @@ -3477,6 +3481,8 @@
\tcode{x.base() < y.base()}.
\end{itemdescr}

\newpage

\indexlibrarymember{operator<=}{reverse_iterator}%
\begin{itemdecl}
template<class Iterator1, class Iterator2>
Expand Down Expand Up @@ -4690,8 +4696,10 @@
void fun(ForwardIterator begin, ForwardIterator end);

list<int> s;

// populate the list \tcode{s}
using CI = common_iterator<counted_iterator<list<int>::iterator>, default_sentinel_t>;

// call \tcode{fun} on a range of 10 ints
fun(CI(counted_iterator(s.begin(), 10)), CI(default_sentinel));
\end{codeblock}
Expand Down Expand Up @@ -5108,6 +5116,8 @@
a range of $N$ elements starting at a given position
without needing to know the end position a priori.

\newpage

\pnum
\begin{example}
\begin{codeblock}
Expand Down
2 changes: 2 additions & 0 deletions source/lex.tex
Original file line number Diff line number Diff line change
Expand Up @@ -918,6 +918,8 @@
\indextext{punctuator|)}%
\indextext{operator|)}

\newpage

\rSec1[lex.literal]{Literals}%
\indextext{literal|(}

Expand Down
25 changes: 25 additions & 0 deletions source/ranges.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1276,6 +1276,8 @@
range<T> && @\libconcept{same_as}@<iterator_t<T>, sentinel_t<T>>;
\end{itemdecl}

\newpage

\pnum
The \libconcept{viewable_range} concept specifies the requirements of a
\libconcept{range} type that can be converted to a \libconcept{view} safely.
Expand Down Expand Up @@ -2780,6 +2782,7 @@
if (@\exposid{stream_}@) {
*@\exposid{stream_}@ >> @\exposid{object_}@;
}

return @\exposid{iterator}@{*this};
}

Expand Down Expand Up @@ -2884,6 +2887,8 @@
\expects
\tcode{\exposid{parent_}->\exposid{stream_} != nullptr} is \tcode{true}.

\newpage

\pnum
\effects
Equivalent to:
Expand Down Expand Up @@ -3439,6 +3444,8 @@
\end{codeblock}
\end{itemdescr}

\newpage

\indexlibrarymember{operator\dcr}{filter_view::iterator}%
\begin{itemdecl}
constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<V>;
Expand Down Expand Up @@ -3579,6 +3586,8 @@
\tcode{views::transform(E, F)} is expression-equivalent to
\tcode{transform_view\{E, F\}}.

\newpage

\pnum
\begin{example}
\begin{codeblock}
Expand Down Expand Up @@ -3850,6 +3859,8 @@
\item Otherwise, \tcode{iterator_concept} denotes \tcode{input_iterator_tag}.
\end{itemize}

\newpage

\pnum
\tcode{iterator::iterator_category} is defined as follows:
Let \tcode{C} denote the type
Expand Down Expand Up @@ -4009,6 +4020,8 @@
\end{codeblock}
\end{itemdescr}

\newpage

\indexlibrarymember{operator-=}{transform_view::iterator}%
\begin{itemdecl}
constexpr @\exposid{iterator}@& operator-=(difference_type n)
Expand Down Expand Up @@ -4684,6 +4697,8 @@
Otherwise, \tcode{ranges::drop_view\{E, F\}}.
\end{itemize}

\newpage

\pnum
\begin{example}
\begin{codeblock}
Expand Down Expand Up @@ -4766,6 +4781,8 @@
\exposid{count_} with \tcode{count}.
\end{itemdescr}

\newpage

\indexlibrarymember{begin}{drop_view}%
\begin{itemdecl}
constexpr auto begin()
Expand Down Expand Up @@ -5239,6 +5256,8 @@
Equivalent to: \tcode{++*this}.
\end{itemdescr}

\newpage

\indexlibrarymember{operator++}{join_view::iterator}%
\begin{itemdecl}
constexpr @\exposid{iterator}@ operator++(int)
Expand Down Expand Up @@ -6262,6 +6281,8 @@
\tcode{keys_view} is an alias for \tcode{elements_view<views::all_t<R>, 0>}, and
is useful for extracting keys from associative containers.

\newpage

\begin{example}
\begin{codeblock}
auto names = keys_view{historical_figures};
Expand Down Expand Up @@ -6548,6 +6569,8 @@
\end{codeblock}
\end{itemdescr}

\newpage

\indexlibrarymember{operator+=}{elements_view::iterator}%
\begin{itemdecl}
constexpr @\exposid{iterator}@& operator+=(difference_type n);
Expand Down Expand Up @@ -6700,6 +6723,8 @@
Equivalent to: \tcode{return x.\exposid{current_} - y.\exposid{current_};}
\end{itemdescr}

\newpage

\rSec3[range.elements.sentinel]{Class template \tcode{elements_view::\exposid{sentinel}}}

\indexlibraryglobal{elements_view::sentinel}%
Expand Down
1 change: 1 addition & 0 deletions source/statements.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
\rSec0[stmt.stmt]{Statements}%
\indextext{statement|(}

\begin{extract}\newpage\end{extract}
\gramSec[gram.stmt]{Statements}

\indextext{block (statement)|see{statement, compound}}
Expand Down