diff --git a/.travis.yml b/.travis.yml
index 02876d6572..2bf7dcc1b3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,20 +14,16 @@ before_install:
- docker run -itd -v $TRAVIS_BUILD_DIR:/$TRAVIS_REPO_SLUG --name texlive-basic godbyk/texlive-basic
env:
- - BUILD_TYPE=latexmk # build using latexmk, also check for overfull hboxes
+ - BUILD_TYPE=latexmk # build using latexmk, also apply all checks
- BUILD_TYPE=make # build using Makefile
- BUILD_TYPE=complete # build manually and regenerate figures, grammar, and cross-references
- - BUILD_TYPE=check-whitespace # check for whitespace at the ends of lines
- - BUILD_TYPE=check-newlines # check for blank lines at the ends of files
- - BUILD_TYPE=check-macro-use # check for proper macro use
script:
# Build std.pdf
- pushd source
- if [ "$BUILD_TYPE" = "latexmk" ]; then
docker exec -it texlive-basic bash -c "cd /$TRAVIS_REPO_SLUG/source && latexmk -pdf std -silent";
- ! grep -Fe "Overfull \\hbox" std.log &&
- ! grep "LaTeX Warning..There were undefined references" std.log;
+ ../tools/check.sh;
fi
- if [ "$BUILD_TYPE" = "make" ]; then
docker exec -it texlive-basic bash -c "cd /$TRAVIS_REPO_SLUG/source && make -j2";
@@ -50,19 +46,6 @@ script:
docker exec -it texlive-basic bash -c "cd /$TRAVIS_REPO_SLUG/source && pdflatex std";
fi
- popd
- # Fail if there is whitespace at the ends of any lines
- - if [ "$BUILD_TYPE" = "check-whitespace" ]; then
- ! grep '\s$' source/*.tex;
- fi
- # Fail if there are blank lines at the ends of any files
- - if [ "$BUILD_TYPE" = "check-newlines" ]; then
- for f in source/*.tex; do [ $(tail -c 2 $f | wc -l) -eq 1 ] || exit 1; done;
- fi
- # Fail if macros are used incorrectly
- - if [ "$BUILD_TYPE" = "check-macro-use" ]; then
- ! grep '\\opt[^{}]' source/*.tex;
- ! grep 'opt{}' source/*.tex;
- fi
# Check to see if generated files are out-dated
- pushd source
- for FIGURE in *.dot; do
diff --git a/papers/n4835.pdf b/papers/n4835.pdf
new file mode 100644
index 0000000000..291ee317b2
Binary files /dev/null and b/papers/n4835.pdf differ
diff --git a/papers/n4836.html b/papers/n4836.html
new file mode 100644
index 0000000000..21c926d358
--- /dev/null
+++ b/papers/n4836.html
@@ -0,0 +1,617 @@
+
N4836
+N4836 Editors' Report -- Programming Languages -- C++
+
+2019-10-08
+Richard Smith (editor) (Google Inc)
+Thomas Köppe (co-editor) (Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor) (Bright Side Computing, LLC)
+<cxxeditor@gmail.com>
+
+Acknowledgements
+
+Thanks to all those who have submitted editorial
+issues
+and to those who have provided pull requests with fixes.
+
+New papers
+
+
+- N4835 is the current C++ working draft. It replaces N4830.
+- N4836 is this Editors' Report.
+
+
+Motions incorporated into working draft
+
+Fixed application of P1643R1 (2019-07 LWG Motion 9):
+two added paragraphs should have been labeled Effects: instead of Expects:.
+
+Fixed application of P1463R1 (2019-03 LWG Motion 10):
+an added !=
in [list.ops] has been replaced with the correct ==
.
+
+Notable editorial changes
+
+Improved indices
+
+
+- The index of library headers now shows the location of the header synopsis in boldface.
+- An index presenting all concept names (including exposition-only concepts) was added.
+- The main index and the index of library names now show subdivisions per letter.
+
+
+Changes to section labels
+
+
+- [source_location.syn] -> [source.location.syn]
+- [atomics.ref.operations] -> [atomics.ref.ops]
+
+
+Several "Preamble" sections were added to avoid hanging paragraphs.
+
+Feature test macros
+
+An explicit synopsis for the <version>
header has been added.
+This synopsis describes the complete set of library feature test macros
+and replaces the prior use of a table for this purpose.
+For wording papers, we will continue to accept instructions of the form
+"Add a feature test macro __cpp_lib_blah
with a suitable value";
+explicit lists of edits to [version.syn] are also acceptable.
+
+Minor editorial fixes
+
+A log of editorial fixes made to the working draft since N4830 is below.
+This list excludes changes
+that do not affect the body text or only affect whitespace or typeface. For a
+complete list including such changes (or for the actual deltas applied by these
+changes), consult the draft sources on GitHub.
+
+commit 4fe8325ff6cf63055f9d064ba1b4f24614863649
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Tue Aug 20 05:14:29 2019 +0800
+
+ [thread.jthread.class] fix typos (#3183)
+
+commit aaea74e8dcfa456043ec315511463fb6d4a80108
+Author: David Olsen <dolsen@nvidia.com>
+Date: Mon Aug 19 14:17:33 2019 -0700
+
+ [atomics.ref.operations] Change Expects to Effects for atomic_ref::notify_{one,all} (#3180)
+
+ Fix an editorial issue that resulted from an incorrect merge. In the
+ description of atomic_ref::notify_one and atomic_ref::notify_all in
+ [atomics.ref.operations] p25 and p27, N4830 has "Expects" in both of
+ those paragraphs. But the paper that was merged in, P1643R1
+ ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1643r1.html )
+ has "Effects". "Effects" is correct, and it matches notify_one and
+ notify_all in the four other atomics-related classes.
+
+commit 538f7c69f1423551628fdc638e8c4654bf1c7662
+Author: Eelis <github.com@contacts.eelis.net>
+Date: Mon Aug 19 23:20:53 2019 +0200
+
+ [std] Add/fix periods at end of sentences. (#3177)
+
+commit 600f1c0d1e94b0b6198c99516a95ec5ba439237a
+Author: Eelis <github.com@contacts.eelis.net>
+Date: Mon Aug 19 23:22:26 2019 +0200
+
+ [std] Use consistent punctuation to terminate non-final list items. (#3175)
+
+commit fc240342df42f090563ed09c991c01925f1f4f27
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Aug 19 23:31:56 2019 +0200
+
+ [tuple.elem] Canonicalize comments in example. (#3161)
+
+commit 221f1062d929688811aaa96c9752b54443ba29db
+Author: Dan Raviv <dan.raviv@gmail.com>
+Date: Fri Aug 23 10:00:40 2019 +0300
+
+ [lex.key,diff.header.iso646.h] Consistent tokens order (#3190)
+
+ Order the alternative tokens in [diff.header.iso646.h] in the same way
+ they are ordered in Table 6 in [lex.key].
+
+commit 92f599b75123280d0ef17f00a1717f0ca89a19f8
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Aug 24 22:20:56 2019 +0200
+
+ [basic.def] Move rule on template definition here
+
+ from its original location in [temp] p3.
+
+commit ee7b223aad941219d583b4a6cbf058abb740d63f
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Sep 3 14:50:19 2019 +0100
+
+ [span.syn] Fix inconsistent class key in tuple_size/tuple_element (#3211)
+
+commit fad5d71d46953f73d50e4629671dc83022f53d38
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Sep 3 14:53:56 2019 +0100
+
+ [span.tuple] Simplify definition of get(span<T, I>) (#3210)
+
+commit c241ddeeb2fb2d4b9930ecc0fd84f12249953e12
+Author: Richard Smith <richard@metafoo.co.uk>
+Date: Tue Sep 3 14:06:55 2019 -0700
+
+ [diff.cpp17] Add 'constinit' to one more list of new keywords in C++20.
+
+commit ab2ae01387d493148693ee5ae63e032eae3b0bb4
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Sep 14 00:25:48 2019 +0200
+
+ [basic.stc.dynamic.safety] Avoid undefined term 'dynamic object'. (#3225)
+
+commit a9f6cedab5ea58cd74f809086accc2a7779a078c
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Sep 14 00:40:05 2019 +0200
+
+ [temp.param] Define X in the example. (#3226)
+
+commit df69a5194d0903a8a2a574aeffd4a486d98d7122
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Sep 14 21:32:26 2019 +0200
+
+ [basic.stc.dynamic.safety] Fix ambiguous antecedent for 'it'. (#3228)
+
+commit af85c4c882efc554a99cf46cc0044b23ef7da322
+Author: onihusube <44743040+onihusube@users.noreply.github.com>
+Date: Thu Sep 19 03:21:35 2019 +0900
+
+ [class.spaceship] Fix weak_ordering::equal to equivalent (#3220)
+
+commit e02bdecfb150dbd9f1086912317024d1c9d06cd7
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed Sep 18 19:24:06 2019 +0100
+
+ [concepts.arithmetic] Fix notes that use undefined terms (#3223)
+
+ The terms "signed integral types" and "unsigned integral types" are not
+ defined in [basic.fundamental]. The notes are trying to talk about
+ signed/unsigned *integer* types. char and bool are not signed or
+ unsigned *integer* types, but they certainly are *integral* types, and
+ so they model one of signed_integral or unsigned_integral.
+
+commit 8fdd7d4307f1ea0ecf1af00503142f46e23bd15f
+Author: Casey Carter <Casey@Carter.net>
+Date: Mon Sep 23 22:39:44 2019 -0700
+
+ [ostream.iterator] Correct typo (#3240)
+
+commit 7fc9efbdda5a7ff77dc28ea81f56f9479e471869
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Oct 1 12:23:55 2019 +0200
+
+ [meta] Harmonize ordering in descriptions. (#3166)
+
+commit 338edc433819e6d4fc7237f29ff372d223eda150
+Author: mordante <zar-rpg@xs4all.nl>
+Date: Tue Oct 1 12:37:11 2019 +0200
+
+ [re.regex] Rename template parameters for "assign". (#3198)
+
+ basic_regex::assign uses template parameters `class string_traits' and
+ `class A' while similar places use `class ST' and `class SA'.
+
+commit 7f45b9e37b02c9f75b9d401ae77560468bd2df5c
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Oct 1 13:20:08 2019 +0100
+
+ [list.ops] Fix misapplication of P1463R1, "!=" should be "==". (#3258)
+
+ Misapplication in 019baa941945c1c8529fcaa0288ed5e98944f7a4.
+
+ Also restore the edit "." -> ", and".
+
+commit d2cc230ad3795f6b367bfa60e6b2bac5a7644f69
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed Oct 2 18:17:31 2019 +0200
+
+ [lib] Remove parameter names from deleted special member functions. (#3259)
+
+commit 17d48e05aed86d965f33efc75d73addf04e7d436
+Author: Casey Carter <cartec69@gmail.com>
+Date: Fri Oct 4 01:13:07 2019 -0700
+
+ [span.iterators] Fix typo in paragraph 5 (#3276)
+
+ "Returns: Equivalent To:" is not a library wording form, but an obvious misspelling of "Effects: Equivalent to:".
+
+commit 311f57196dc94eebcba61799401fd20bebb27c62
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 4 19:20:57 2019 +0200
+
+ [concept.boolean] Avoid undefined phrase 'Boolean context'. (#3269)
+
+commit 8a13bc1a109a0b0672120da3fabec360bd6823ed
+Author: 江添亮 <boostcpp@gmail.com>
+Date: Sun Oct 6 12:18:14 2019 +0900
+
+ [rand] Use 1.0, not 1, as a literal of floating-point type
+
+commit 63427e429d11e40a9f2796459ff31b379354f7e1
+Author: frederick-vs-ja <de34@live.cn>
+Date: Sat Jun 15 10:54:36 2019 +0800
+
+ [move.sent.ops] Add missing description of move_sentinel::base
+
+ Or add a section like `\rSec3[move.sent.ops.conv]{Conversion}` ?
+
+commit ecbe188a5fd7d889a602180c656bddc6a125149e
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Aug 8 00:14:33 2019 +0200
+
+ [std] Harmonize cross-references for explicit casts.
+
+commit 3cd1ef2343a3aa705c97157186abbfda890835bf
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Aug 8 21:37:49 2019 +0200
+
+ [tuple] Make descriptions of non-members siblings of [tuple.tuple].
+
+commit ed20772b95de38a927d17ec6c5afaed51cec5d39
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Aug 8 21:53:52 2019 +0200
+
+ [thread.jthread.class] Rephrase introductory sentence.
+
+commit 997aa48537482815b4a1098e84496778a80884c2
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Aug 9 21:34:57 2019 +0200
+
+ [std] Hyphenate floating-point and avoid 'floating'.
+
+commit d11e53e3ac075e72d373a92a4975d2ed55298fc3
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Aug 10 09:18:30 2019 +0200
+
+ [std] Rename 'floating literal' to 'floating-point literal'.
+
+commit 4455bf4c5694d1fc09eaf68a75c370666467962a
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Aug 20 22:04:30 2019 +0200
+
+ [temp.names] Remove misleading note.
+
+commit 37cc5affe2c52a3dde21ca38e3aa70afc756db9b
+Author: Dan Raviv <dan.raviv@gmail.com>
+Date: Wed Aug 21 23:27:19 2019 +0300
+
+ [diff.library] Consistency for wide char types
+
+ [diff.char16] says `char16_t` and `char_32t`
+ > ...do not appear as *macro* names...
+
+ [diff.wchar.t] says `wchar_t`
+ > ...does not appear as a *type* name...
+
+commit 97977a1d742340d2198910912df3c511b8154afa
+Author: Dan Raviv <dan.raviv@gmail.com>
+Date: Wed Aug 21 23:25:49 2019 +0300
+
+ [intro.compliance] Fix reference in footnote
+
+ It seems this footnote is supposed to point at [intro.abstract] which describes how the implementation's documentations also defines implementation-defined behavior; In the same way that the footnote in [intro.abstract] points into [intro.compliance] where it says that the documentation also includes things which are listed there.
+
+commit 94cf6f3a6408929088c546661094009ae921a725
+Author: Roger Orr <rogero@howzatt.demon.co.uk>
+Date: Sat Aug 24 19:36:51 2019 +0100
+
+ [temp.param] Remove unused class template from example.
+
+commit 089b47bf447d5ef199380053d08b3c99734cd41c
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed Sep 4 00:15:56 2019 +0200
+
+ [lex.pptoken] Mention import keywords in the category list.
+
+commit 34cc4a7ce6155e75d1b5df0e9cea6d1e46cf790e
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed Sep 4 00:21:08 2019 +0200
+
+ [class.dtor] Group declaration properties vs. behavior.
+
+commit eaf23727c160e22a47f54419d5a66abfd672cc50
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Sep 5 21:22:41 2019 +0200
+
+ [thread.latch] Subordinate [latch.syn] and [thread.latch.class]
+
+commit 901b742c1caf74deab046599264e7d5c9862eb55
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Sep 14 00:43:55 2019 +0200
+
+ [dcl.spec.auto] Add example to show variable redeclaration with 'auto'.
+
+ CWG2389 Agreement of deduced and explicitly-specified variable types
+
+commit 219506555b1a943a94db546a5d68745e1a7de242
+Author: mordante <koraq@xs4all.nl>
+Date: Sun Oct 6 07:06:26 2019 +0200
+
+ [re.regex] Use consistent names for function parameters
+
+commit e2c85a91953b0bd672960d0cf662c85ba1ba7470
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Sep 24 21:19:51 2019 +0200
+
+ [locale] Fix example.
+
+commit 081375e2d152beea2c246119bd2b2c6fa42d0954
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Sep 24 21:35:07 2019 +0200
+
+ [class.temporary] Fix typo in example.
+
+commit 37ca3fadf39edb7e6453515e386e6e6c7ae46d1e
+Author: Jason Cobb <jason.e.cobb@gmail.com>
+Date: Tue Sep 24 21:30:00 2019 -0400
+
+ [expr.prim.id] Fix immediate function id-expression requirement
+
+ Move possibilities into a list, and add "only" after "appear".
+
+ Reason for being editorial: not intent to require all programs
+ to use an "id-expression that denotes an immediate function",
+ and moving the possiblities into a list does not change the meaning.
+
+commit 2845d903cb36f7567fcda36746cac95fc43f147a
+Author: Daveed Vandevoorde <daveed@vandevoorde.com>
+Date: Wed Sep 25 11:43:19 2019 -0400
+
+ Avoid confusion between lookup and overall overload resolution
+
+commit e71fce40a3eded0d9ff573eb41b9b1e33ce3d883
+Author: Krystian Stasiowski <sdkrystian@gmail.com>
+Date: Sun Oct 6 01:21:02 2019 -0400
+
+ [temp.alias] Change type-id to defining-type-id in the running text
+
+ to match the portion of the grammar that it's referring to.
+
+commit b04e94bba0c7998920bd09c6cc462ccda93efaa4
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Sep 27 09:42:25 2019 +0200
+
+ [std] Introduce 'Preamble' sections to avoid hanging paragraphs.
+
+commit c3b2c86e5e218ee6e80bd170eae653a6ad0d4047
+Author: frederick-vs-ja <de34@live.cn>
+Date: Sun Oct 6 13:23:04 2019 +0800
+
+ [class.copy.elision] Update example to match resolution of CWG 2278
+
+commit 5fe6230c72e29a8595cc8f66ba149a560282ec3e
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Oct 3 00:07:58 2019 +0200
+
+ [expr.typeid] Add note highlighting prohibition of bad function types.
+
+ Function types that can only be used for member functions
+ (because they have cv-qualifiers or a ref-qualifier)
+ cannot appear as a typeid operand.
+
+commit 599635d72caf3a9c768f5137f0bc19765ab4db2e
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Oct 3 09:39:14 2019 +0200
+
+ [atomics] Reorder members of atomic, atomic_ref, atomic_flag
+
+ for a more conventional and meaningful order.
+
+commit ca09b84c8dcd0d7d0b15923a28b1be6692ccf37d
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Oct 3 15:01:05 2019 +0200
+
+ [expr.const] Excise 'initialization full-expression'
+
+ which is an undefined term. Instead, use 'full-expression
+ of the initialization'.
+
+commit d0a0da6bdb2ff02175d4c01bf60fb3274e37f5ee
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Oct 3 15:07:56 2019 +0200
+
+ [atomics.ref.ops] Rename stable label from .operations
+
+commit 97a85b438144ba083301ce234da27f028c5a7e97
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Oct 3 15:11:30 2019 +0200
+
+ [basic.def.odr] Replace misleading 'for which' with 'where'.
+
+commit 1327a34586617c26c48e615316f243b0ebf9d6d9
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Oct 3 15:25:33 2019 +0200
+
+ [support.srcloc] Canonicalize presentation.
+
+ - Avoid hanging paragraph.
+ - Rename label [source_location.syn] to [source.location.syn].
+ - Add automated check for clean labels.
+ - Separate header synopsis from class synopsis.
+
+commit 7724f6d359e72a981206c312c9d42903e988d1bd
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 4 19:10:06 2019 +0200
+
+ [class.mem] Avoid 'shall have been defined'
+
+ when describing implicit definitions of defaulted
+ special member functions. Instead, use plain 'are'.
+
+commit 8685db27c43a5b41c0682318c07a00906fe6c7d1
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Aug 15 10:25:22 2019 +0200
+
+ [locale.numpunct,locale.moneypunct] Canonicalize local grammar presentation.
+
+ In [locale.numpunct], rename the 'integer' non-terminal
+ to 'intval', consistent with 'floatval'.
+ Also remove the superfluous 'plusminus' non-terminal.
+
+commit 03dd1b8abfe921d4e6b643cd109310c03801cbfb
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Sep 13 23:43:15 2019 +0200
+
+ [over.match.funcs] Remove bullet for single-item bulleted list.
+
+commit d0e718b6a514a22118367a815107281a9a24c805
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue May 28 22:33:54 2019 +0200
+
+ [std] Consistently use 'immediately-declared constraint'.
+
+ Harmonize the phrasing in [expr.prim.req.compound],
+ [dcl.type.auto.deduct], [temp], and [temp.param].
+
+commit 2c2b29248d04dc0ce3c22a74a9537c0582c36ee2
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Aug 8 22:06:21 2019 +0200
+
+ [version.syn] Add synopsis for <version> header.
+
+ This replaces the table of feature-test macros for the library.
+
+commit e9fb3f03f05e48aa02d36ee42305f00bc056356b
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Oct 7 21:11:30 2019 +0200
+
+ [rand.predef] Add digit separators to large numbers.
+
+commit 7edac42a3b64406242c0c71b62264e05eab7e1a3
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Oct 7 22:24:16 2019 +0200
+
+ [intro.defs] Hyphenate parameter-type-list.
+
+commit d8935d972ee4f07f4507eea55df209ab7b1a508d
+Author: Sergey Zubkov <cubbi@cubbi.com>
+Date: Tue Oct 8 09:25:11 2019 -0400
+
+ [expr.const] drop unused declaration from example
+
diff --git a/papers/n4836.md b/papers/n4836.md
new file mode 100644
index 0000000000..971f653df8
--- /dev/null
+++ b/papers/n4836.md
@@ -0,0 +1,487 @@
+# N4836 Editors' Report -- Programming Languages -- C++
+
+2019-10-08
+Richard Smith (editor) (Google Inc)
+Thomas Köppe (co-editor) (Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor) (Bright Side Computing, LLC)
+``
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+
+## New papers
+
+ * [N4835](http://wg21.link/n4835) is the current C++ working draft. It replaces [N4830](http://wg21.link/n4830).
+ * N4836 is this Editors' Report.
+
+## Motions incorporated into working draft
+
+Fixed application of [P1643R1](http://wg21.link/p1643r1) (2019-07 LWG Motion 9):
+two added paragraphs should have been labeled *Effects:* instead of *Expects:*.
+
+Fixed application of [P1463R1](http://wg21.link/p1463r1) (2019-03 LWG Motion 10):
+an added `!=` in [list.ops] has been replaced with the correct `==`.
+
+## Notable editorial changes
+
+### Improved indices
+
+ * The index of library headers now shows the location of the header synopsis in boldface.
+ * An index presenting all concept names (including exposition-only concepts) was added.
+ * The main index and the index of library names now show subdivisions per letter.
+
+### Changes to section labels
+
+ * [source_location.syn] -> [source.location.syn]
+ * [atomics.ref.operations] -> [atomics.ref.ops]
+
+Several "Preamble" sections were added to avoid hanging paragraphs.
+
+### Feature test macros
+
+An explicit synopsis for the `` header has been added.
+This synopsis describes the complete set of library feature test macros
+and replaces the prior use of a table for this purpose.
+For wording papers, we will continue to accept instructions of the form
+"Add a feature test macro `__cpp_lib_blah` with a suitable value";
+explicit lists of edits to [version.syn] are also acceptable.
+
+## Minor editorial fixes
+
+A log of editorial fixes made to the working draft since N4830 is below.
+This list excludes changes
+that do not affect the body text or only affect whitespace or typeface. For a
+complete list including such changes (or for the actual deltas applied by these
+changes), consult the [draft sources on GitHub](https://github.com/cplusplus/draft/compare/n4830...n4835).
+
+ commit 4fe8325ff6cf63055f9d064ba1b4f24614863649
+ Author: S. B. Tam
+ Date: Tue Aug 20 05:14:29 2019 +0800
+
+ [thread.jthread.class] fix typos (#3183)
+
+ commit aaea74e8dcfa456043ec315511463fb6d4a80108
+ Author: David Olsen
+ Date: Mon Aug 19 14:17:33 2019 -0700
+
+ [atomics.ref.operations] Change Expects to Effects for atomic_ref::notify_{one,all} (#3180)
+
+ Fix an editorial issue that resulted from an incorrect merge. In the
+ description of atomic_ref::notify_one and atomic_ref::notify_all in
+ [atomics.ref.operations] p25 and p27, N4830 has "Expects" in both of
+ those paragraphs. But the paper that was merged in, P1643R1
+ ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1643r1.html )
+ has "Effects". "Effects" is correct, and it matches notify_one and
+ notify_all in the four other atomics-related classes.
+
+ commit 538f7c69f1423551628fdc638e8c4654bf1c7662
+ Author: Eelis
+ Date: Mon Aug 19 23:20:53 2019 +0200
+
+ [std] Add/fix periods at end of sentences. (#3177)
+
+ commit 600f1c0d1e94b0b6198c99516a95ec5ba439237a
+ Author: Eelis
+ Date: Mon Aug 19 23:22:26 2019 +0200
+
+ [std] Use consistent punctuation to terminate non-final list items. (#3175)
+
+ commit fc240342df42f090563ed09c991c01925f1f4f27
+ Author: Jens Maurer
+ Date: Mon Aug 19 23:31:56 2019 +0200
+
+ [tuple.elem] Canonicalize comments in example. (#3161)
+
+ commit 221f1062d929688811aaa96c9752b54443ba29db
+ Author: Dan Raviv
+ Date: Fri Aug 23 10:00:40 2019 +0300
+
+ [lex.key,diff.header.iso646.h] Consistent tokens order (#3190)
+
+ Order the alternative tokens in [diff.header.iso646.h] in the same way
+ they are ordered in Table 6 in [lex.key].
+
+ commit 92f599b75123280d0ef17f00a1717f0ca89a19f8
+ Author: Jens Maurer
+ Date: Sat Aug 24 22:20:56 2019 +0200
+
+ [basic.def] Move rule on template definition here
+
+ from its original location in [temp] p3.
+
+ commit ee7b223aad941219d583b4a6cbf058abb740d63f
+ Author: Jonathan Wakely
+ Date: Tue Sep 3 14:50:19 2019 +0100
+
+ [span.syn] Fix inconsistent class key in tuple_size/tuple_element (#3211)
+
+ commit fad5d71d46953f73d50e4629671dc83022f53d38
+ Author: Jonathan Wakely
+ Date: Tue Sep 3 14:53:56 2019 +0100
+
+ [span.tuple] Simplify definition of get(span) (#3210)
+
+ commit c241ddeeb2fb2d4b9930ecc0fd84f12249953e12
+ Author: Richard Smith
+ Date: Tue Sep 3 14:06:55 2019 -0700
+
+ [diff.cpp17] Add 'constinit' to one more list of new keywords in C++20.
+
+ commit ab2ae01387d493148693ee5ae63e032eae3b0bb4
+ Author: Jens Maurer
+ Date: Sat Sep 14 00:25:48 2019 +0200
+
+ [basic.stc.dynamic.safety] Avoid undefined term 'dynamic object'. (#3225)
+
+ commit a9f6cedab5ea58cd74f809086accc2a7779a078c
+ Author: Jens Maurer
+ Date: Sat Sep 14 00:40:05 2019 +0200
+
+ [temp.param] Define X in the example. (#3226)
+
+ commit df69a5194d0903a8a2a574aeffd4a486d98d7122
+ Author: Jens Maurer
+ Date: Sat Sep 14 21:32:26 2019 +0200
+
+ [basic.stc.dynamic.safety] Fix ambiguous antecedent for 'it'. (#3228)
+
+ commit af85c4c882efc554a99cf46cc0044b23ef7da322
+ Author: onihusube <44743040+onihusube@users.noreply.github.com>
+ Date: Thu Sep 19 03:21:35 2019 +0900
+
+ [class.spaceship] Fix weak_ordering::equal to equivalent (#3220)
+
+ commit e02bdecfb150dbd9f1086912317024d1c9d06cd7
+ Author: Jonathan Wakely
+ Date: Wed Sep 18 19:24:06 2019 +0100
+
+ [concepts.arithmetic] Fix notes that use undefined terms (#3223)
+
+ The terms "signed integral types" and "unsigned integral types" are not
+ defined in [basic.fundamental]. The notes are trying to talk about
+ signed/unsigned *integer* types. char and bool are not signed or
+ unsigned *integer* types, but they certainly are *integral* types, and
+ so they model one of signed_integral or unsigned_integral.
+
+ commit 8fdd7d4307f1ea0ecf1af00503142f46e23bd15f
+ Author: Casey Carter
+ Date: Mon Sep 23 22:39:44 2019 -0700
+
+ [ostream.iterator] Correct typo (#3240)
+
+ commit 7fc9efbdda5a7ff77dc28ea81f56f9479e471869
+ Author: Jens Maurer
+ Date: Tue Oct 1 12:23:55 2019 +0200
+
+ [meta] Harmonize ordering in descriptions. (#3166)
+
+ commit 338edc433819e6d4fc7237f29ff372d223eda150
+ Author: mordante
+ Date: Tue Oct 1 12:37:11 2019 +0200
+
+ [re.regex] Rename template parameters for "assign". (#3198)
+
+ basic_regex::assign uses template parameters `class string_traits' and
+ `class A' while similar places use `class ST' and `class SA'.
+
+ commit 7f45b9e37b02c9f75b9d401ae77560468bd2df5c
+ Author: Thomas Köppe
+ Date: Tue Oct 1 13:20:08 2019 +0100
+
+ [list.ops] Fix misapplication of P1463R1, "!=" should be "==". (#3258)
+
+ Misapplication in 019baa941945c1c8529fcaa0288ed5e98944f7a4.
+
+ Also restore the edit "." -> ", and".
+
+ commit d2cc230ad3795f6b367bfa60e6b2bac5a7644f69
+ Author: Jens Maurer
+ Date: Wed Oct 2 18:17:31 2019 +0200
+
+ [lib] Remove parameter names from deleted special member functions. (#3259)
+
+ commit 17d48e05aed86d965f33efc75d73addf04e7d436
+ Author: Casey Carter
+ Date: Fri Oct 4 01:13:07 2019 -0700
+
+ [span.iterators] Fix typo in paragraph 5 (#3276)
+
+ "Returns: Equivalent To:" is not a library wording form, but an obvious misspelling of "Effects: Equivalent to:".
+
+ commit 311f57196dc94eebcba61799401fd20bebb27c62
+ Author: Jens Maurer
+ Date: Fri Oct 4 19:20:57 2019 +0200
+
+ [concept.boolean] Avoid undefined phrase 'Boolean context'. (#3269)
+
+ commit 8a13bc1a109a0b0672120da3fabec360bd6823ed
+ Author: 江添亮
+ Date: Sun Oct 6 12:18:14 2019 +0900
+
+ [rand] Use 1.0, not 1, as a literal of floating-point type
+
+ commit 63427e429d11e40a9f2796459ff31b379354f7e1
+ Author: frederick-vs-ja
+ Date: Sat Jun 15 10:54:36 2019 +0800
+
+ [move.sent.ops] Add missing description of move_sentinel::base
+
+ Or add a section like `\rSec3[move.sent.ops.conv]{Conversion}` ?
+
+ commit ecbe188a5fd7d889a602180c656bddc6a125149e
+ Author: Jens Maurer
+ Date: Thu Aug 8 00:14:33 2019 +0200
+
+ [std] Harmonize cross-references for explicit casts.
+
+ commit 3cd1ef2343a3aa705c97157186abbfda890835bf
+ Author: Jens Maurer
+ Date: Thu Aug 8 21:37:49 2019 +0200
+
+ [tuple] Make descriptions of non-members siblings of [tuple.tuple].
+
+ commit ed20772b95de38a927d17ec6c5afaed51cec5d39
+ Author: Jens Maurer
+ Date: Thu Aug 8 21:53:52 2019 +0200
+
+ [thread.jthread.class] Rephrase introductory sentence.
+
+ commit 997aa48537482815b4a1098e84496778a80884c2
+ Author: Jens Maurer
+ Date: Fri Aug 9 21:34:57 2019 +0200
+
+ [std] Hyphenate floating-point and avoid 'floating'.
+
+ commit d11e53e3ac075e72d373a92a4975d2ed55298fc3
+ Author: Jens Maurer
+ Date: Sat Aug 10 09:18:30 2019 +0200
+
+ [std] Rename 'floating literal' to 'floating-point literal'.
+
+ commit 4455bf4c5694d1fc09eaf68a75c370666467962a
+ Author: Jens Maurer
+ Date: Tue Aug 20 22:04:30 2019 +0200
+
+ [temp.names] Remove misleading note.
+
+ commit 37cc5affe2c52a3dde21ca38e3aa70afc756db9b
+ Author: Dan Raviv
+ Date: Wed Aug 21 23:27:19 2019 +0300
+
+ [diff.library] Consistency for wide char types
+
+ [diff.char16] says `char16_t` and `char_32t`
+ > ...do not appear as *macro* names...
+
+ [diff.wchar.t] says `wchar_t`
+ > ...does not appear as a *type* name...
+
+ commit 97977a1d742340d2198910912df3c511b8154afa
+ Author: Dan Raviv
+ Date: Wed Aug 21 23:25:49 2019 +0300
+
+ [intro.compliance] Fix reference in footnote
+
+ It seems this footnote is supposed to point at [intro.abstract] which describes how the implementation's documentations also defines implementation-defined behavior; In the same way that the footnote in [intro.abstract] points into [intro.compliance] where it says that the documentation also includes things which are listed there.
+
+ commit 94cf6f3a6408929088c546661094009ae921a725
+ Author: Roger Orr
+ Date: Sat Aug 24 19:36:51 2019 +0100
+
+ [temp.param] Remove unused class template from example.
+
+ commit 089b47bf447d5ef199380053d08b3c99734cd41c
+ Author: Jens Maurer
+ Date: Wed Sep 4 00:15:56 2019 +0200
+
+ [lex.pptoken] Mention import keywords in the category list.
+
+ commit 34cc4a7ce6155e75d1b5df0e9cea6d1e46cf790e
+ Author: Jens Maurer
+ Date: Wed Sep 4 00:21:08 2019 +0200
+
+ [class.dtor] Group declaration properties vs. behavior.
+
+ commit eaf23727c160e22a47f54419d5a66abfd672cc50
+ Author: Jens Maurer
+ Date: Thu Sep 5 21:22:41 2019 +0200
+
+ [thread.latch] Subordinate [latch.syn] and [thread.latch.class]
+
+ commit 901b742c1caf74deab046599264e7d5c9862eb55
+ Author: Jens Maurer
+ Date: Sat Sep 14 00:43:55 2019 +0200
+
+ [dcl.spec.auto] Add example to show variable redeclaration with 'auto'.
+
+ CWG2389 Agreement of deduced and explicitly-specified variable types
+
+ commit 219506555b1a943a94db546a5d68745e1a7de242
+ Author: mordante
+ Date: Sun Oct 6 07:06:26 2019 +0200
+
+ [re.regex] Use consistent names for function parameters
+
+ commit e2c85a91953b0bd672960d0cf662c85ba1ba7470
+ Author: Jens Maurer
+ Date: Tue Sep 24 21:19:51 2019 +0200
+
+ [locale] Fix example.
+
+ commit 081375e2d152beea2c246119bd2b2c6fa42d0954
+ Author: Jens Maurer
+ Date: Tue Sep 24 21:35:07 2019 +0200
+
+ [class.temporary] Fix typo in example.
+
+ commit 37ca3fadf39edb7e6453515e386e6e6c7ae46d1e
+ Author: Jason Cobb
+ Date: Tue Sep 24 21:30:00 2019 -0400
+
+ [expr.prim.id] Fix immediate function id-expression requirement
+
+ Move possibilities into a list, and add "only" after "appear".
+
+ Reason for being editorial: not intent to require all programs
+ to use an "id-expression that denotes an immediate function",
+ and moving the possiblities into a list does not change the meaning.
+
+ commit 2845d903cb36f7567fcda36746cac95fc43f147a
+ Author: Daveed Vandevoorde
+ Date: Wed Sep 25 11:43:19 2019 -0400
+
+ Avoid confusion between lookup and overall overload resolution
+
+ commit e71fce40a3eded0d9ff573eb41b9b1e33ce3d883
+ Author: Krystian Stasiowski
+ Date: Sun Oct 6 01:21:02 2019 -0400
+
+ [temp.alias] Change type-id to defining-type-id in the running text
+
+ to match the portion of the grammar that it's referring to.
+
+ commit b04e94bba0c7998920bd09c6cc462ccda93efaa4
+ Author: Jens Maurer
+ Date: Fri Sep 27 09:42:25 2019 +0200
+
+ [std] Introduce 'Preamble' sections to avoid hanging paragraphs.
+
+ commit c3b2c86e5e218ee6e80bd170eae653a6ad0d4047
+ Author: frederick-vs-ja
+ Date: Sun Oct 6 13:23:04 2019 +0800
+
+ [class.copy.elision] Update example to match resolution of CWG 2278
+
+ commit 5fe6230c72e29a8595cc8f66ba149a560282ec3e
+ Author: Jens Maurer
+ Date: Thu Oct 3 00:07:58 2019 +0200
+
+ [expr.typeid] Add note highlighting prohibition of bad function types.
+
+ Function types that can only be used for member functions
+ (because they have cv-qualifiers or a ref-qualifier)
+ cannot appear as a typeid operand.
+
+ commit 599635d72caf3a9c768f5137f0bc19765ab4db2e
+ Author: Jens Maurer
+ Date: Thu Oct 3 09:39:14 2019 +0200
+
+ [atomics] Reorder members of atomic, atomic_ref, atomic_flag
+
+ for a more conventional and meaningful order.
+
+ commit ca09b84c8dcd0d7d0b15923a28b1be6692ccf37d
+ Author: Jens Maurer
+ Date: Thu Oct 3 15:01:05 2019 +0200
+
+ [expr.const] Excise 'initialization full-expression'
+
+ which is an undefined term. Instead, use 'full-expression
+ of the initialization'.
+
+ commit d0a0da6bdb2ff02175d4c01bf60fb3274e37f5ee
+ Author: Jens Maurer
+ Date: Thu Oct 3 15:07:56 2019 +0200
+
+ [atomics.ref.ops] Rename stable label from .operations
+
+ commit 97a85b438144ba083301ce234da27f028c5a7e97
+ Author: Jens Maurer
+ Date: Thu Oct 3 15:11:30 2019 +0200
+
+ [basic.def.odr] Replace misleading 'for which' with 'where'.
+
+ commit 1327a34586617c26c48e615316f243b0ebf9d6d9
+ Author: Jens Maurer
+ Date: Thu Oct 3 15:25:33 2019 +0200
+
+ [support.srcloc] Canonicalize presentation.
+
+ - Avoid hanging paragraph.
+ - Rename label [source_location.syn] to [source.location.syn].
+ - Add automated check for clean labels.
+ - Separate header synopsis from class synopsis.
+
+ commit 7724f6d359e72a981206c312c9d42903e988d1bd
+ Author: Jens Maurer
+ Date: Fri Oct 4 19:10:06 2019 +0200
+
+ [class.mem] Avoid 'shall have been defined'
+
+ when describing implicit definitions of defaulted
+ special member functions. Instead, use plain 'are'.
+
+ commit 8685db27c43a5b41c0682318c07a00906fe6c7d1
+ Author: Jens Maurer
+ Date: Thu Aug 15 10:25:22 2019 +0200
+
+ [locale.numpunct,locale.moneypunct] Canonicalize local grammar presentation.
+
+ In [locale.numpunct], rename the 'integer' non-terminal
+ to 'intval', consistent with 'floatval'.
+ Also remove the superfluous 'plusminus' non-terminal.
+
+ commit 03dd1b8abfe921d4e6b643cd109310c03801cbfb
+ Author: Jens Maurer
+ Date: Fri Sep 13 23:43:15 2019 +0200
+
+ [over.match.funcs] Remove bullet for single-item bulleted list.
+
+ commit d0e718b6a514a22118367a815107281a9a24c805
+ Author: Jens Maurer
+ Date: Tue May 28 22:33:54 2019 +0200
+
+ [std] Consistently use 'immediately-declared constraint'.
+
+ Harmonize the phrasing in [expr.prim.req.compound],
+ [dcl.type.auto.deduct], [temp], and [temp.param].
+
+ commit 2c2b29248d04dc0ce3c22a74a9537c0582c36ee2
+ Author: Jens Maurer
+ Date: Thu Aug 8 22:06:21 2019 +0200
+
+ [version.syn] Add synopsis for header.
+
+ This replaces the table of feature-test macros for the library.
+
+ commit e9fb3f03f05e48aa02d36ee42305f00bc056356b
+ Author: Jens Maurer
+ Date: Mon Oct 7 21:11:30 2019 +0200
+
+ [rand.predef] Add digit separators to large numbers.
+
+ commit 7edac42a3b64406242c0c71b62264e05eab7e1a3
+ Author: Jens Maurer
+ Date: Mon Oct 7 22:24:16 2019 +0200
+
+ [intro.defs] Hyphenate parameter-type-list.
+
+ commit d8935d972ee4f07f4507eea55df209ab7b1a508d
+ Author: Sergey Zubkov
+ Date: Tue Oct 8 09:25:11 2019 -0400
+
+ [expr.const] drop unused declaration from example
diff --git a/source/Makefile b/source/Makefile
index 8215ae9d77..f47cdfde7e 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -26,11 +26,12 @@ reindex:
$(STDPDF)
$(STDPDF)
$(STDPDF)
- makeindex generalindex
+ makeindex -s generalindex.ist generalindex
makeindex headerindex
- makeindex libraryindex
+ makeindex -s libraryindex.ist libraryindex
makeindex grammarindex
makeindex impldefindex
+ makeindex conceptindex
$(STDPDF)
makeindex -s basic.gst -o xrefindex.gls xrefindex.glo
makeindex -s basic.gst -o xrefdelta.gls xrefdelta.glo
diff --git a/source/algorithms.tex b/source/algorithms.tex
index c2518033ec..668330bb46 100644
--- a/source/algorithms.tex
+++ b/source/algorithms.tex
@@ -46,7 +46,7 @@
void foo() {
using namespace std::ranges;
std::vector vec{1,2,3};
- find(begin(vec), end(vec), 2); // \#1
+ find(begin(vec), end(vec), 2); // \#1
}
\end{codeblock}
The function call expression at \tcode{\#1} invokes \tcode{std::ranges::find},
@@ -457,7 +457,7 @@
int a[] = {0,1};
std::vector v;
std::for_each(std::execution::par, std::begin(a), std::end(a), [&](int i) {
- v.push_back(i*2+1); // incorrect: data race
+ v.push_back(i*2+1); // incorrect: data race
});
\end{codeblock}
The program above has a data race because of the unsynchronized access to the
@@ -470,7 +470,7 @@
std::for_each(std::execution::par, std::begin(a), std::end(a), [&](int) {
x.fetch_add(1, std::memory_order::relaxed);
// spin wait for another iteration to change the value of \tcode{x}
- while (x.load(std::memory_order::relaxed) == 1) { } // incorrect: assumes execution order
+ while (x.load(std::memory_order::relaxed) == 1) { } // incorrect: assumes execution order
});
\end{codeblock}
The above example depends on the order of execution of the iterations, and
@@ -604,7 +604,7 @@
\tcode{is_execution_policy_v>} is \tcode{true}.
\rSec1[algorithm.syn]{Header \tcode{} synopsis}
-\indexhdr{algorithm}%
+\indexheader{algorithm}%
\begin{codeblock}
#include
@@ -615,7 +615,7 @@
template
constexpr bool all_of(InputIterator first, InputIterator last, Predicate pred);
template
- bool all_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool all_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -631,7 +631,7 @@
template
constexpr bool any_of(InputIterator first, InputIterator last, Predicate pred);
template
- bool any_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool any_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -647,7 +647,7 @@
template
constexpr bool none_of(InputIterator first, InputIterator last, Predicate pred);
template
- bool none_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool none_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -663,7 +663,7 @@
template
constexpr Function for_each(InputIterator first, InputIterator last, Function f);
template
- void for_each(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void for_each(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Function f);
namespace ranges {
@@ -698,7 +698,7 @@
template
constexpr InputIterator for_each_n(InputIterator first, Size n, Function f);
template
- ForwardIterator for_each_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator for_each_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, Size n, Function f);
// \ref{alg.find}, find
@@ -706,21 +706,21 @@
constexpr InputIterator find(InputIterator first, InputIterator last,
const T& value);
template
- ForwardIterator find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
const T& value);
template
constexpr InputIterator find_if(InputIterator first, InputIterator last,
Predicate pred);
template
- ForwardIterator find_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator find_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Predicate pred);
template
constexpr InputIterator find_if_not(InputIterator first, InputIterator last,
Predicate pred);
template
- ForwardIterator find_if_not(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator find_if_not(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Predicate pred);
@@ -760,13 +760,13 @@
BinaryPredicate pred);
template
ForwardIterator1
- find_end(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ find_end(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2);
template
ForwardIterator1
- find_end(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ find_end(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -798,13 +798,13 @@
BinaryPredicate pred);
template
ForwardIterator1
- find_first_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ find_first_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2);
template
ForwardIterator1
- find_first_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ find_first_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -836,11 +836,11 @@
BinaryPredicate pred);
template
ForwardIterator
- adjacent_find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ adjacent_find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
ForwardIterator
- adjacent_find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ adjacent_find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
BinaryPredicate pred);
@@ -861,14 +861,14 @@
count(InputIterator first, InputIterator last, const T& value);
template
typename iterator_traits::difference_type
- count(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ count(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, const T& value);
template
constexpr typename iterator_traits::difference_type
count_if(InputIterator first, InputIterator last, Predicate pred);
template
typename iterator_traits::difference_type
- count_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ count_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -910,24 +910,24 @@
BinaryPredicate pred);
template
pair
- mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2);
template
pair
- mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, BinaryPredicate pred);
template
pair
- mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2);
template
pair
- mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -982,21 +982,21 @@
InputIterator2 first2, InputIterator2 last2,
BinaryPredicate pred);
template
- bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2);
template
- bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, BinaryPredicate pred);
template
- bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2);
template
- bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -1057,13 +1057,13 @@
BinaryPredicate pred);
template
ForwardIterator1
- search(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ search(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2);
template
ForwardIterator1
- search(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ search(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -1095,13 +1095,13 @@
BinaryPredicate pred);
template
ForwardIterator
- search_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ search_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Size count, const T& value);
template
ForwardIterator
- search_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ search_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Size count, const T& value,
BinaryPredicate pred);
@@ -1131,7 +1131,7 @@
constexpr OutputIterator copy(InputIterator first, InputIterator last,
OutputIterator result);
template
- ForwardIterator2 copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result);
@@ -1169,7 +1169,7 @@
OutputIterator result);
template
- ForwardIterator2 copy_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 copy_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, Size n,
ForwardIterator2 result);
@@ -1188,7 +1188,7 @@
OutputIterator result, Predicate pred);
template
- ForwardIterator2 copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, Predicate pred);
@@ -1233,7 +1233,7 @@
OutputIterator result);
template
- ForwardIterator2 move(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 move(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result);
@@ -1275,7 +1275,7 @@
constexpr ForwardIterator2 swap_ranges(ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2);
template
- ForwardIterator2 swap_ranges(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 swap_ranges(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2);
@@ -1310,13 +1310,13 @@
template
ForwardIterator2
- transform(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ transform(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 result, UnaryOperation op);
template
ForwardIterator
- transform(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ transform(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator result,
BinaryOperation binary_op);
@@ -1379,14 +1379,14 @@
constexpr void replace(ForwardIterator first, ForwardIterator last,
const T& old_value, const T& new_value);
template
- void replace(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void replace(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
const T& old_value, const T& new_value);
template
constexpr void replace_if(ForwardIterator first, ForwardIterator last,
Predicate pred, const T& new_value);
template
- void replace_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void replace_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Predicate pred, const T& new_value);
@@ -1417,7 +1417,7 @@
OutputIterator result,
const T& old_value, const T& new_value);
template
- ForwardIterator2 replace_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 replace_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result,
const T& old_value, const T& new_value);
@@ -1427,7 +1427,7 @@
Predicate pred, const T& new_value);
template
- ForwardIterator2 replace_copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 replace_copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result,
Predicate pred, const T& new_value);
@@ -1472,13 +1472,13 @@
template
constexpr void fill(ForwardIterator first, ForwardIterator last, const T& value);
template
- void fill(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void fill(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, const T& value);
template
constexpr OutputIterator fill_n(OutputIterator first, Size n, const T& value);
template
- ForwardIterator fill_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator fill_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, Size n, const T& value);
namespace ranges {
@@ -1495,13 +1495,13 @@
constexpr void generate(ForwardIterator first, ForwardIterator last,
Generator gen);
template
- void generate(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void generate(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Generator gen);
template
constexpr OutputIterator generate_n(OutputIterator first, Size n, Generator gen);
template
- ForwardIterator generate_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator generate_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, Size n, Generator gen);
namespace ranges {
@@ -1521,14 +1521,14 @@
constexpr ForwardIterator remove(ForwardIterator first, ForwardIterator last,
const T& value);
template
- ForwardIterator remove(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator remove(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
const T& value);
template
constexpr ForwardIterator remove_if(ForwardIterator first, ForwardIterator last,
Predicate pred);
template
- ForwardIterator remove_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator remove_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Predicate pred);
@@ -1558,7 +1558,7 @@
template
ForwardIterator2
- remove_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ remove_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, const T& value);
template
@@ -1568,7 +1568,7 @@
template
ForwardIterator2
- remove_copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ remove_copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, Predicate pred);
@@ -1610,10 +1610,10 @@
constexpr ForwardIterator unique(ForwardIterator first, ForwardIterator last,
BinaryPredicate pred);
template
- ForwardIterator unique(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator unique(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
- ForwardIterator unique(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator unique(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
BinaryPredicate pred);
@@ -1638,13 +1638,13 @@
OutputIterator result, BinaryPredicate pred);
template
ForwardIterator2
- unique_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ unique_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result);
template
ForwardIterator2
- unique_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ unique_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, BinaryPredicate pred);
@@ -1674,7 +1674,7 @@
template
constexpr void reverse(BidirectionalIterator first, BidirectionalIterator last);
template
- void reverse(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void reverse(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
BidirectionalIterator first, BidirectionalIterator last);
namespace ranges {
@@ -1692,7 +1692,7 @@
OutputIterator result);
template
ForwardIterator
- reverse_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ reverse_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
BidirectionalIterator first, BidirectionalIterator last,
ForwardIterator result);
@@ -1716,7 +1716,7 @@
ForwardIterator middle,
ForwardIterator last);
template
- ForwardIterator rotate(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator rotate(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first,
ForwardIterator middle,
ForwardIterator last);
@@ -1735,7 +1735,7 @@
ForwardIterator last, OutputIterator result);
template
ForwardIterator2
- rotate_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ rotate_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 middle,
ForwardIterator1 last, ForwardIterator2 result);
@@ -1784,7 +1784,7 @@
typename iterator_traits::difference_type n);
template
ForwardIterator
- shift_left(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ shift_left(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
typename iterator_traits::difference_type n);
template
@@ -1793,7 +1793,7 @@
typename iterator_traits::difference_type n);
template
ForwardIterator
- shift_right(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ shift_right(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
typename iterator_traits::difference_type n);
@@ -1805,10 +1805,10 @@
constexpr void sort(RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
template
- void sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last);
template
- void sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
@@ -1830,10 +1830,10 @@
void stable_sort(RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
template
- void stable_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void stable_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last);
template
- void stable_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void stable_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
@@ -1857,12 +1857,12 @@
RandomAccessIterator middle,
RandomAccessIterator last, Compare comp);
template
- void partial_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void partial_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first,
RandomAccessIterator middle,
RandomAccessIterator last);
template
- void partial_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void partial_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first,
RandomAccessIterator middle,
RandomAccessIterator last, Compare comp);
@@ -1893,14 +1893,14 @@
Compare comp);
template
RandomAccessIterator
- partial_sort_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ partial_sort_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
RandomAccessIterator result_first,
RandomAccessIterator result_last);
template
RandomAccessIterator
- partial_sort_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ partial_sort_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
RandomAccessIterator result_first,
RandomAccessIterator result_last,
@@ -1934,10 +1934,10 @@
constexpr bool is_sorted(ForwardIterator first, ForwardIterator last,
Compare comp);
template
- bool is_sorted(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool is_sorted(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
- bool is_sorted(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool is_sorted(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Compare comp);
@@ -1959,11 +1959,11 @@
Compare comp);
template
ForwardIterator
- is_sorted_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ is_sorted_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
ForwardIterator
- is_sorted_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ is_sorted_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Compare comp);
@@ -1985,11 +1985,11 @@
constexpr void nth_element(RandomAccessIterator first, RandomAccessIterator nth,
RandomAccessIterator last, Compare comp);
template
- void nth_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void nth_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator nth,
RandomAccessIterator last);
template
- void nth_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void nth_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator nth,
RandomAccessIterator last, Compare comp);
@@ -2093,7 +2093,7 @@
template
constexpr bool is_partitioned(InputIterator first, InputIterator last, Predicate pred);
template
- bool is_partitioned(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool is_partitioned(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -2110,7 +2110,7 @@
ForwardIterator last,
Predicate pred);
template
- ForwardIterator partition(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator partition(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first,
ForwardIterator last,
Predicate pred);
@@ -2132,7 +2132,7 @@
BidirectionalIterator last,
Predicate pred);
template
- BidirectionalIterator stable_partition(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ BidirectionalIterator stable_partition(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
BidirectionalIterator first,
BidirectionalIterator last,
Predicate pred);
@@ -2157,7 +2157,7 @@
template
pair
- partition_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ partition_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
ForwardIterator1 out_true, ForwardIterator2 out_false,
Predicate pred);
@@ -2230,14 +2230,14 @@
template
ForwardIterator
- merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result);
template
ForwardIterator
- merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2270,12 +2270,12 @@
BidirectionalIterator middle,
BidirectionalIterator last, Compare comp);
template
- void inplace_merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void inplace_merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
BidirectionalIterator first,
BidirectionalIterator middle,
BidirectionalIterator last);
template
- void inplace_merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void inplace_merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
BidirectionalIterator first,
BidirectionalIterator middle,
BidirectionalIterator last, Compare comp);
@@ -2301,12 +2301,12 @@
InputIterator2 first2, InputIterator2 last2,
Compare comp);
template
- bool includes(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool includes(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2);
template
- bool includes(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool includes(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
Compare comp);
@@ -2339,14 +2339,14 @@
template
ForwardIterator
- set_union(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_union(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result);
template
ForwardIterator
- set_union(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_union(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2383,14 +2383,14 @@
template
ForwardIterator
- set_intersection(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_intersection(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result);
template
ForwardIterator
- set_intersection(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_intersection(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2427,14 +2427,14 @@
template
ForwardIterator
- set_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result);
template
ForwardIterator
- set_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2471,14 +2471,14 @@
template
ForwardIterator
- set_symmetric_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_symmetric_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result);
template
ForwardIterator
- set_symmetric_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_symmetric_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2582,10 +2582,10 @@
constexpr bool is_heap(RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
template
- bool is_heap(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool is_heap(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last);
template
- bool is_heap(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool is_heap(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
@@ -2607,11 +2607,11 @@
Compare comp);
template
RandomAccessIterator
- is_heap_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ is_heap_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last);
template
RandomAccessIterator
- is_heap_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ is_heap_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
@@ -2718,10 +2718,10 @@
constexpr ForwardIterator min_element(ForwardIterator first, ForwardIterator last,
Compare comp);
template
- ForwardIterator min_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator min_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
- ForwardIterator min_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator min_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Compare comp);
@@ -2741,10 +2741,10 @@
constexpr ForwardIterator max_element(ForwardIterator first, ForwardIterator last,
Compare comp);
template
- ForwardIterator max_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator max_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
- ForwardIterator max_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator max_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Compare comp);
@@ -2766,11 +2766,11 @@
minmax_element(ForwardIterator first, ForwardIterator last, Compare comp);
template
pair
- minmax_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ minmax_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
pair
- minmax_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ minmax_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Compare comp);
namespace ranges {
@@ -2805,13 +2805,13 @@
Compare comp);
template
bool
- lexicographical_compare(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ lexicographical_compare(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2);
template
bool
- lexicographical_compare(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ lexicographical_compare(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
Compare comp);
@@ -2901,7 +2901,7 @@
\rSec2[alg.all.of]{All of}
-\indexlibrary{\idxcode{all_of}}%
+\indexlibraryglobal{all_of}%
\begin{itemdecl}
template
constexpr bool all_of(InputIterator first, InputIterator last, Predicate pred);
@@ -2935,7 +2935,7 @@
\rSec2[alg.any.of]{Any of}
-\indexlibrary{\idxcode{any_of}}%
+\indexlibraryglobal{any_of}%
\begin{itemdecl}
template
constexpr bool any_of(InputIterator first, InputIterator last, Predicate pred);
@@ -2962,13 +2962,14 @@
in the range \range{first}{last}, and \tcode{false} otherwise.
\pnum
-\complexity At most \tcode{last - first} applications of the predicate
+\complexity
+At most \tcode{last - first} applications of the predicate
and any projection.
\end{itemdescr}
\rSec2[alg.none.of]{None of}
-\indexlibrary{\idxcode{none_of}}%
+\indexlibraryglobal{none_of}%
\begin{itemdecl}
template
constexpr bool none_of(InputIterator first, InputIterator last, Predicate pred);
@@ -3002,7 +3003,7 @@
\rSec2[alg.foreach]{For each}
-\indexlibrary{\idxcode{for_each}}%
+\indexlibraryglobal{for_each}%
\begin{itemdecl}
template
constexpr Function for_each(InputIterator first, InputIterator last, Function f);
@@ -3041,7 +3042,7 @@
If \tcode{f} returns a result, the result is ignored.
\end{itemdescr}
-\indexlibrary{\idxcode{for_each}}%
+\indexlibraryglobal{for_each}%
\begin{itemdecl}
template
void for_each(ExecutionPolicy&& exec,
@@ -3081,7 +3082,7 @@
\end{note}
\end{itemdescr}
-\indexlibrary{\idxcode{for_each}}%
+\indexlibraryglobal{for_each}%
\begin{itemdecl}
template S, class Proj = identity,
indirectly_unary_invocable> Fun>
@@ -3123,7 +3124,7 @@
\end{note}
\end{itemdescr}
-\indexlibrary{\idxcode{for_each_n}}%
+\indexlibraryglobal{for_each_n}%
\begin{itemdecl}
template
constexpr InputIterator for_each_n(InputIterator first, Size n, Function f);
@@ -3132,7 +3133,7 @@
\begin{itemdescr}
\pnum
\requires
-\tcode{Function} shall meet the \oldconcept{MoveConstructible} requirements
+\tcode{Function} shall meet the \oldconcept{MoveConstructible} requirements.
\begin{note}
\tcode{Function} need not meet
the requirements of \oldconcept{CopyConstructible}.
@@ -3160,7 +3161,7 @@
If \tcode{f} returns a result, the result is ignored.
\end{itemdescr}
-\indexlibrary{\idxcode{for_each_n}}%
+\indexlibraryglobal{for_each_n}%
\begin{itemdecl}
template
ForwardIterator for_each_n(ExecutionPolicy&& exec, ForwardIterator first, Size n,
@@ -3199,9 +3200,9 @@
\rSec2[alg.find]{Find}
-\indexlibrary{\idxcode{find}}%
-\indexlibrary{\idxcode{find_if}}%
-\indexlibrary{\idxcode{find_if_not}}%
+\indexlibraryglobal{find}%
+\indexlibraryglobal{find_if}%
+\indexlibraryglobal{find_if_not}%
\begin{itemdecl}
template
constexpr InputIterator find(InputIterator first, InputIterator last,
@@ -3274,7 +3275,7 @@
\rSec2[alg.find.end]{Find end}
-\indexlibrary{\idxcode{find_end}}%
+\indexlibraryglobal{find_end}%
\begin{itemdecl}
template
constexpr ForwardIterator1
@@ -3359,7 +3360,7 @@
\rSec2[alg.find.first.of]{Find first}
-\indexlibrary{\idxcode{find_first_of}}%
+\indexlibraryglobal{find_first_of}%
\begin{itemdecl}
template
constexpr InputIterator
@@ -3432,7 +3433,7 @@
\rSec2[alg.adjacent.find]{Adjacent find}
-\indexlibrary{\idxcode{adjacent_find}}%
+\indexlibraryglobal{adjacent_find}%
\begin{itemdecl}
template
constexpr ForwardIterator
@@ -3490,8 +3491,8 @@
\rSec2[alg.count]{Count}
-\indexlibrary{\idxcode{count}}%
-\indexlibrary{\idxcode{count_if}}%
+\indexlibraryglobal{count}%
+\indexlibraryglobal{count_if}%
\begin{itemdecl}
template
constexpr typename iterator_traits::difference_type
@@ -3558,7 +3559,7 @@
\rSec2[mismatch]{Mismatch}
-\indexlibrary{\idxcode{mismatch}}%
+\indexlibraryglobal{mismatch}%
\begin{itemdecl}
template
constexpr pair
@@ -3659,7 +3660,7 @@
\rSec2[alg.equal]{Equal}
-\indexlibrary{\idxcode{equal}}%
+\indexlibraryglobal{equal}%
\begin{itemdecl}
template
constexpr bool equal(InputIterator1 first1, InputIterator1 last1,
@@ -3771,7 +3772,7 @@
\rSec2[alg.is.permutation]{Is permutation}
-\indexlibrary{\idxcode{is_permutation}}%
+\indexlibraryglobal{is_permutation}%
\begin{itemdecl}
template
constexpr bool is_permutation(ForwardIterator1 first1, ForwardIterator1 last1,
@@ -3828,7 +3829,7 @@
otherwise, at worst \bigoh{N^2}, where $N$ has the value \tcode{last1 - first1}.
\end{itemdescr}
-\indexlibrary{\idxcode{is_permutation}}%
+\indexlibraryglobal{is_permutation}%
\begin{itemdecl}
template S1, forward_iterator I2,
sentinel_for S2, class Pred = ranges::equal_to, class Proj1 = identity,
@@ -3872,7 +3873,7 @@
\rSec2[alg.search]{Search}
-\indexlibrary{\idxcode{search}}%
+\indexlibraryglobal{search}%
\begin{itemdecl}
template
constexpr ForwardIterator1
@@ -3916,7 +3917,7 @@
of the corresponding predicate.
\end{itemdescr}
-\indexlibrary{\idxcode{search}}%
+\indexlibraryglobal{search}%
\begin{itemdecl}
template S1, forward_iterator I2,
sentinel_for S2, class Pred = ranges::equal_to,
@@ -3958,7 +3959,7 @@
of the corresponding predicate and projections.
\end{itemdescr}
-\indexlibrary{\idxcode{search_n}}%
+\indexlibraryglobal{search_n}%
\begin{itemdecl}
template
constexpr ForwardIterator
@@ -4004,7 +4005,7 @@
At most \tcode{last - first} applications of the corresponding predicate.
\end{itemdescr}
-\indexlibrary{\idxcode{search_n}}%
+\indexlibraryglobal{search_n}%
\begin{itemdecl}
template S, class T,
class Pred = ranges::equal_to, class Proj = identity>
@@ -4036,7 +4037,7 @@
of the corresponding predicate and projection.
\end{itemdescr}
-\indexlibrary{\idxcode{search}}%
+\indexlibraryglobal{search}%
\begin{itemdecl}
template
constexpr ForwardIterator
@@ -4057,7 +4058,7 @@
\rSec2[alg.copy]{Copy}
-\indexlibrary{\idxcode{copy}}%
+\indexlibraryglobal{copy}%
\begin{itemdecl}
template
constexpr OutputIterator copy(InputIterator first, InputIterator last,
@@ -4101,7 +4102,7 @@
Exactly $N$ assignments.
\end{itemdescr}
-\indexlibrary{\idxcode{copy}}%
+\indexlibraryglobal{copy}%
\begin{itemdecl}
template
ForwardIterator2 copy(ExecutionPolicy&& policy,
@@ -4131,7 +4132,7 @@
Exactly \tcode{last - first} assignments.
\end{itemdescr}
-\indexlibrary{\idxcode{copy_n}}%
+\indexlibraryglobal{copy_n}%
\begin{itemdecl}
template
constexpr OutputIterator copy_n(InputIterator first, Size n,
@@ -4172,7 +4173,7 @@
Exactly $M$ assignments.
\end{itemdescr}
-\indexlibrary{\idxcode{copy_if}}%
+\indexlibraryglobal{copy_if}%
\begin{itemdecl}
template
constexpr OutputIterator copy_if(InputIterator first, InputIterator last,
@@ -4247,7 +4248,7 @@
Stable\iref{algorithm.stable}.
\end{itemdescr}
-\indexlibrary{\idxcode{copy_backward}}%
+\indexlibraryglobal{copy_backward}%
\begin{itemdecl}
template
constexpr BidirectionalIterator2
@@ -4390,7 +4391,7 @@
Exactly $N$ assignments.
\end{itemdescr}
-\indexlibrary{\idxcode{move_backward}}%
+\indexlibraryglobal{move_backward}%
\begin{itemdecl}
template
constexpr BidirectionalIterator2
@@ -4452,7 +4453,7 @@
\rSec2[alg.swap]{Swap}
-\indexlibrary{\idxcode{swap_ranges}}%
+\indexlibraryglobal{swap_ranges}%
\begin{itemdecl}
template
constexpr ForwardIterator2
@@ -4520,7 +4521,7 @@
Exactly $M$ swaps.
\end{itemdescr}
-\indexlibrary{\idxcode{iter_swap}}%
+\indexlibraryglobal{iter_swap}%
\begin{itemdecl}
template
constexpr void iter_swap(ForwardIterator1 a, ForwardIterator2 b);
@@ -4539,7 +4540,7 @@
\rSec2[alg.transform]{Transform}
-\indexlibrary{\idxcode{transform}}%
+\indexlibraryglobal{transform}%
\begin{itemdecl}
template
@@ -4667,8 +4668,8 @@
\rSec2[alg.replace]{Replace}
-\indexlibrary{\idxcode{replace}}%
-\indexlibrary{\idxcode{replace_if}}%
+\indexlibraryglobal{replace}%
+\indexlibraryglobal{replace_if}%
\begin{itemdecl}
template
constexpr void replace(ForwardIterator first, ForwardIterator last,
@@ -4737,8 +4738,8 @@
of the corresponding predicate and any projection.
\end{itemdescr}
-\indexlibrary{\idxcode{replace_copy}}%
-\indexlibrary{\idxcode{replace_copy_if}}%
+\indexlibraryglobal{replace_copy}%
+\indexlibraryglobal{replace_copy_if}%
\begin{itemdecl}
template
constexpr OutputIterator
@@ -4843,8 +4844,8 @@
\rSec2[alg.fill]{Fill}
-\indexlibrary{\idxcode{fill}}%
-\indexlibrary{\idxcode{fill_n}}%
+\indexlibraryglobal{fill}%
+\indexlibraryglobal{fill_n}%
\begin{itemdecl}
template
constexpr void fill(ForwardIterator first, ForwardIterator last, const T& value);
@@ -4895,8 +4896,8 @@
\rSec2[alg.generate]{Generate}
-\indexlibrary{\idxcode{generate}}%
-\indexlibrary{\idxcode{generate_n}}%
+\indexlibraryglobal{generate}%
+\indexlibraryglobal{generate_n}%
\begin{itemdecl}
template
constexpr void generate(ForwardIterator first, ForwardIterator last,
@@ -4949,8 +4950,8 @@
\rSec2[alg.remove]{Remove}
-\indexlibrary{\idxcode{remove}}%
-\indexlibrary{\idxcode{remove_if}}%
+\indexlibraryglobal{remove}%
+\indexlibraryglobal{remove_if}%
\begin{itemdecl}
template
constexpr ForwardIterator remove(ForwardIterator first, ForwardIterator last,
@@ -5034,8 +5035,8 @@
\end{note}
\end{itemdescr}
-\indexlibrary{\idxcode{remove_copy}}%
-\indexlibrary{\idxcode{remove_copy_if}}%
+\indexlibraryglobal{remove_copy}%
+\indexlibraryglobal{remove_copy_if}%
\begin{itemdecl}
template
constexpr OutputIterator
@@ -5131,7 +5132,7 @@
\rSec2[alg.unique]{Unique}
-\indexlibrary{\idxcode{unique}}%
+\indexlibraryglobal{unique}%
\begin{itemdecl}
template
constexpr ForwardIterator unique(ForwardIterator first, ForwardIterator last);
@@ -5201,7 +5202,7 @@
no more than twice as many applications of any projection.
\end{itemdescr}
-\indexlibrary{\idxcode{unique_copy}}%
+\indexlibraryglobal{unique_copy}%
\begin{itemdecl}
template
constexpr OutputIterator
@@ -5304,7 +5305,7 @@
\returns
\begin{itemize}
\item \tcode{result + $N$} for the overloads in namespace \tcode{std}, or
-\item \tcode{\{last, result + $N$\}} for the overloads in namespace \tcode{ranges}
+\item \tcode{\{last, result + $N$\}} for the overloads in namespace \tcode{ranges}.
\end{itemize}
\pnum
@@ -5316,7 +5317,7 @@
\rSec2[alg.reverse]{Reverse}
-\indexlibrary{\idxcode{reverse}}%
+\indexlibraryglobal{reverse}%
\begin{itemdecl}
template
constexpr void reverse(BidirectionalIterator first, BidirectionalIterator last);
@@ -5355,7 +5356,7 @@
Exactly \tcode{(last - first)/2} swaps.
\end{itemdescr}
-\indexlibrary{\idxcode{reverse_copy}}%
+\indexlibraryglobal{reverse_copy}%
\begin{itemdecl}
template
constexpr OutputIterator
@@ -5409,7 +5410,7 @@
\rSec2[alg.rotate]{Rotate}
-\indexlibrary{\idxcode{rotate}}%
+\indexlibraryglobal{rotate}%
\begin{itemdecl}
template
constexpr ForwardIterator
@@ -5472,7 +5473,7 @@
\tcode{return ranges::rotate(ranges::begin(r), middle, ranges::end(r));}
\end{itemdescr}
-\indexlibrary{\idxcode{rotate_copy}}%
+\indexlibraryglobal{rotate_copy}%
\begin{itemdecl}
template
constexpr OutputIterator
@@ -5539,7 +5540,7 @@
\rSec2[alg.random.sample]{Sample}
-\indexlibrary{\idxcode{sample}}%
+\indexlibraryglobal{sample}%
\begin{itemdecl}
template
@@ -5608,7 +5609,7 @@
\rSec2[alg.random.shuffle]{Shuffle}
-\indexlibrary{\idxcode{shuffle}}%
+\indexlibraryglobal{shuffle}%
\begin{itemdecl}
template
void shuffle(RandomAccessIterator first,
@@ -5661,7 +5662,7 @@
\rSec2[alg.shift]{Shift}
-\indexlibrary{\idxcode{shift_left}}%
+\indexlibraryglobal{shift_left}%
\begin{itemdecl}
template
constexpr ForwardIterator
@@ -5700,7 +5701,7 @@
At most \tcode{(last - first) - n} assignments.
\end{itemdescr}
-\indexlibrary{\idxcode{shift_right}}%
+\indexlibraryglobal{shift_right}%
\begin{itemdecl}
template
constexpr ForwardIterator
@@ -5830,7 +5831,7 @@
\rSec3[sort]{\tcode{sort}}
-\indexlibrary{\idxcode{sort}}%
+\indexlibraryglobal{sort}%
\begin{itemdecl}
template
constexpr void sort(RandomAccessIterator first, RandomAccessIterator last);
@@ -5889,7 +5890,7 @@
\rSec3[stable.sort]{\tcode{stable_sort}}
-\indexlibrary{\idxcode{stable_sort}}%
+\indexlibraryglobal{stable_sort}%
\begin{itemdecl}
template
void stable_sort(RandomAccessIterator first, RandomAccessIterator last);
@@ -5953,7 +5954,7 @@
\rSec3[partial.sort]{\tcode{partial_sort}}
-\indexlibrary{\idxcode{partial_sort}}%
+\indexlibraryglobal{partial_sort}%
\begin{itemdecl}
template