Skip to content

P1754R1 Rename concepts to standard_case for C++20 #3149

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 84 commits into from
Aug 7, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
1cf04f8
Fix inconsistencies in the Latex used for concept names throughout th…
Jul 25, 2019
0d0133d
[ranges] [iterators] Remove hyphenation hints from concept names to make
zygoloid Aug 6, 2019
500f405
[ranges] Rename namespace 'view' to namespace 'views'.
zygoloid Aug 6, 2019
133ffa9
[everywhere] Rename concept 'Same' to 'same_as'.
zygoloid Aug 6, 2019
4b36335
[everywhere] Rename concept 'DerivedFrom' to 'derived_from'.
zygoloid Aug 6, 2019
b0b50ad
[everywhere] Rename concept 'ConvertibleTo' to 'convertible_to'.
zygoloid Aug 6, 2019
6131cda
[everywhere] Rename concept 'CommonReference' to 'common_reference_wi…
zygoloid Aug 6, 2019
bda62c4
[everywhere] Rename concept 'Common' to 'common_with'.
zygoloid Aug 6, 2019
ded579b
[everywhere] Rename concept 'Integral' to 'integral'.
zygoloid Aug 6, 2019
7f5f88d
[everywhere] Rename concept 'SignedIntegral' to 'signed_integral'.
zygoloid Aug 6, 2019
068f278
[everywhere] Rename concept 'UnsignedIntegral' to 'unsigned_integral'.
zygoloid Aug 6, 2019
c7d3228
[everywhere] Rename concept 'Assignable' to 'assignable_from'.
zygoloid Aug 6, 2019
e5c9974
[everywhere] Rename concept 'Swappable' to 'swappable'.
zygoloid Aug 6, 2019
591d12f
[everywhere] Rename concept 'SwappableWith' to 'swappable_with'.
zygoloid Aug 6, 2019
638950a
[everywhere] Rename concept 'Destructible' to 'destructible'.
zygoloid Aug 6, 2019
4447585
[everywhere] Rename concept 'Constructible' to 'constructible_from'.
zygoloid Aug 6, 2019
02c8088
[everywhere] Rename concept 'DefaultConstructible' to 'default_constr…
zygoloid Aug 6, 2019
aac943b
[everywhere] Rename concept 'MoveConstructible' to 'move_constructible'.
zygoloid Aug 6, 2019
eb9fafe
[everywhere] Rename concept 'CopyConstructible' to 'copy_constructible'.
zygoloid Aug 6, 2019
7089e3c
[everywhere] Rename concept 'Boolean' to 'boolean'.
zygoloid Aug 6, 2019
520bbc9
[everywhere] Rename concept 'EqualityComparable' to 'equality_compara…
zygoloid Aug 6, 2019
7646581
[everywhere] Rename concept 'EqualityComparableWith' to 'equality_com…
zygoloid Aug 6, 2019
c93ad16
[everywhere] Rename concept 'StrictTotallyOrdered' to 'totally_ordered'.
zygoloid Aug 6, 2019
2af7583
[everywhere] Rename concept 'StrictTotallyOrderedWith' to 'totally_or…
zygoloid Aug 6, 2019
9822b70
[everywhere] Rename concept 'Movable' to 'movable'.
zygoloid Aug 6, 2019
3cf394b
[everywhere] Rename concept 'Copyable' to 'copyable'.
zygoloid Aug 6, 2019
69b71c8
[everywhere] Rename concept 'Semiregular' to 'semiregular'.
zygoloid Aug 6, 2019
d991fc4
[everywhere] Rename concept 'Regular' to 'regular'.
zygoloid Aug 6, 2019
514b072
[everywhere] Rename concept 'Invocable' to 'invocable'.
zygoloid Aug 6, 2019
1f8f9de
[everywhere] Rename concept 'RegularInvocable' to 'regular_invocable'.
zygoloid Aug 6, 2019
58f66a7
[everywhere] Rename concept 'Predicate' to 'predicate'.
zygoloid Aug 6, 2019
458af63
[everywhere] Rename concept 'Relation' to 'relation'.
zygoloid Aug 6, 2019
2fc3c8a
[everywhere] Rename concept 'StrictWeakOrder' to 'strict_weak_order'.
zygoloid Aug 6, 2019
3fcab1c
[everywhere] Rename concept 'Readable' to 'readable'.
zygoloid Aug 6, 2019
2283c9f
[everywhere] Rename concept 'Writable' to 'writable'.
zygoloid Aug 6, 2019
e8b6089
[everywhere] Rename concept 'WeaklyIncrementable' to 'weakly_incremen…
zygoloid Aug 6, 2019
5f1f7d4
[everywhere] Rename concept 'Incrementable' to 'incrementable'.
zygoloid Aug 6, 2019
67ac9c7
[everywhere] Rename concept 'Iterator' to 'input_or_output_iterator'.
zygoloid Aug 6, 2019
188762b
[everywhere] Rename concept 'Sentinel' to 'sentinel_for'.
zygoloid Aug 6, 2019
6c4f527
[everywhere] Rename concept 'SizedSentinel' to 'sized_sentinel_for'.
zygoloid Aug 6, 2019
472bb1a
[everywhere] Rename concept 'InputIterator' to 'input_iterator'.
zygoloid Aug 6, 2019
a6f0a90
[everywhere] Rename concept 'OutputIterator' to 'output_iterator'.
zygoloid Aug 6, 2019
6dbef62
[everywhere] Rename concept 'ForwardIterator' to 'forward_iterator'.
zygoloid Aug 6, 2019
8b751a6
[everywhere] Rename concept 'BidirectionalIterator' to 'bidirectional…
zygoloid Aug 6, 2019
6cb800b
[everywhere] Rename concept 'RandomAccessIterator' to 'random_access_…
zygoloid Aug 6, 2019
a3b0585
[everywhere] Rename concept 'ContiguousIterator' to 'contiguous_itera…
zygoloid Aug 6, 2019
59bb331
[everywhere] Rename concept 'IndirectUnaryInvocable' to 'indirectly_u…
zygoloid Aug 6, 2019
351ac72
[everywhere] Rename concept 'IndirectRegularUnaryInvocable' to 'indir…
zygoloid Aug 6, 2019
48be234
[everywhere] Rename concept 'IndirectUnaryPredicate' to 'indirect_una…
zygoloid Aug 6, 2019
51b895d
[everywhere] Rename concept 'IndirectRelation' to 'indirect_relation'.
zygoloid Aug 6, 2019
0325778
[everywhere] Rename concept 'IndirectStrictWeakOrder' to 'indirect_st…
zygoloid Aug 6, 2019
211b530
[everywhere] Rename concept 'IndirectlyMovable' to 'indirectly_movable'.
zygoloid Aug 6, 2019
21fd88b
[everywhere] Rename concept 'IndirectlyMovableStorable' to 'indirectl…
zygoloid Aug 6, 2019
8cc0968
[everywhere] Rename concept 'IndirectlyCopyable' to 'indirectly_copya…
zygoloid Aug 6, 2019
e73fe7b
[everywhere] Rename concept 'IndirectlyCopyableStorable' to 'indirect…
zygoloid Aug 6, 2019
f77f966
[everywhere] Rename concept 'IndirectlySwappable' to 'indirectly_swap…
zygoloid Aug 6, 2019
1769a56
[everywhere] Rename concept 'IndirectlyComparable' to 'indirectly_com…
zygoloid Aug 6, 2019
26bab35
[everywhere] Rename concept 'Permutable' to 'permutable'.
zygoloid Aug 6, 2019
3e017f1
[everywhere] Rename concept 'Mergeable' to 'mergeable'.
zygoloid Aug 6, 2019
ba20906
[everywhere] Rename concept 'Sortable' to 'sortable'.
zygoloid Aug 6, 2019
b752b1f
[everywhere] Rename concept 'Range' to 'range'.
zygoloid Aug 6, 2019
9b17778
[everywhere] Rename concept 'SizedRange' to 'sized_range'.
zygoloid Aug 6, 2019
811b60b
[everywhere] Rename concept 'View' to 'view'.
zygoloid Aug 6, 2019
61d4f3d
[everywhere] Rename concept 'OutputRange' to 'output_range'.
zygoloid Aug 6, 2019
7a8278c
[everywhere] Rename concept 'InputRange' to 'input_range'.
zygoloid Aug 6, 2019
5a133d6
[everywhere] Rename concept 'BidirectionalRange' to 'bidirectional_ra…
zygoloid Aug 6, 2019
4af9894
[everywhere] Rename concept 'RandomAccessRange' to 'random_access_ran…
zygoloid Aug 6, 2019
b7b948c
[everywhere] Rename concept 'ContiguousRange' to 'contiguous_range'.
zygoloid Aug 6, 2019
ac3740e
[everywhere] Rename concept 'CommonRange' to 'common_range'.
zygoloid Aug 6, 2019
1a6bda1
[everywhere] Rename concept 'ViewableRange' to 'viewable_range'.
zygoloid Aug 6, 2019
0236c04
[everywhere] Rename concept 'UniformRandomBitGenerator' to 'uniform_r…
zygoloid Aug 6, 2019
80324ff
[expr.new], [uninitialized.copy], [uninitialized_move], [memory.syn]
zygoloid Aug 6, 2019
ecfc5be
[everywhere] Rename concept 'FloatingPoint' to 'floating_point'.
zygoloid Aug 6, 2019
c60590b
[everywhere] Rename concept 'ForwardRange' to 'forward_range'.
zygoloid Aug 6, 2019
5c00353
[everywhere] Rename exposition-only concept 'Decrementable' to 'decre…
zygoloid Aug 6, 2019
7318322
[everywhere] Rename exposition-only concept 'Advanceable' to 'advance…
zygoloid Aug 6, 2019
731b30f
[everywhere] Rename concept 'ThreeWayComparable' to 'three_way_compar…
zygoloid Aug 6, 2019
c046b65
[everywhere] Rename concept 'ThreeWayComparableWith' to 'three_way_co…
zygoloid Aug 6, 2019
1f2669e
[everywhere] Rename exposition-only concept 'same-impl' to 'same-as-i…
zygoloid Aug 7, 2019
115bf28
Fix overfull hboxes.
zygoloid Aug 7, 2019
058e65b
[utilities] Use "\expos" instead of "exposition only" in declarations.
Jul 29, 2019
7beed51
[alg.is.permutation] Add parameters to \libconcept{sized_sentinel_for…
Jul 31, 2019
fbb0691
[concepts] Renamed concepts' section names to remove trailing preposi…
Jul 31, 2019
aedd3f7
[algorithms] Fix some bad indentation in itemdecls.
zygoloid Aug 7, 2019
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
1,584 changes: 793 additions & 791 deletions source/algorithms.tex

Large diffs are not rendered by default.

451 changes: 226 additions & 225 deletions source/concepts.tex

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions source/containers.tex
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,7 @@
whose member types \tcode{iterator} and \tcode{const_iterator}
meet the
\oldconcept{RandomAccessIterator} requirements\iref{random.access.iterators} and
model \libconcept{ContiguousIterator}\iref{iterator.concept.contiguous}.
model \libconcept{contiguous_iterator}\iref{iterator.concept.contiguous}.

\pnum
\tref{container.opt} lists operations that are provided
Expand Down Expand Up @@ -9398,7 +9398,7 @@
bool operator<=(const queue<T, Container>& x, const queue<T, Container>& y);
template<class T, class Container>
bool operator>=(const queue<T, Container>& x, const queue<T, Container>& y);
template<class T, ThreeWayComparable Container>
template<class T, three_way_comparable Container>
compare_three_way_result_t<Container>
operator<=>(const queue<T, Container>& x, const queue<T, Container>& y);

Expand Down Expand Up @@ -9440,7 +9440,7 @@
bool operator<=(const stack<T, Container>& x, const stack<T, Container>& y);
template<class T, class Container>
bool operator>=(const stack<T, Container>& x, const stack<T, Container>& y);
template<class T, ThreeWayComparable Container>
template<class T, three_way_comparable Container>
compare_three_way_result_t<Container>
operator<=>(const stack<T, Container>& x, const stack<T, Container>& y);

Expand Down Expand Up @@ -9678,7 +9678,7 @@

\indexlibrary{\idxcode{operator<=>}!\idxcode{queue}}%
\begin{itemdecl}
template<class T, ThreeWayComparable Container>
template<class T, three_way_comparable Container>
compare_three_way_result_t<Container>
operator<=>(const queue<T, Container>& x, const queue<T, Container>& y);
\end{itemdecl}
Expand Down Expand Up @@ -10238,7 +10238,7 @@

\indexlibrary{\idxcode{operator<=>}!\idxcode{stack}}%
\begin{itemdecl}
template<class T, ThreeWayComparable Container>
template<class T, three_way_comparable Container>
compare_three_way_result_t<Container>
operator<=>(const stack<T, Container>& x, const stack<T, Container>& y);
\end{itemdecl}
Expand Down Expand Up @@ -10814,7 +10814,7 @@
\begin{itemdescr}
\pnum
The types
model \libconcept{ContiguousIterator}\iref{iterator.concept.contiguous},
model \libconcept{contiguous_iterator}\iref{iterator.concept.contiguous},
meet the \oldconcept{RandomAccessIterator}
requirements\iref{random.access.iterators},
and
Expand Down
10 changes: 5 additions & 5 deletions source/expressions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2505,7 +2505,7 @@
template<typename T>
concept R = requires (T i) {
typename T::type;
{*i} -> ConvertibleTo<const typename T::type&>;
{*i} -> convertible_to<const typename T::type&>;
};
\end{codeblock}
A \grammarterm{requires-expression} can also be used in a
Expand Down Expand Up @@ -2710,14 +2710,14 @@

\begin{codeblock}
template<typename T> concept C2 = requires(T x) {
{*x} -> Same<typename T::inner>;
{*x} -> same_as<typename T::inner>;
};
\end{codeblock}

The \grammarterm{compound-requirement} in \tcode{C2}
requires that \tcode{*x} is a valid expression,
that \tcode{typename T::inner} is a valid type, and
that \tcode{Same<decltype((*x)), typename T::inner>} is satisfied.
that \tcode{same_as<decltype((*x)), typename T::inner>} is satisfied.

\begin{codeblock}
template<typename T> concept C3 =
Expand Down Expand Up @@ -4934,7 +4934,7 @@

\begin{example}
\begin{codeblock}
void mergeable(int x) {
void can_merge(int x) {
// These allocations are safe for merging:
std::unique_ptr<char[]> a{new (std::nothrow) char[8]};
std::unique_ptr<char[]> b{new (std::nothrow) char[8]};
Expand All @@ -4943,7 +4943,7 @@
g(a.get(), b.get(), c.get());
}

void unmergeable(int x) {
void cannot_merge(int x) {
std::unique_ptr<char[]> a{new char[8]};
try {
// Merging this allocation would change its catch handler.
Expand Down
Loading