diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
index f3d4a5f770..8d3e1224c1 100644
--- a/.github/workflows/check.yml
+++ b/.github/workflows/check.yml
@@ -17,8 +17,8 @@ jobs:
strategy:
matrix:
cfg:
- - { name: 'Linux', os: 'ubuntu-22.04' }
- - { name: 'MacOS', os: 'macos-13' }
+ - { name: 'Linux', os: 'ubuntu-24.04' }
+ # - { name: 'MacOS', os: 'macos-13' }
steps:
- name: checkout
@@ -39,11 +39,11 @@ jobs:
brew update
- name: update-apt-cache
- if: matrix.cfg.os == 'ubuntu-22.04'
+ if: matrix.cfg.os == 'ubuntu-24.04'
run: sudo apt-get update
- name: install (Linux)
- if: matrix.cfg.os == 'ubuntu-22.04'
+ if: matrix.cfg.os == 'ubuntu-24.04'
run: sudo apt-get install latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended lmodern
- name: install (MacOS)
@@ -56,7 +56,7 @@ jobs:
sudo tlmgr install latexmk isodate substr relsize ulem fixme rsfs extract layouts enumitem l3packages l3kernel imakeidx splitindex xstring
- name: make (Linux)
- if: matrix.cfg.os == 'ubuntu-22.04'
+ if: matrix.cfg.os == 'ubuntu-24.04'
run: make quiet
- name: make (MacOS)
@@ -67,7 +67,7 @@ jobs:
run: ../tools/check-output.sh
- name: upload PDF
- if: matrix.cfg.os == 'ubuntu-22.04'
+ if: matrix.cfg.os == 'ubuntu-24.04'
uses: actions/upload-artifact@v4
with:
name: draft-snapshot
diff --git a/papers/n5009.html b/papers/n5009.html
new file mode 100644
index 0000000000..ec21ca1bed
--- /dev/null
+++ b/papers/n5009.html
@@ -0,0 +1,893 @@
+
+
+
+
+
+N5009
+
+
+N5009 Editors’ Report:
Programming Languages — C++
+
+Date: 2025-03-15
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: cxxeditor@gmail.com
+
+Acknowledgements
+
+Thanks to all those who have
+submitted editorial issues,
+to those who have provided pull requests with fixes,
+and to everyone who drafted motion applications.
+
+New papers
+
+
+- N5008 is the
+current working draft for C++26. It replaces
+N5001.
+- N5009 is this Editors' Report.
+
+
+Motions incorporated into working draft
+
+Notes on motions
+
+LWG Poll 2 was retracted.
+
+Library issue LWG4189,
+adopted by LWG Poll 1 (P3615R0) had the effect of making most of the content of <ranges>
+free-standing by default, with the note that "[m]ost future additions to this header should
+have no problem being freestanding, so that is the right default." Absent an explicit
+opt-out, the new facilities from LWG Poll 14
+(P2846R6),
+reserve_hint
and approximately_sized_range
, are now free-standing as well.
+
+Core working group polls
+
+CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues in
+P3638R0
+(Core Language Working Group "ready" Issues for the February, 2025 meeting) to the C++ Working Paper.
+
+CWG Poll 2. Apply the changes in P3542R0
+(Abolish the term "converting constructor") to the C++ Working Paper.
+
+CWG Poll 3. Apply the changes in P3074R7
+(trivial unions (was std::uninitialized
)) to the C++ Working Paper.
+
+CWG Poll 4. Apply the changes in P1494R5
+(Partial program correctness) to the C++ Working Paper.
+
+CWG Poll 5. Apply the changes in P2900R14
+(Contracts for C++) to the C++ Working Paper.
+
+CWG Poll 6. Apply the changes in P3475R2
+(Defang and deprecate memory_order::consume
) to the C++ Working Paper.
+
+CWG Poll 7. Apply the changes in P2841R7
+(Concept and variable-template template-parameters) to the C++ Working Paper.
+
+CWG Poll 8. Apply the changes in P2786R13
+(Trivial Relocatability For C++26) to the C++ Working Paper.
+
+CWG Poll 9. Apply the changes in P1967R14
+(#embed
- a simple, scannable preprocessor-based resource acquisition method) to the C++ Working Paper.
+
+Library working group polls
+
+LWG Poll 1. Apply the changes for all Tentatively Ready issues in
+P3615R0
+(C++ Standard Library Ready Issues to be moved in Hagenberg, Feb. 2025) to the C++ working paper.
+
+LWG Poll 2 was retracted.
+
+LWG Poll 3. Apply the changes in P3137R3
+(views::to_input
) to the C++ working paper.
+
+LWG Poll 4. Apply the changes in P0472R3
+(Put std::monostate
in <utility>
) to the C++ working paper.
+
+LWG Poll 5. Apply the changes in P3349R1
+(Converting contiguous iterators to pointers) to the C++ working paper.
+
+LWG Poll 6. Apply the changes in P3372R3
+(constexpr containers and adaptors) to the C++ working paper.
+
+LWG Poll 7. Apply the changes in P3378R2
+(constexpr exception types) to the C++ working paper.
+
+LWG Poll 8. Apply the changes in P3441R2
+(Rename simd_split
to simd_chunk
) to the C++ working paper.
+
+LWG Poll 9. Apply the changes in P3287R3
+(Exploration of namespaces for std::simd
) to the C++ working paper.
+
+LWG Poll 10. Apply the changes in P2976R1
+(Freestanding Library: algorithm, numeric, and random) to the C++ working paper.
+
+LWG Poll 11. Apply the changes in P3430R3
+(SIMD issues: explicit, unsequenced, identity-element position, and members of disabled SIMD) to the C++ working paper.
+
+LWG Poll 12. Apply the changes in P2663R7
+(Interleaved complex values support in std::simd
) to the C++ working paper.
+
+LWG Poll 13. Apply the changes in P2933R4
+(Extend <bit>
header function with overloads for std::simd
) to the C++ working paper.
+
+LWG Poll 14. Apply the changes in P2846R6
+(reserve_hint
: Eagerly reserving memory for not-quite-sized lazy ranges) to the C++ working paper.
+
+LWG Poll 15. Apply the changes in P3471R4
+(Standard Library Hardening) to the C++ working paper.
+
+LWG Poll 16. Apply the changes in P0447R28
+(Introduction of std::hive
to the standard library) to the C++ working paper.
+
+LWG Poll 17. Apply the changes in P3019R14
+(indirect
and polymorphic
: Vocabulary Types for Composite Class Design) to the C++ working paper.
+
+Editorial changes
+
+Major editorial changes
+
+There have not been any major editorial changes.
+
+Minor editorial changes
+
+A log of editorial fixes made to the working draft since N5001 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 f3676cb1550f1501236cc65c1dfa2dec957bbdf2
+Author: Mark Hoemmen <mhoemmen@users.noreply.github.com>
+Date: Tue Dec 17 14:15:10 2024 -0700
+
+ [linalg.conj.conjugated] Remove inappropriate "expression-equivalent" wording (#7497)
+
+ This phrase appears to be copy-pasted from elsewhere, but is not meaningful here.
+
+commit be0a25c9a2f2c1f498b0ff84a33c28adae41863e
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Dec 17 20:31:14 2024 +0100
+
+ [simd.alg] Fix range syntax
+
+commit a18040f05ff6a27e5c6425005ab1b21515ad952c
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Nov 1 08:06:28 2024 +0100
+
+ [basic.compound] Update introduction
+
+commit 0131e015c09eca1901d0bfa46744a6c7ab31b00d
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Dec 17 21:21:42 2024 +0000
+
+ [linalg.helpers] Rename template parameter for poison pills
+
+ This avoids reusing `T` which is also used for the type of the
+ subexpression E.
+
+ Fixes #7494
+
+commit 04169bac7059322ad8bf32e605a80e57ef30b922
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Dec 17 22:51:01 2024 +0100
+
+ [inplace.vector.overview] Replace residual use of 'trivial type'
+
+commit 9272753d0ecbc1df9d08178793795f06b623a451
+Author: Hewill Kang <hewillk@gmail.com>
+Date: Tue Nov 19 16:41:00 2024 +0800
+
+ [flat.map.defn, flat.set.defn] Avoid naming the from_range_t tag
+
+commit 85de0af0e0af416f7e73ac096254641c31bf11cc
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Dec 17 23:19:21 2024 +0100
+
+ [basic.fundamental] Ensure consistency with [conv.ptr]
+
+commit 561a4d8cde9e434fe206b88489e95b0e5271f469
+Author: Mark Hoemmen <mhoemmen@users.noreply.github.com>
+Date: Thu Dec 19 14:35:50 2024 -0700
+
+ [bibliography] Fix spelling and formatting (#7507)
+
+ Fix spelling of one author's name. Add missing commas
+ and extra spaces after a period ending authors' abbreviated
+ first or middle names.
+
+commit 82153790d8904ea82bc57edc8885b02925e85e93
+Author: Mark Hoemmen <mhoemmen@users.noreply.github.com>
+Date: Thu Dec 19 14:41:02 2024 -0700
+
+ [simd.general, bibliography] Add SIMD acronym explanation and bibliographic reference (#7504)
+
+ To the existing Note at the beginning of [simd.general],
+ add text that unpacks the SIMD acronym and refers to Flynn 1966.
+
+ Add bibliography entry for Flynn 1966, the paper that introduced what
+ later became known as "Flynn's Taxonomy." This classifies parallel
+ computer hardware as SISD, SIMD, MISD, or MIMD.
+
+commit e1a368bc157f824cee7702e87a2cca1951e60f98
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Dec 19 11:02:38 2024 +0000
+
+ [mdspan.sub] Change to "unit-stride slice for mapping"
+
+ This was the wording requested by LWG and approved in P3355R2, but I
+ mistakenly put P3355R1 in the straw polls.
+
+commit 2d3ac367d8605d7172151726e873daea295a573a
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Dec 20 10:15:46 2024 +0100
+
+ [diff.cpp03.library] Correct \effect to \change
+
+ - Correct \effect to \change.
+ - Add period at end.
+ - Add \tcode for swap.
+
+commit a2429a5944b71e3563dc09730426af43fb4b53e1
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Dec 26 01:37:34 2024 +0000
+
+ [class.expl.init] Fix incorrect note
+
+commit 1411cf56fcb41f9fd000406185f17ef47235d26a
+Author: Bronek Kozicki <brok@incorrekt.com>
+Date: Wed Jan 1 17:00:14 2025 +0000
+
+ [expected.bad.void] Fix syntax error in bad_expected_access<void> (#7529)
+
+ Introduced by commit 8c997445c176c81a334e77f9344b91abc72b2772
+
+commit a137940ac9c807e3ea809c3ff0b3a863795bf742
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 1 22:18:37 2025 +0100
+
+ [filebuf.members,fs.path.req] Fix indefinite article (#7530)
+
+commit d2b48043fcc219b2a141af39dae2eb85934c0847
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Jan 2 10:49:14 2025 +0100
+
+ [expr.const] Properly merge P2686R5
+
+ P2686R5 (applied by commit e220906b71df01f09fe60921e8fac39b80558f78)
+ accidentally reverted a change considering erroneous values made by
+ P2795R5.
+
+commit 22937c04da139226c186973eda2cdb79df640b5b
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Thu Jan 2 15:14:06 2025 +0100
+
+ [format.arg] Fix indefinite article (#7536)
+
+commit 75af9f7f8cd816e1908eb2a3917eb7749c11471a
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sat Jan 4 02:18:53 2025 +0700
+
+ [tuple.helper] Remove redundant 'public' in base-specifier of struct (#7539)
+
+commit 6ff55d533f72b7222e022513dcb80982f4e887a0
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Dec 30 16:34:49 2024 +0100
+
+ [lex.icon,depr.locale.category] Remove duplicate 'table' in front of table references
+
+commit 70df8aa8f4a30a7d54a604cbe01ebe13f5973043
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 8 13:51:13 2025 +0100
+
+ [linalg.algs.blas2.gemv] Fix singular/plural mismatch (#7546)
+
+commit 0164098f821ae002469c6f23cd03fc66a0a2f7ca
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Jan 9 10:01:36 2025 +0000
+
+ [basic.def.odr] Fix typo and reference the correct subclause
+
+commit 2734ddeb05115f3fddf09c9c15b843083575e9df
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Jan 10 13:13:28 2025 +0100
+
+ [exec.async.ops] Remove stray closing parenthesis (#7555)
+
+commit 77171de904e6008f31717615d5baabf604baeea8
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Fri Jan 10 23:05:58 2025 +0800
+
+ [locale.time.put.members] Remove incorrect footnote (#7553)
+
+commit 6ecd1be67c71001db37883ee45b76cc66ef4101f
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Jan 13 22:34:47 2025 +0100
+
+ [exec.getcomplsigs] Add missing LaTeX escaping of braces (#7541)
+
+commit 1b1914ed868b0b29e63d0d1e4b872daf07b50740
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Jan 14 14:31:09 2025 +0100
+
+ [simd.traits] Remove stray closing parenthesis (#7563)
+
+commit 0ac6f9d7e94a70b48457f289bcbeb069a4662c28
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 15 14:10:57 2025 +0100
+
+ [locale.moneypunct.general] Insert period at end (#7564)
+
+commit 96fad4cf7ff48c8a4ae5442580d55008fb56ca43
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Jan 15 10:06:49 2025 -0500
+
+ [inplace.vector.overview] Remove spurious semicolon closing namespace std (#7566)
+
+commit 1c398ffc71845163ca50b712f1edd9e1b2a87772
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Fri Jan 17 17:11:02 2025 +0000
+
+ [type.info] Remove comments explaining deleted members
+
+ The standard is not a tutorial.
+
+commit 569e2a38cf1aa6d185b4c4d1817d9496ebd087e5
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Jan 18 09:18:53 2025 +0100
+
+ [exec.snd.expos] Move write-env paragraph into itemdescr (#7571)
+
+commit 93aa7cb89b375280cb2d5f385fb0c5a5874e9243
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sat Jan 18 23:32:20 2025 +0100
+
+ [re.err,re.alg.match,re.tokiter.incr] Add period at end for consistency (#7574)
+
+commit ce5fd62b98d822228f46319f4516e34c492fa257
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 22 16:15:57 2025 +0100
+
+ [string.view.io,string.insert] Add period at end of "Returns" (#7579)
+
+commit 5c4823a05b83a67f7550fdcc1476f8000c29514c
+Author: A. Jiang <de34@live.cn>
+Date: Thu Jan 23 11:31:05 2025 +0800
+
+ [expr.const] Re-apply CWG2909
+
+commit db563eecdfb63cb24f10afb30f001a0bc6213997
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Jan 15 07:59:51 2025 -0500
+
+ [lex.phases] Update implementation defined text
+
+ Since C++23 we no longer have physical source files, but rather
+ input files. Update the two implementation-defined references
+ to the mapping from input file to translation character set
+ using the same phrasing so that they provide the same entry
+ in the index of implementation-defined behavior, just as they
+ did in C++20, before getting out of sync when the terminology
+ changed.
+
+commit a39cca2e9c009766da1e205daf5d7bf8cbdccaa3
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Jan 23 07:28:40 2025 -0500
+
+ [linalg.conj.conjugated] Rearrange to match P3050R3 (#7506)
+
+ This was the wording requested by LWG and approved in P3050R3, but I
+ mistakenly put P3050R2 in the straw polls.
+
+commit 6583c4ac9c2d3bbfb7daac0c79c902a30417c50f
+Author: cor3ntin <corentinjabot@gmail.com>
+Date: Sat Jan 25 14:11:30 2025 +0100
+
+ [std] Use template-parameter and template parameter more consistently (#7460)
+
+ Try to use template-parameter only when we refer to a
+ grammar construct, and to 'template parameter' everywhere else.
+
+ Adopt the same logic to template-argument/template argument.
+
+ This change might not be exhaustive.
+
+ The aim is to editorially adopt some of the wording changes
+ made in P2841R5 to ease its review in core.
+
+commit 696dcd809ceed3fc10502161963f8ce13505ec1a
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Jan 25 21:25:32 2025 +0100
+
+ [format.string.general,format.formatter.spec] Fix unparenthesized cross-references
+
+commit 47cf5a67357543b0d45d0072f42fdd29fa028cca
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 29 09:29:54 2025 +0100
+
+ [alg.rand.generate] Add period at end of "Returns" (#7595)
+
+commit b2b266e7b67eb583c50c34a9eceffe44f72ea2f6
+Author: Ivan Lazarić <ivan.lazaric1@gmail.com>
+Date: Sat Feb 1 09:56:42 2025 +0100
+
+ [temp.res.general] Fix nesting for \terminal{\opt{...}} (#7599)
+
+commit d51e6bedd991d55b7f7fb7f41e1f08083cfd1b1d
+Author: Eric Niebler <eniebler@boost.org>
+Date: Mon Feb 3 12:05:48 2025 -0800
+
+ [range.view] Change incorrect uses of "which" to "that" (#7606)
+
+commit 1d49b05d1b48a2daa2a88d854e2367e6648c3cb6
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Mon Feb 3 21:14:45 2025 +0100
+
+ [tuple.assign] Remove incorrect comma at end (#7609)
+
+commit 2e1b856b6187fe9a5c74782948982eefd128ecbf
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Feb 3 16:17:48 2025 -0500
+
+ [diff.cpp.library] Add new C23 headers to list of new headers
+
+commit cae9b2a645d5bb91caffc061325f107605e85a0d
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Feb 4 09:30:49 2025 +0100
+
+ [container.alloc.reqmts,sequence.reqmts] Add period at end (#7614)
+
+commit 003506a2779c519d4929cce75c7adeb1b7a76955
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Jan 1 18:45:19 2025 +0700
+
+ [macros] Add LaTeX macros to index library macros
+
+ The immediate idea is to support using the new macros directly
+ in header synopses when defining each library macro. This will
+ ensure that no macros are accidentally not indexed.
+
+ A follow-up plan is that this separation of library macros will
+ make it easier to create a separate index of macros, or apply
+ other macro-specific renderings, in the future. To this end,
+ all indexed uses of a macro, not just those in header files,
+ should be replaced by use of these new macros. Similarly,
+ these LaTeX macros can be used in-place in regular text to
+ index cross-references where standard library macros are used
+ throughout the standard.
+
+commit d7618b4d20a24b37677b92c2fbd80dcee4565bc3
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Feb 7 09:37:37 2025 +0100
+
+ [diff.lex] Add period at end (#7618)
+
+commit 040ff41df1d0e0e4d31bd6c76f084fbc84239e7f
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Sat Feb 8 07:56:45 2025 +0000
+
+ [fs.op.current.path] Remove note discussing design choices (#7620)
+
+commit dfdc64cbdc842f0f7d2a060440ea907b41ce78e6
+Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
+Date: Sun Feb 9 20:12:44 2025 +0400
+
+ [basic.scope.scope] Update the note about special cases (#7594)
+
+commit 8948fd9bd8f799d50fc9cbff34b349b9d59157f1
+Author: André Brand <andre.brand@mailbox.org>
+Date: Sun Feb 9 17:18:12 2025 +0100
+
+ [temp.mem.enum] Remove instantiation in example [temp.inst] (#7558)
+
+ The example is inconsistent with [temp.inst]p3. Since the implicit instantiation
+ does not contribute to the point of [temp.mem.enum], the inconsistency
+ can be resolved by omitting the instantiation.
+
+commit 0d0ea5582082f85fa707c680634044209c2e343d
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Mon Nov 18 13:47:37 2024 +0000
+
+ [defns.argument] Mention braced-init-list
+
+commit 7566675c778f95ef966c4fea058a895def98e6d1
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sun Feb 9 11:23:22 2025 -0500
+
+ [lex.phases] Use preprocessing token consistently (#7361)
+
+ Prior to converting preprocessing tokens to tokens in phase 7,
+ all tokens are strictly preprocessing tokens.
+
+commit b9f054b0cba3a36f9c8eff0c190f85996597dc3d
+Author: cor3ntin <corentinjabot@gmail.com>
+Date: Mon Feb 10 07:47:58 2025 +0100
+
+ [std] Rename "non-type" to "constant" template parameter/argument (#7587)
+
+ Note that not all instances of "non-type" have been mechanically replaced,
+ as [dcl] and [diff] use the term to refer to anything that is not a type
+ in the context of lookup.
+
+commit 45eb50507a1b6477dea6106c3c26654b96feae4a
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Fri Jan 31 14:04:53 2025 -0500
+
+ [cmath.syn] Consolidate std namespaces
+
+ There is no ordering dependency between the two typedefs
+ in namespace std, the macros that follow, and teh next
+ opening of namespace std, so move the two typedefs to
+ avoid repeatedly opening an closing the namespace.
+
+ Note that we could have done this without moving
+ the typedefs as macros are not bound by namespaces,
+ but our convention very sensibly avoids confusing
+ readers by keeping macro definitions outside of
+ namespaces.
+
+commit 5eab5c6b456db2424b04becb791b23dbf4de356a
+Author: Axel Naumann <Axel.Naumann@cern.ch>
+Date: Mon Jan 27 15:50:24 2025 +0100
+
+ [class.prop] add ref to actual layout spec in [expr.rel]
+
+commit 2f42a31044cc1ec8cf119b0fd595fdcc1d625c59
+Author: A. Jiang <de34@live.cn>
+Date: Thu Jan 23 11:37:15 2025 +0800
+
+ [util.smartptr.atomic.{shared,weak}] Fix wording for initialization
+
+ By using more conventional "value-initializes".
+
+commit 4e026ec784007b492eb3d904663cfdc4bf905fd3
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Feb 4 11:09:05 2025 +0000
+
+ [fs.op.funcs] Remove empty parens when referring to functions by name
+
+ As per the Specification Style Guidelines.
+
+ https://github.com/cplusplus/draft/wiki/Specification-Style-Guidelines#describing-function-calls
+
+commit 7f00883b8f65307b7e0df0ad2e55182d699d2804
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Jan 13 22:33:34 2025 +0100
+
+ [xrefdelta] Restore cross-references since C++17
+
+commit 7fbdb79d99338d9aa91f382760ff6e1cb0353c71
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Oct 1 09:20:10 2024 -0400
+
+ [except.uncaught] Tidy the specification for uncaught exceptions
+
+ Several concurrent fixes. First include the normative wording
+ that 'uncaught_exceptions' returns the number of uncaught
+ exceptions *on the current thread*. This wording is present
+ in the core language.
+
+ Then move the core wording for when an exception is uncaught
+ directly into the text that talks about caught and uncaught
+ exceptions. In the process, turn the reference to into a note,
+ so that there is only one normative specification.
+
+ Finally, remove [except.uncaught] as it is now empty.
+
+commit 70abf300ddbb1074cd16e9a5febe7f7c88bdff3d
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Nov 20 02:07:51 2024 +0100
+
+ [except.special.general] Complete the set of clause 17 references
+
+commit 888b0510da303e367f7421ac34607a158ddfc453
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Jan 21 04:31:34 2025 -0500
+
+ [basic.pre] Defragment specification of names and entities
+
+ The current contents of [basic.pre] jump between specifying
+ different things. This PR moves all the specification of
+ names to the front, followed by the specification of entities.
+
+ There are two main benefits: (1) the specification for when
+ two names are the same is a list of 4 rules that correspond
+ to the 4 things than can form a name --- the connection is
+ much clearer when the paragraphs are adjacent and the list
+ is sorted to the same order; (2) in this form, even though
+ all the words are the same, the reordering and merging of
+ paragraphs a fit on a single page. The very last paragraph
+ was forced over a page-break in the original layout.
+
+commit 5be40a6b59527e82b13a29722c623635065759bf
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Feb 11 21:42:20 2025 +0100
+
+ [expr.lval] Update cross reference for "invalid pointer value"
+
+commit 83530f54892686c9ba055434d02dfadc00bbb290
+Author: A. Jiang <de34@live.cn>
+Date: Thu Aug 3 00:54:57 2023 +0800
+
+ [basic.extended.fp] Use "declared" for typedef-names
+
+commit 1542d983b3f690876720d69a44dff2c5574617b3
+Author: A. Jiang <de34@live.cn>
+Date: Thu Aug 3 01:00:16 2023 +0800
+
+ [expr.{add,alignof,sizeof}] Use "typedef-name", avoid "defined"
+
+commit 152693b46648ea99493aecedbc8051aa2ab7542f
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Wed Feb 12 17:58:51 2025 +0000
+
+ [temp.param, temp.constr.normal] Use \dotsc for a non-code ellipsis (#7397)
+
+commit 930b8f97b0ab7bd9442bd0faf10f7302da5fc89a
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Feb 12 19:22:47 2025 +0100
+
+ [diff.cpp03.library] Fix cross-reference to restriction on macro names
+
+commit 2cfc175a01d2bff1daf084d5c776017c5c049872
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Feb 13 22:28:24 2025 +0000
+
+ [linalg.general] Remove extraneous dot (#7637)
+
+commit 422ded52d1876578f4eeb3bc30d583a193b94f42
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Feb 14 19:13:02 2025 +0100
+
+ [conv.rank] Fix typo
+
+commit 10468bf63eee8926b84b76a10abb2a7d05b43c02
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sun Feb 16 12:13:43 2025 +0100
+
+ [map.overview] Fix punctuation (#7677)
+
+commit a103bf3ea67a731189a8f1453d3e9ab88d589eba
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Feb 24 07:46:22 2025 -0500
+
+ [xrefdelta] Consolidate restored entries (#7631)
+
+ Several entries in the restored larger delta referred
+ to stable labels that have since moved again, or have been
+ removed. This commit updates their cross-references
+ accordingly, or marks them as removed if appropriate.
+
+commit 9854e729ba5ade9a41bf047b6a5fe6f4bbe038e0
+Author: Hubert Tong <hstong@ca.ibm.com>
+Date: Thu Feb 13 17:01:13 2025 -0500
+
+ [basic.types.general] Change ordering to "non-variant non-static"
+
+ The definition of literal type is the only place where "non-static
+ non-variant data member" is used as opposed to "non-variant non-static
+ data member".
+
+ Change to use the canonical ordering.
+
+commit c31b8f4111dfa9dd598220b9c6f8c1cf9d4a9b34
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Feb 25 09:54:40 2025 +0000
+
+ [support.srcloc.cons] Update xref to [class.mem.general]
+
+ The cross-reference to [class.mem] was referring to a hanging paragraph
+ that was fixed by 2850139be6285ba10a64fb718125a80ca967c631 so we should
+ be referring to [class.mem.general] now.
+
+commit 912e5cab7565be0daa9c0c6d7c178600b3cd38e6
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Sat Mar 15 20:23:43 2025 +0000
+
+ [functional.{syn,bind.place}] Use \vdots; add missing \placeholder (#7723)
+
+commit 0dda8468be890adf880afddc37e449cbc40607cb
+Author: A. Jiang <de34@live.cn>
+Date: Sun Mar 16 04:26:10 2025 +0800
+
+ [expr.const] Change "value" to "result object" (of a prvalue) (#6267)
+
+commit 4552a92a01a2d1b032264cd6568a860a5244918b
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sun Nov 7 22:35:21 2021 +0100
+
+ [lex.string] Clarify size of string-literal
+
+commit ec10aaec4e6daac66b7b28426abcc765494194c9
+Author: Hubert Tong <hubert.reinterpretcast@gmail.com>
+Date: Sat Mar 15 16:41:54 2025 -0400
+
+ [debugging.utility] Clarify wording in notes
+
+ The previous wording in the notes in `breakpoint` and `is_debugger_present`
+ read as statements of fact about the implementation-defined behaviour.
+ The statements are actually ones of intent.
+
+ The specific claim in `breakpoint` that the debugger resumes execution of the program
+ as if the function was not invoked is confusing considering that the debugger may effect
+ side-effects or cause execution to resume from a different evaluation.
+
+ Instead, the idea is that `breakpoint` is not responsible for causing the translation process
+ to make special accomodations for resumption of execution other than in cases
+ where the debugger was strictly used for observation only.
+
+ In `is_debugger_present`, the functionality ascribed to POSIX by the wording
+ ("ptrace") is not present in POSIX. Update to reference the LSB and to use
+ the corresponding terminology ("tracing process").
+
+ The wording implies a preference to return `true` in case it is unknown
+ whether a debugger is present. Add a critical "only" to fix that.
+
+commit 598910dc970bc0bc840ba797983e9bc131cd826e
+Author: A. Jiang <de34@live.cn>
+Date: Tue Feb 25 07:51:44 2025 +0800
+
+ [ifstream.members] Remove mistakenly added `@`
+
+commit 4b5a0080230ed74d796a3ee909bdde66e2f2b395
+Author: A. Jiang <de34@live.cn>
+Date: Wed Aug 7 18:45:41 2024 +0800
+
+ [func.wrap.func] Drop Lvalue-Callable
+
+ Replace its usages with `is_invocable_r_v` and remove an unnecessary index.
+
+commit f9847af90413adb0436aae9f6895b4a2e0e173ec
+Author: A. Jiang <de34@live.cn>
+Date: Mon Feb 17 11:44:11 2025 +0800
+
+ [containers, strings, algorithms, re] Use \range where appropriate
+
+ Currently, there are several cases where `\tcode{[i, j)}` is used for
+ specifying left-closed right-open intervals, where `\range{i}{j}` is proper.
+
+ Co-authored-by: Eelis van der Weegen <eelis@eelis.net>
+
+commit 73699cf37d247a7c1f3a6879197c730a14666b90
+Author: languagelawyer <38548419+languagelawyer@users.noreply.github.com>
+Date: Fri Feb 26 02:55:52 2021 +0300
+
+ [class.cdtor] Only objects of scalar type can be accessed
+
+
+
diff --git a/papers/n5009.md b/papers/n5009.md
new file mode 100644
index 0000000000..2caf3f0571
--- /dev/null
+++ b/papers/n5009.md
@@ -0,0 +1,753 @@
+# N5009 Editors' Report -- Programming Languages -- C++
+
+Date: 2025-03-15
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have
+[submitted editorial issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue),
+to those who have provided pull requests with fixes,
+and to everyone who drafted motion applications.
+
+## New papers
+
+ * [N5008](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/n5008.pdf) is the
+ current working draft for C++26. It replaces
+ [N5001](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n5001.pdf).
+ * N5009 is this Editors' Report.
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+LWG Poll 2 was retracted.
+
+Library issue [LWG4189](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3615r0.html#4189),
+adopted by LWG Poll 1 (P3615R0) had the effect of making most of the content of ``
+free-standing by default, with the note that "[m]ost future additions to this header should
+have no problem being freestanding, so that is the right default." Absent an explicit
+opt-out, the new facilities from LWG Poll 14
+([P2846R6](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2846r6.html)),
+`reserve_hint` and `approximately_sized_range`, are now free-standing as well.
+
+### Core working group polls
+
+CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues in
+[P3638R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3638r0.html)
+(Core Language Working Group "ready" Issues for the February, 2025 meeting) to the C++ Working Paper.
+
+CWG Poll 2. Apply the changes in [P3542R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3542r0.html)
+(Abolish the term "converting constructor") to the C++ Working Paper.
+
+CWG Poll 3. Apply the changes in [P3074R7](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3074r7.html)
+(trivial unions (was `std::uninitialized`)) to the C++ Working Paper.
+
+CWG Poll 4. Apply the changes in [P1494R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p1494r5.html)
+(Partial program correctness) to the C++ Working Paper.
+
+CWG Poll 5. Apply the changes in [P2900R14](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2900r14.pdf)
+(Contracts for C++) to the C++ Working Paper.
+
+CWG Poll 6. Apply the changes in [P3475R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3475r2.pdf)
+(Defang and deprecate `memory_order::consume`) to the C++ Working Paper.
+
+CWG Poll 7. Apply the changes in [P2841R7](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2841r7.pdf)
+(Concept and variable-template template-parameters) to the C++ Working Paper.
+
+CWG Poll 8. Apply the changes in [P2786R13](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2786r13.html)
+(Trivial Relocatability For C++26) to the C++ Working Paper.
+
+CWG Poll 9. Apply the changes in [P1967R14](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p1967r14.html)
+(`#embed` - a simple, scannable preprocessor-based resource acquisition method) to the C++ Working Paper.
+
+### Library working group polls
+
+LWG Poll 1. Apply the changes for all Tentatively Ready issues in
+[P3615R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3615r0.html)
+(C++ Standard Library Ready Issues to be moved in Hagenberg, Feb. 2025) to the C++ working paper.
+
+LWG Poll 2 was retracted.
+
+LWG Poll 3. Apply the changes in [P3137R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3137r3.html)
+(`views::to_input`) to the C++ working paper.
+
+LWG Poll 4. Apply the changes in [P0472R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0472r3.pdf)
+(Put `std::monostate` in ``) to the C++ working paper.
+
+LWG Poll 5. Apply the changes in [P3349R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3349r1.html)
+(Converting contiguous iterators to pointers) to the C++ working paper.
+
+LWG Poll 6. Apply the changes in [P3372R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
+(constexpr containers and adaptors) to the C++ working paper.
+
+LWG Poll 7. Apply the changes in [P3378R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3378r2.html)
+(constexpr exception types) to the C++ working paper.
+
+LWG Poll 8. Apply the changes in [P3441R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3441r2.html)
+(Rename `simd_split` to `simd_chunk`) to the C++ working paper.
+
+LWG Poll 9. Apply the changes in [P3287R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3287r3.pdf)
+(Exploration of namespaces for `std::simd`) to the C++ working paper.
+
+LWG Poll 10. Apply the changes in [P2976R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2976r1.html)
+(Freestanding Library: algorithm, numeric, and random) to the C++ working paper.
+
+LWG Poll 11. Apply the changes in [P3430R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3430r3.pdf)
+(SIMD issues: explicit, unsequenced, identity-element position, and members of disabled SIMD) to the C++ working paper.
+
+LWG Poll 12. Apply the changes in [P2663R7](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2663r7.html)
+(Interleaved complex values support in `std::simd`) to the C++ working paper.
+
+LWG Poll 13. Apply the changes in [P2933R4](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2933r4.html)
+(Extend `` header function with overloads for `std::simd`) to the C++ working paper.
+
+LWG Poll 14. Apply the changes in [P2846R6](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2846r6.pdf)
+(`reserve_hint`: Eagerly reserving memory for not-quite-sized lazy ranges) to the C++ working paper.
+
+LWG Poll 15. Apply the changes in [P3471R4](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3471r4.html)
+(Standard Library Hardening) to the C++ working paper.
+
+LWG Poll 16. Apply the changes in [P0447R28](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0447r28.html)
+(Introduction of `std::hive` to the standard library) to the C++ working paper.
+
+LWG Poll 17. Apply the changes in [P3019R14](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
+(`indirect` and `polymorphic`: Vocabulary Types for Composite Class Design) to the C++ working paper.
+
+## Editorial changes
+
+### Major editorial changes
+
+There have not been any major editorial changes.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N5001 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/n5001...n5008).
+
+ commit f3676cb1550f1501236cc65c1dfa2dec957bbdf2
+ Author: Mark Hoemmen
+ Date: Tue Dec 17 14:15:10 2024 -0700
+
+ [linalg.conj.conjugated] Remove inappropriate "expression-equivalent" wording (#7497)
+
+ This phrase appears to be copy-pasted from elsewhere, but is not meaningful here.
+
+ commit be0a25c9a2f2c1f498b0ff84a33c28adae41863e
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Tue Dec 17 20:31:14 2024 +0100
+
+ [simd.alg] Fix range syntax
+
+ commit a18040f05ff6a27e5c6425005ab1b21515ad952c
+ Author: Eisenwave
+ Date: Fri Nov 1 08:06:28 2024 +0100
+
+ [basic.compound] Update introduction
+
+ commit 0131e015c09eca1901d0bfa46744a6c7ab31b00d
+ Author: Jonathan Wakely
+ Date: Tue Dec 17 21:21:42 2024 +0000
+
+ [linalg.helpers] Rename template parameter for poison pills
+
+ This avoids reusing `T` which is also used for the type of the
+ subexpression E.
+
+ Fixes #7494
+
+ commit 04169bac7059322ad8bf32e605a80e57ef30b922
+ Author: Jens Maurer
+ Date: Tue Dec 17 22:51:01 2024 +0100
+
+ [inplace.vector.overview] Replace residual use of 'trivial type'
+
+ commit 9272753d0ecbc1df9d08178793795f06b623a451
+ Author: Hewill Kang
+ Date: Tue Nov 19 16:41:00 2024 +0800
+
+ [flat.map.defn, flat.set.defn] Avoid naming the from_range_t tag
+
+ commit 85de0af0e0af416f7e73ac096254641c31bf11cc
+ Author: Jens Maurer
+ Date: Tue Dec 17 23:19:21 2024 +0100
+
+ [basic.fundamental] Ensure consistency with [conv.ptr]
+
+ commit 561a4d8cde9e434fe206b88489e95b0e5271f469
+ Author: Mark Hoemmen
+ Date: Thu Dec 19 14:35:50 2024 -0700
+
+ [bibliography] Fix spelling and formatting (#7507)
+
+ Fix spelling of one author's name. Add missing commas
+ and extra spaces after a period ending authors' abbreviated
+ first or middle names.
+
+ commit 82153790d8904ea82bc57edc8885b02925e85e93
+ Author: Mark Hoemmen
+ Date: Thu Dec 19 14:41:02 2024 -0700
+
+ [simd.general, bibliography] Add SIMD acronym explanation and bibliographic reference (#7504)
+
+ To the existing Note at the beginning of [simd.general],
+ add text that unpacks the SIMD acronym and refers to Flynn 1966.
+
+ Add bibliography entry for Flynn 1966, the paper that introduced what
+ later became known as "Flynn's Taxonomy." This classifies parallel
+ computer hardware as SISD, SIMD, MISD, or MIMD.
+
+ commit e1a368bc157f824cee7702e87a2cca1951e60f98
+ Author: Jonathan Wakely
+ Date: Thu Dec 19 11:02:38 2024 +0000
+
+ [mdspan.sub] Change to "unit-stride slice for mapping"
+
+ This was the wording requested by LWG and approved in P3355R2, but I
+ mistakenly put P3355R1 in the straw polls.
+
+ commit 2d3ac367d8605d7172151726e873daea295a573a
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Fri Dec 20 10:15:46 2024 +0100
+
+ [diff.cpp03.library] Correct \effect to \change
+
+ - Correct \effect to \change.
+ - Add period at end.
+ - Add \tcode for swap.
+
+ commit a2429a5944b71e3563dc09730426af43fb4b53e1
+ Author: lprv <100177227+lprv@users.noreply.github.com>
+ Date: Thu Dec 26 01:37:34 2024 +0000
+
+ [class.expl.init] Fix incorrect note
+
+ commit 1411cf56fcb41f9fd000406185f17ef47235d26a
+ Author: Bronek Kozicki
+ Date: Wed Jan 1 17:00:14 2025 +0000
+
+ [expected.bad.void] Fix syntax error in bad_expected_access (#7529)
+
+ Introduced by commit 8c997445c176c81a334e77f9344b91abc72b2772
+
+ commit a137940ac9c807e3ea809c3ff0b3a863795bf742
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Wed Jan 1 22:18:37 2025 +0100
+
+ [filebuf.members,fs.path.req] Fix indefinite article (#7530)
+
+ commit d2b48043fcc219b2a141af39dae2eb85934c0847
+ Author: Jens Maurer
+ Date: Thu Jan 2 10:49:14 2025 +0100
+
+ [expr.const] Properly merge P2686R5
+
+ P2686R5 (applied by commit e220906b71df01f09fe60921e8fac39b80558f78)
+ accidentally reverted a change considering erroneous values made by
+ P2795R5.
+
+ commit 22937c04da139226c186973eda2cdb79df640b5b
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Thu Jan 2 15:14:06 2025 +0100
+
+ [format.arg] Fix indefinite article (#7536)
+
+ commit 75af9f7f8cd816e1908eb2a3917eb7749c11471a
+ Author: Alisdair Meredith
+ Date: Sat Jan 4 02:18:53 2025 +0700
+
+ [tuple.helper] Remove redundant 'public' in base-specifier of struct (#7539)
+
+ commit 6ff55d533f72b7222e022513dcb80982f4e887a0
+ Author: Jens Maurer
+ Date: Mon Dec 30 16:34:49 2024 +0100
+
+ [lex.icon,depr.locale.category] Remove duplicate 'table' in front of table references
+
+ commit 70df8aa8f4a30a7d54a604cbe01ebe13f5973043
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Wed Jan 8 13:51:13 2025 +0100
+
+ [linalg.algs.blas2.gemv] Fix singular/plural mismatch (#7546)
+
+ commit 0164098f821ae002469c6f23cd03fc66a0a2f7ca
+ Author: lprv <100177227+lprv@users.noreply.github.com>
+ Date: Thu Jan 9 10:01:36 2025 +0000
+
+ [basic.def.odr] Fix typo and reference the correct subclause
+
+ commit 2734ddeb05115f3fddf09c9c15b843083575e9df
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Fri Jan 10 13:13:28 2025 +0100
+
+ [exec.async.ops] Remove stray closing parenthesis (#7555)
+
+ commit 77171de904e6008f31717615d5baabf604baeea8
+ Author: S. B. Tam
+ Date: Fri Jan 10 23:05:58 2025 +0800
+
+ [locale.time.put.members] Remove incorrect footnote (#7553)
+
+ commit 6ecd1be67c71001db37883ee45b76cc66ef4101f
+ Author: Jens Maurer
+ Date: Mon Jan 13 22:34:47 2025 +0100
+
+ [exec.getcomplsigs] Add missing LaTeX escaping of braces (#7541)
+
+ commit 1b1914ed868b0b29e63d0d1e4b872daf07b50740
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Tue Jan 14 14:31:09 2025 +0100
+
+ [simd.traits] Remove stray closing parenthesis (#7563)
+
+ commit 0ac6f9d7e94a70b48457f289bcbeb069a4662c28
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Wed Jan 15 14:10:57 2025 +0100
+
+ [locale.moneypunct.general] Insert period at end (#7564)
+
+ commit 96fad4cf7ff48c8a4ae5442580d55008fb56ca43
+ Author: Alisdair Meredith
+ Date: Wed Jan 15 10:06:49 2025 -0500
+
+ [inplace.vector.overview] Remove spurious semicolon closing namespace std (#7566)
+
+ commit 1c398ffc71845163ca50b712f1edd9e1b2a87772
+ Author: Jonathan Wakely
+ Date: Fri Jan 17 17:11:02 2025 +0000
+
+ [type.info] Remove comments explaining deleted members
+
+ The standard is not a tutorial.
+
+ commit 569e2a38cf1aa6d185b4c4d1817d9496ebd087e5
+ Author: Jens Maurer
+ Date: Sat Jan 18 09:18:53 2025 +0100
+
+ [exec.snd.expos] Move write-env paragraph into itemdescr (#7571)
+
+ commit 93aa7cb89b375280cb2d5f385fb0c5a5874e9243
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Sat Jan 18 23:32:20 2025 +0100
+
+ [re.err,re.alg.match,re.tokiter.incr] Add period at end for consistency (#7574)
+
+ commit ce5fd62b98d822228f46319f4516e34c492fa257
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Wed Jan 22 16:15:57 2025 +0100
+
+ [string.view.io,string.insert] Add period at end of "Returns" (#7579)
+
+ commit 5c4823a05b83a67f7550fdcc1476f8000c29514c
+ Author: A. Jiang
+ Date: Thu Jan 23 11:31:05 2025 +0800
+
+ [expr.const] Re-apply CWG2909
+
+ commit db563eecdfb63cb24f10afb30f001a0bc6213997
+ Author: Alisdair Meredith
+ Date: Wed Jan 15 07:59:51 2025 -0500
+
+ [lex.phases] Update implementation defined text
+
+ Since C++23 we no longer have physical source files, but rather
+ input files. Update the two implementation-defined references
+ to the mapping from input file to translation character set
+ using the same phrasing so that they provide the same entry
+ in the index of implementation-defined behavior, just as they
+ did in C++20, before getting out of sync when the terminology
+ changed.
+
+ commit a39cca2e9c009766da1e205daf5d7bf8cbdccaa3
+ Author: Jonathan Wakely
+ Date: Thu Jan 23 07:28:40 2025 -0500
+
+ [linalg.conj.conjugated] Rearrange to match P3050R3 (#7506)
+
+ This was the wording requested by LWG and approved in P3050R3, but I
+ mistakenly put P3050R2 in the straw polls.
+
+ commit 6583c4ac9c2d3bbfb7daac0c79c902a30417c50f
+ Author: cor3ntin
+ Date: Sat Jan 25 14:11:30 2025 +0100
+
+ [std] Use template-parameter and template parameter more consistently (#7460)
+
+ Try to use template-parameter only when we refer to a
+ grammar construct, and to 'template parameter' everywhere else.
+
+ Adopt the same logic to template-argument/template argument.
+
+ This change might not be exhaustive.
+
+ The aim is to editorially adopt some of the wording changes
+ made in P2841R5 to ease its review in core.
+
+ commit 696dcd809ceed3fc10502161963f8ce13505ec1a
+ Author: Jens Maurer
+ Date: Sat Jan 25 21:25:32 2025 +0100
+
+ [format.string.general,format.formatter.spec] Fix unparenthesized cross-references
+
+ commit 47cf5a67357543b0d45d0072f42fdd29fa028cca
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Wed Jan 29 09:29:54 2025 +0100
+
+ [alg.rand.generate] Add period at end of "Returns" (#7595)
+
+ commit b2b266e7b67eb583c50c34a9eceffe44f72ea2f6
+ Author: Ivan Lazarić
+ Date: Sat Feb 1 09:56:42 2025 +0100
+
+ [temp.res.general] Fix nesting for \terminal{\opt{...}} (#7599)
+
+ commit d51e6bedd991d55b7f7fb7f41e1f08083cfd1b1d
+ Author: Eric Niebler
+ Date: Mon Feb 3 12:05:48 2025 -0800
+
+ [range.view] Change incorrect uses of "which" to "that" (#7606)
+
+ commit 1d49b05d1b48a2daa2a88d854e2367e6648c3cb6
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Mon Feb 3 21:14:45 2025 +0100
+
+ [tuple.assign] Remove incorrect comma at end (#7609)
+
+ commit 2e1b856b6187fe9a5c74782948982eefd128ecbf
+ Author: Alisdair Meredith
+ Date: Mon Feb 3 16:17:48 2025 -0500
+
+ [diff.cpp.library] Add new C23 headers to list of new headers
+
+ commit cae9b2a645d5bb91caffc061325f107605e85a0d
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Tue Feb 4 09:30:49 2025 +0100
+
+ [container.alloc.reqmts,sequence.reqmts] Add period at end (#7614)
+
+ commit 003506a2779c519d4929cce75c7adeb1b7a76955
+ Author: Alisdair Meredith
+ Date: Wed Jan 1 18:45:19 2025 +0700
+
+ [macros] Add LaTeX macros to index library macros
+
+ The immediate idea is to support using the new macros directly
+ in header synopses when defining each library macro. This will
+ ensure that no macros are accidentally not indexed.
+
+ A follow-up plan is that this separation of library macros will
+ make it easier to create a separate index of macros, or apply
+ other macro-specific renderings, in the future. To this end,
+ all indexed uses of a macro, not just those in header files,
+ should be replaced by use of these new macros. Similarly,
+ these LaTeX macros can be used in-place in regular text to
+ index cross-references where standard library macros are used
+ throughout the standard.
+
+ commit d7618b4d20a24b37677b92c2fbd80dcee4565bc3
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Fri Feb 7 09:37:37 2025 +0100
+
+ [diff.lex] Add period at end (#7618)
+
+ commit 040ff41df1d0e0e4d31bd6c76f084fbc84239e7f
+ Author: Jonathan Wakely
+ Date: Sat Feb 8 07:56:45 2025 +0000
+
+ [fs.op.current.path] Remove note discussing design choices (#7620)
+
+ commit dfdc64cbdc842f0f7d2a060440ea907b41ce78e6
+ Author: Vlad Serebrennikov
+ Date: Sun Feb 9 20:12:44 2025 +0400
+
+ [basic.scope.scope] Update the note about special cases (#7594)
+
+ commit 8948fd9bd8f799d50fc9cbff34b349b9d59157f1
+ Author: André Brand
+ Date: Sun Feb 9 17:18:12 2025 +0100
+
+ [temp.mem.enum] Remove instantiation in example [temp.inst] (#7558)
+
+ The example is inconsistent with [temp.inst]p3. Since the implicit instantiation
+ does not contribute to the point of [temp.mem.enum], the inconsistency
+ can be resolved by omitting the instantiation.
+
+ commit 0d0ea5582082f85fa707c680634044209c2e343d
+ Author: lprv <100177227+lprv@users.noreply.github.com>
+ Date: Mon Nov 18 13:47:37 2024 +0000
+
+ [defns.argument] Mention braced-init-list
+
+ commit 7566675c778f95ef966c4fea058a895def98e6d1
+ Author: Alisdair Meredith
+ Date: Sun Feb 9 11:23:22 2025 -0500
+
+ [lex.phases] Use preprocessing token consistently (#7361)
+
+ Prior to converting preprocessing tokens to tokens in phase 7,
+ all tokens are strictly preprocessing tokens.
+
+ commit b9f054b0cba3a36f9c8eff0c190f85996597dc3d
+ Author: cor3ntin
+ Date: Mon Feb 10 07:47:58 2025 +0100
+
+ [std] Rename "non-type" to "constant" template parameter/argument (#7587)
+
+ Note that not all instances of "non-type" have been mechanically replaced,
+ as [dcl] and [diff] use the term to refer to anything that is not a type
+ in the context of lookup.
+
+ commit 45eb50507a1b6477dea6106c3c26654b96feae4a
+ Author: Alisdair Meredith
+ Date: Fri Jan 31 14:04:53 2025 -0500
+
+ [cmath.syn] Consolidate std namespaces
+
+ There is no ordering dependency between the two typedefs
+ in namespace std, the macros that follow, and teh next
+ opening of namespace std, so move the two typedefs to
+ avoid repeatedly opening an closing the namespace.
+
+ Note that we could have done this without moving
+ the typedefs as macros are not bound by namespaces,
+ but our convention very sensibly avoids confusing
+ readers by keeping macro definitions outside of
+ namespaces.
+
+ commit 5eab5c6b456db2424b04becb791b23dbf4de356a
+ Author: Axel Naumann
+ Date: Mon Jan 27 15:50:24 2025 +0100
+
+ [class.prop] add ref to actual layout spec in [expr.rel]
+
+ commit 2f42a31044cc1ec8cf119b0fd595fdcc1d625c59
+ Author: A. Jiang
+ Date: Thu Jan 23 11:37:15 2025 +0800
+
+ [util.smartptr.atomic.{shared,weak}] Fix wording for initialization
+
+ By using more conventional "value-initializes".
+
+ commit 4e026ec784007b492eb3d904663cfdc4bf905fd3
+ Author: Jonathan Wakely
+ Date: Tue Feb 4 11:09:05 2025 +0000
+
+ [fs.op.funcs] Remove empty parens when referring to functions by name
+
+ As per the Specification Style Guidelines.
+
+ https://github.com/cplusplus/draft/wiki/Specification-Style-Guidelines#describing-function-calls
+
+ commit 7f00883b8f65307b7e0df0ad2e55182d699d2804
+ Author: Jens Maurer
+ Date: Mon Jan 13 22:33:34 2025 +0100
+
+ [xrefdelta] Restore cross-references since C++17
+
+ commit 7fbdb79d99338d9aa91f382760ff6e1cb0353c71
+ Author: Alisdair Meredith
+ Date: Tue Oct 1 09:20:10 2024 -0400
+
+ [except.uncaught] Tidy the specification for uncaught exceptions
+
+ Several concurrent fixes. First include the normative wording
+ that 'uncaught_exceptions' returns the number of uncaught
+ exceptions *on the current thread*. This wording is present
+ in the core language.
+
+ Then move the core wording for when an exception is uncaught
+ directly into the text that talks about caught and uncaught
+ exceptions. In the process, turn the reference to into a note,
+ so that there is only one normative specification.
+
+ Finally, remove [except.uncaught] as it is now empty.
+
+ commit 70abf300ddbb1074cd16e9a5febe7f7c88bdff3d
+ Author: Alisdair Meredith
+ Date: Wed Nov 20 02:07:51 2024 +0100
+
+ [except.special.general] Complete the set of clause 17 references
+
+ commit 888b0510da303e367f7421ac34607a158ddfc453
+ Author: Alisdair Meredith
+ Date: Tue Jan 21 04:31:34 2025 -0500
+
+ [basic.pre] Defragment specification of names and entities
+
+ The current contents of [basic.pre] jump between specifying
+ different things. This PR moves all the specification of
+ names to the front, followed by the specification of entities.
+
+ There are two main benefits: (1) the specification for when
+ two names are the same is a list of 4 rules that correspond
+ to the 4 things than can form a name --- the connection is
+ much clearer when the paragraphs are adjacent and the list
+ is sorted to the same order; (2) in this form, even though
+ all the words are the same, the reordering and merging of
+ paragraphs a fit on a single page. The very last paragraph
+ was forced over a page-break in the original layout.
+
+ commit 5be40a6b59527e82b13a29722c623635065759bf
+ Author: Thomas Köppe
+ Date: Tue Feb 11 21:42:20 2025 +0100
+
+ [expr.lval] Update cross reference for "invalid pointer value"
+
+ commit 83530f54892686c9ba055434d02dfadc00bbb290
+ Author: A. Jiang
+ Date: Thu Aug 3 00:54:57 2023 +0800
+
+ [basic.extended.fp] Use "declared" for typedef-names
+
+ commit 1542d983b3f690876720d69a44dff2c5574617b3
+ Author: A. Jiang
+ Date: Thu Aug 3 01:00:16 2023 +0800
+
+ [expr.{add,alignof,sizeof}] Use "typedef-name", avoid "defined"
+
+ commit 152693b46648ea99493aecedbc8051aa2ab7542f
+ Author: lprv <100177227+lprv@users.noreply.github.com>
+ Date: Wed Feb 12 17:58:51 2025 +0000
+
+ [temp.param, temp.constr.normal] Use \dotsc for a non-code ellipsis (#7397)
+
+ commit 930b8f97b0ab7bd9442bd0faf10f7302da5fc89a
+ Author: Alisdair Meredith
+ Date: Wed Feb 12 19:22:47 2025 +0100
+
+ [diff.cpp03.library] Fix cross-reference to restriction on macro names
+
+ commit 2cfc175a01d2bff1daf084d5c776017c5c049872
+ Author: lprv <100177227+lprv@users.noreply.github.com>
+ Date: Thu Feb 13 22:28:24 2025 +0000
+
+ [linalg.general] Remove extraneous dot (#7637)
+
+ commit 422ded52d1876578f4eeb3bc30d583a193b94f42
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Fri Feb 14 19:13:02 2025 +0100
+
+ [conv.rank] Fix typo
+
+ commit 10468bf63eee8926b84b76a10abb2a7d05b43c02
+ Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+ Date: Sun Feb 16 12:13:43 2025 +0100
+
+ [map.overview] Fix punctuation (#7677)
+
+ commit a103bf3ea67a731189a8f1453d3e9ab88d589eba
+ Author: Alisdair Meredith
+ Date: Mon Feb 24 07:46:22 2025 -0500
+
+ [xrefdelta] Consolidate restored entries (#7631)
+
+ Several entries in the restored larger delta referred
+ to stable labels that have since moved again, or have been
+ removed. This commit updates their cross-references
+ accordingly, or marks them as removed if appropriate.
+
+ commit 9854e729ba5ade9a41bf047b6a5fe6f4bbe038e0
+ Author: Hubert Tong
+ Date: Thu Feb 13 17:01:13 2025 -0500
+
+ [basic.types.general] Change ordering to "non-variant non-static"
+
+ The definition of literal type is the only place where "non-static
+ non-variant data member" is used as opposed to "non-variant non-static
+ data member".
+
+ Change to use the canonical ordering.
+
+ commit c31b8f4111dfa9dd598220b9c6f8c1cf9d4a9b34
+ Author: Jonathan Wakely
+ Date: Tue Feb 25 09:54:40 2025 +0000
+
+ [support.srcloc.cons] Update xref to [class.mem.general]
+
+ The cross-reference to [class.mem] was referring to a hanging paragraph
+ that was fixed by 2850139be6285ba10a64fb718125a80ca967c631 so we should
+ be referring to [class.mem.general] now.
+
+ commit 912e5cab7565be0daa9c0c6d7c178600b3cd38e6
+ Author: lprv <100177227+lprv@users.noreply.github.com>
+ Date: Sat Mar 15 20:23:43 2025 +0000
+
+ [functional.{syn,bind.place}] Use \vdots; add missing \placeholder (#7723)
+
+ commit 0dda8468be890adf880afddc37e449cbc40607cb
+ Author: A. Jiang
+ Date: Sun Mar 16 04:26:10 2025 +0800
+
+ [expr.const] Change "value" to "result object" (of a prvalue) (#6267)
+
+ commit 4552a92a01a2d1b032264cd6568a860a5244918b
+ Author: Jens Maurer
+ Date: Sun Nov 7 22:35:21 2021 +0100
+
+ [lex.string] Clarify size of string-literal
+
+ commit ec10aaec4e6daac66b7b28426abcc765494194c9
+ Author: Hubert Tong
+ Date: Sat Mar 15 16:41:54 2025 -0400
+
+ [debugging.utility] Clarify wording in notes
+
+ The previous wording in the notes in `breakpoint` and `is_debugger_present`
+ read as statements of fact about the implementation-defined behaviour.
+ The statements are actually ones of intent.
+
+ The specific claim in `breakpoint` that the debugger resumes execution of the program
+ as if the function was not invoked is confusing considering that the debugger may effect
+ side-effects or cause execution to resume from a different evaluation.
+
+ Instead, the idea is that `breakpoint` is not responsible for causing the translation process
+ to make special accomodations for resumption of execution other than in cases
+ where the debugger was strictly used for observation only.
+
+ In `is_debugger_present`, the functionality ascribed to POSIX by the wording
+ ("ptrace") is not present in POSIX. Update to reference the LSB and to use
+ the corresponding terminology ("tracing process").
+
+ The wording implies a preference to return `true` in case it is unknown
+ whether a debugger is present. Add a critical "only" to fix that.
+
+ commit 598910dc970bc0bc840ba797983e9bc131cd826e
+ Author: A. Jiang
+ Date: Tue Feb 25 07:51:44 2025 +0800
+
+ [ifstream.members] Remove mistakenly added `@`
+
+ commit 4b5a0080230ed74d796a3ee909bdde66e2f2b395
+ Author: A. Jiang
+ Date: Wed Aug 7 18:45:41 2024 +0800
+
+ [func.wrap.func] Drop Lvalue-Callable
+
+ Replace its usages with `is_invocable_r_v` and remove an unnecessary index.
+
+ commit f9847af90413adb0436aae9f6895b4a2e0e173ec
+ Author: A. Jiang
+ Date: Mon Feb 17 11:44:11 2025 +0800
+
+ [containers, strings, algorithms, re] Use \range where appropriate
+
+ Currently, there are several cases where `\tcode{[i, j)}` is used for
+ specifying left-closed right-open intervals, where `\range{i}{j}` is proper.
+
+ Co-authored-by: Eelis van der Weegen
+
+ commit 73699cf37d247a7c1f3a6879197c730a14666b90
+ Author: languagelawyer <38548419+languagelawyer@users.noreply.github.com>
+ Date: Fri Feb 26 02:55:52 2021 +0300
+
+ [class.cdtor] Only objects of scalar type can be accessed
+
diff --git a/papers/wd-index.md b/papers/wd-index.md
index 8b21e73321..92100a86b8 100644
--- a/papers/wd-index.md
+++ b/papers/wd-index.md
@@ -53,3 +53,4 @@
* [N4988](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4988.pdf) 2024-08 C++ Working Draft
* [N4993](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4993.pdf) 2024-10 C++ Working Draft
* [N5001](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/n5001.pdf) 2024-12 C++ Working Draft
+ * [N5008](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/n5008.pdf) 2025-03 C++ Working Draft
diff --git a/source/algorithms.tex b/source/algorithms.tex
index 19a139e7ef..e635672012 100644
--- a/source/algorithms.tex
+++ b/source/algorithms.tex
@@ -772,6 +772,7 @@
\indexheader{algorithm}%
\begin{codeblock}
+// mostly freestanding
#include // see \ref{initializer.list.syn}
namespace std {
@@ -810,7 +811,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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -826,7 +827,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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -842,7 +843,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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -883,7 +884,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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Function f);
namespace ranges {
@@ -903,7 +904,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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, Size n, Function f);
namespace ranges {
@@ -922,21 +923,21 @@
const T& value);
template::value_type>
- ForwardIterator find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator find(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Predicate pred);
@@ -1002,13 +1003,13 @@
BinaryPredicate pred);
template
ForwardIterator1
- find_end(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ find_end(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -1040,13 +1041,13 @@
BinaryPredicate pred);
template
ForwardIterator1
- find_first_of(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ find_first_of(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -1075,11 +1076,11 @@
BinaryPredicate pred);
template
ForwardIterator
- adjacent_find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ adjacent_find(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
ForwardIterator
- adjacent_find(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ adjacent_find(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
BinaryPredicate pred);
@@ -1103,14 +1104,14 @@
template::value_type>
typename iterator_traits::difference_type
- count(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ count(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -1155,24 +1156,24 @@
BinaryPredicate pred);
template
pair
- mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ mismatch(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2);
template
pair
- mismatch(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ mismatch(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -1210,21 +1211,21 @@
InputIterator2 first2, InputIterator2 last2,
BinaryPredicate pred);
template
- bool equal(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool equal(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, 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, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -1287,13 +1288,13 @@
BinaryPredicate pred);
template
ForwardIterator1
- search(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ search(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
BinaryPredicate pred);
@@ -1327,13 +1328,13 @@
template::value_type>
ForwardIterator
- search_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ search_n(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Size count, const T& value);
template::value_type, class BinaryPredicate>
ForwardIterator
- search_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ search_n(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Size count, const T& value,
BinaryPredicate pred);
@@ -1444,7 +1445,7 @@
template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@ S,
@\exposconcept{indirectly-binary-right-foldable}@, I> F>
requires @\libconcept{constructible_from}@, iter_reference_t>
- constexpr auto fold_right_last(I first, S last, F f);
+ constexpr auto fold_right_last(I first, S last, F f);
template<@\libconcept{bidirectional_range}@ R,
@\exposconcept{indirectly-binary-right-foldable}@, iterator_t> F>
@@ -1481,7 +1482,7 @@
constexpr OutputIterator copy(InputIterator first, InputIterator last,
OutputIterator result);
template
- ForwardIterator2 copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 copy(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result);
@@ -1504,7 +1505,7 @@
OutputIterator result);
template
- ForwardIterator2 copy_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 copy_n(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, Size n,
ForwardIterator2 result);
@@ -1523,7 +1524,7 @@
OutputIterator result, Predicate pred);
template
- ForwardIterator2 copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 copy_if(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, Predicate pred);
@@ -1568,7 +1569,7 @@
OutputIterator result);
template
- ForwardIterator2 move(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 move(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result);
@@ -1610,7 +1611,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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2);
@@ -1645,13 +1646,13 @@
template
ForwardIterator2
- transform(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ transform(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator result,
BinaryOperation binary_op);
@@ -1678,14 +1679,14 @@
@\libconcept{weakly_incrementable}@ O, @\libconcept{copy_constructible}@ F, class Proj1 = identity,
class Proj2 = identity>
requires @\libconcept{indirectly_writable}@,
- projected>>
+ projected>>
constexpr binary_transform_result
transform(I1 first1, S1 last1, I2 first2, S2 last2, O result,
F binary_op, Proj1 proj1 = {}, Proj2 proj2 = {});
template<@\libconcept{input_range}@ R1, @\libconcept{input_range}@ R2, @\libconcept{weakly_incrementable}@ O,
@\libconcept{copy_constructible}@ F, class Proj1 = identity, class Proj2 = identity>
requires @\libconcept{indirectly_writable}@, Proj1>,
- projected, Proj2>>>
+ projected, Proj2>>>
constexpr binary_transform_result, borrowed_iterator_t, O>
transform(R1&& r1, R2&& r2, O result,
F binary_op, Proj1 proj1 = {}, Proj2 proj2 = {});
@@ -1697,7 +1698,7 @@
const T& old_value, const T& new_value);
template::value_type>
- void replace(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void replace(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
const T& old_value, const T& new_value);
template::value_type>
- void replace_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void replace_if(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Predicate pred, const T& new_value);
@@ -1741,7 +1742,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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result,
const T& old_value, const T& new_value);
@@ -1752,7 +1753,7 @@
Predicate pred, const T& new_value);
template::value_type>
- ForwardIterator2 replace_copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator2 replace_copy_if(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result,
Predicate pred, const T& new_value);
@@ -1802,14 +1803,14 @@
constexpr void fill(ForwardIterator first, ForwardIterator last, const T& value);
template::value_type>
- void fill(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void fill(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, const T& value);
template::value_type>
- constexpr OutputIterator fill_n(OutputIterator first, Size n, const T& value); // freestanding
+ constexpr OutputIterator fill_n(OutputIterator first, Size n, const T& value)
template::value_type>
- ForwardIterator fill_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator fill_n(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, Size n, const T& value);
namespace ranges {
@@ -1829,13 +1830,13 @@
constexpr void generate(ForwardIterator first, ForwardIterator last,
Generator gen);
template
- void generate(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void generate(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, Size n, Generator gen);
namespace ranges {
@@ -1856,14 +1857,14 @@
const T& value);
template::value_type>
- ForwardIterator remove(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator remove(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Predicate pred);
@@ -1897,7 +1898,7 @@
template::value_type>
ForwardIterator2
- remove_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ remove_copy(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, const T& value);
template
@@ -1907,7 +1908,7 @@
template
ForwardIterator2
- remove_copy_if(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ remove_copy_if(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, Predicate pred);
@@ -1951,10 +1952,10 @@
constexpr ForwardIterator unique(ForwardIterator first, ForwardIterator last,
BinaryPredicate pred);
template
- ForwardIterator unique(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator unique(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
- ForwardIterator unique(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator unique(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
BinaryPredicate pred);
@@ -1979,13 +1980,13 @@
OutputIterator result, BinaryPredicate pred);
template
ForwardIterator2
- unique_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ unique_copy(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, BinaryPredicate pred);
@@ -2015,7 +2016,7 @@
template
constexpr void reverse(BidirectionalIterator first, BidirectionalIterator last);
template
- void reverse(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void reverse(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
BidirectionalIterator first, BidirectionalIterator last);
namespace ranges {
@@ -2033,7 +2034,7 @@
OutputIterator result);
template
ForwardIterator
- reverse_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ reverse_copy(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
BidirectionalIterator first, BidirectionalIterator last,
ForwardIterator result);
@@ -2057,7 +2058,7 @@
ForwardIterator middle,
ForwardIterator last);
template
- ForwardIterator rotate(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator rotate(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first,
ForwardIterator middle,
ForwardIterator last);
@@ -2076,7 +2077,7 @@
ForwardIterator last, OutputIterator result);
template
ForwardIterator2
- rotate_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ rotate_copy(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 middle,
ForwardIterator1 last, ForwardIterator2 result);
@@ -2139,7 +2140,7 @@
typename iterator_traits::difference_type n);
template
ForwardIterator
- shift_left(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ shift_left(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
typename iterator_traits::difference_type n);
@@ -2157,7 +2158,7 @@
typename iterator_traits::difference_type n);
template
ForwardIterator
- shift_right(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ shift_right(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
typename iterator_traits::difference_type n);
@@ -2177,10 +2178,10 @@
constexpr void sort(RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
template
- void sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void sort(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last);
template
- void sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void sort(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
@@ -2197,15 +2198,15 @@
}
template
- constexpr void stable_sort(RandomAccessIterator first, RandomAccessIterator last);
+ constexpr void stable_sort(RandomAccessIterator first, RandomAccessIterator last); // hosted
template
- constexpr void stable_sort(RandomAccessIterator first, RandomAccessIterator last,
- Compare comp);
+ constexpr void stable_sort(RandomAccessIterator first, RandomAccessIterator last, // hosted
+ Compare comp);
template
- void stable_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void stable_sort(ExecutionPolicy&& exec, // hosted, 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, // hosted, see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
@@ -2213,11 +2214,11 @@
template<@\libconcept{random_access_iterator}@ I, @\libconcept{sentinel_for}@ S, class Comp = ranges::less,
class Proj = identity>
requires @\libconcept{sortable}@
- constexpr I stable_sort(I first, S last, Comp comp = {}, Proj proj = {});
+ constexpr I stable_sort(I first, S last, Comp comp = {}, Proj proj = {}); // hosted
template<@\libconcept{random_access_range}@ R, class Comp = ranges::less, class Proj = identity>
requires @\libconcept{sortable}@, Comp, Proj>
constexpr borrowed_iterator_t
- stable_sort(R&& r, Comp comp = {}, Proj proj = {});
+ stable_sort(R&& r, Comp comp = {}, Proj proj = {}); // hosted
}
template
@@ -2227,11 +2228,11 @@
constexpr void partial_sort(RandomAccessIterator first, RandomAccessIterator middle,
RandomAccessIterator last, Compare comp);
template
- void partial_sort(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void partial_sort(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator middle,
RandomAccessIterator last, Compare comp);
@@ -2261,14 +2262,14 @@
Compare comp);
template
RandomAccessIterator
- partial_sort_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ partial_sort_copy(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
RandomAccessIterator result_first,
RandomAccessIterator result_last,
@@ -2303,10 +2304,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, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Compare comp);
@@ -2328,11 +2329,11 @@
Compare comp);
template
ForwardIterator
- is_sorted_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ is_sorted_until(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Compare comp);
@@ -2354,11 +2355,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, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator nth,
RandomAccessIterator last, Compare comp);
@@ -2474,7 +2475,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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Predicate pred);
namespace ranges {
@@ -2491,7 +2492,7 @@
ForwardIterator last,
Predicate pred);
template
- ForwardIterator partition(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ ForwardIterator partition(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first,
ForwardIterator last,
Predicate pred);
@@ -2509,12 +2510,12 @@
}
template
- constexpr BidirectionalIterator stable_partition(BidirectionalIterator first,
+ constexpr BidirectionalIterator stable_partition(BidirectionalIterator first, // hosted
BidirectionalIterator last,
Predicate pred);
template
- BidirectionalIterator stable_partition(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
- BidirectionalIterator first,
+ BidirectionalIterator stable_partition(ExecutionPolicy&& exec, // hosted,
+ BidirectionalIterator first, // see \ref{algorithms.parallel.overloads}
BidirectionalIterator last,
Predicate pred);
@@ -2522,11 +2523,13 @@
template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@ S, class Proj = identity,
@\libconcept{indirect_unary_predicate}@> Pred>
requires @\libconcept{permutable}@
- constexpr subrange stable_partition(I first, S last, Pred pred, Proj proj = {});
+ constexpr subrange stable_partition(I first, S last, Pred pred, // hosted
+ Proj proj = {});
template<@\libconcept{bidirectional_range}@ R, class Proj = identity,
@\libconcept{indirect_unary_predicate}@, Proj>> Pred>
requires @\libconcept{permutable}@>
- constexpr borrowed_subrange_t stable_partition(R&& r, Pred pred, Proj proj = {});
+ constexpr borrowed_subrange_t stable_partition(R&& r, Pred pred, // hosted
+ Proj proj = {});
}
template
pair
- partition_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ partition_copy(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
ForwardIterator1 out_true, ForwardIterator2 out_false,
Predicate pred);
@@ -2593,14 +2596,14 @@
template
ForwardIterator
- merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ merge(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2625,20 +2628,20 @@
}
template
- constexpr void inplace_merge(BidirectionalIterator first,
+ constexpr void inplace_merge(BidirectionalIterator first, // hosted
BidirectionalIterator middle,
BidirectionalIterator last);
template
- constexpr void inplace_merge(BidirectionalIterator first,
+ constexpr void inplace_merge(BidirectionalIterator first, // hosted
BidirectionalIterator middle,
BidirectionalIterator last, Compare comp);
template
- void inplace_merge(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ void inplace_merge(ExecutionPolicy&& exec, // hosted, 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, // hosted, see \ref{algorithms.parallel.overloads}
BidirectionalIterator first,
BidirectionalIterator middle,
BidirectionalIterator last, Compare comp);
@@ -2647,12 +2650,12 @@
template<@\libconcept{bidirectional_iterator}@ I, @\libconcept{sentinel_for}@ S, class Comp = ranges::less,
class Proj = identity>
requires @\libconcept{sortable}@
- constexpr I inplace_merge(I first, I middle, S last, Comp comp = {}, Proj proj = {});
+ constexpr I
+ inplace_merge(I first, I middle, S last, Comp comp = {}, Proj proj = {}); // hosted
template<@\libconcept{bidirectional_range}@ R, class Comp = ranges::less, class Proj = identity>
requires @\libconcept{sortable}@, Comp, Proj>
constexpr borrowed_iterator_t
- inplace_merge(R&& r, iterator_t middle, Comp comp = {},
- Proj proj = {});
+ inplace_merge(R&& r, iterator_t middle, Comp comp = {}, Proj proj = {}); // hosted
}
// \ref{alg.set.operations}, set operations
@@ -2664,12 +2667,12 @@
InputIterator2 first2, InputIterator2 last2,
Compare comp);
template
- bool includes(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ bool includes(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
Compare comp);
@@ -2696,20 +2699,20 @@
OutputIterator result);
template
constexpr OutputIterator
- set_union(InputIterator1 first1, InputIterator1 last1,
+ set_union(InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
OutputIterator result, Compare comp);
template
ForwardIterator
- set_union(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_union(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2746,14 +2749,14 @@
template
ForwardIterator
- set_intersection(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_intersection(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2790,14 +2793,14 @@
template
ForwardIterator
- set_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_difference(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2834,14 +2837,14 @@
template
ForwardIterator
- set_symmetric_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ set_symmetric_difference(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
ForwardIterator result, Compare comp);
@@ -2946,10 +2949,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, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
@@ -2971,11 +2974,11 @@
Compare comp);
template
RandomAccessIterator
- is_heap_until(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ is_heap_until(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
RandomAccessIterator first, RandomAccessIterator last,
Compare comp);
@@ -3067,10 +3070,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, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Compare comp);
@@ -3090,10 +3093,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, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last,
Compare comp);
@@ -3115,11 +3118,11 @@
minmax_element(ForwardIterator first, ForwardIterator last, Compare comp);
template
pair
- minmax_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ minmax_element(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
pair
- minmax_element(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ minmax_element(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, Compare comp);
namespace ranges {
@@ -3161,13 +3164,13 @@
Compare comp);
template
bool
- lexicographical_compare(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ lexicographical_compare(ExecutionPolicy&& exec, // freestanding-deleted, 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, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 last2,
Compare comp);
@@ -4113,7 +4116,7 @@
\pnum
\complexity
-At most \tcode{(last1-first1) * (last2-first2)} applications
+At most \tcode{(last1 - first1) * (last2 - first2)} applications
of the corresponding predicate and any projections.
\end{itemdescr}
@@ -4606,7 +4609,7 @@
\begin{itemdescr}
\pnum
\returns
-The first iterator \tcode{i} in the range \range{first1}{last1 - (last2-first2)}
+The first iterator \tcode{i} in the range \crange{first1}{last1 - (last2 - first2)}
such that
for every non-negative integer \tcode{n} less than \tcode{last2 - first2}
the following corresponding conditions hold:
@@ -4644,7 +4647,7 @@
\item
\tcode{\{i, i + (last2 - first2)\}},
where \tcode{i} is
- the first iterator in the range \range{first1}{last1 - (last2 - first2)}
+ the first iterator in the range \crange{first1}{last1 - (last2 - first2)}
such that
for every non-negative integer \tcode{n} less than \tcode{last2 - first2}
the condition
@@ -4705,9 +4708,9 @@
\pnum
\returns
-The first iterator \tcode{i} in the range \range{first}{last-count}
+The first iterator \tcode{i} in the range \crange{first}{last - count}
such that for every non-negative integer \tcode{n} less than \tcode{count}
-the condition $E$ is true.
+the condition $E$ is \tcode{true}.
Returns \tcode{last} if no such iterator is found.
\pnum
@@ -4736,7 +4739,7 @@
\pnum
\returns
\tcode{\{i, i + count\}}
-where \tcode{i} is the first iterator in the range \range{first}{last - count}
+where \tcode{i} is the first iterator in the range \crange{first}{last - count}
such that for every non-negative integer \tcode{n} less than \tcode{count},
the following condition holds:
\tcode{invoke(pred, invoke(proj, *(i + n)), value)}.
@@ -5421,7 +5424,7 @@
template
constexpr ForwardIterator2
swap_ranges(ForwardIterator1 first1, ForwardIterator1 last1,
- ForwardIterator2 first2); // freestanding
+ ForwardIterator2 first2);
template
ForwardIterator2
swap_ranges(ExecutionPolicy&& exec,
@@ -6260,7 +6263,7 @@
\expects
\begin{itemize}
\item
- The ranges \range{first}{last} and \range{result}{result+(last-first)}
+ The ranges \range{first}{last} and \range{result}{result + (last - first)}
do not overlap.
\item
For the overloads in namespace \tcode{std}:
@@ -7565,7 +7568,7 @@
are partitioned with respect to the expressions
\tcode{bool(invoke(comp, invoke(proj, e), value))} and
\tcode{!bool(invoke(comp, value, invoke(proj, e)))}.
-Also, for all elements \tcode{e} of \tcode{[first, last)},
+Also, for all elements \tcode{e} of \range{first}{last},
\tcode{bool(comp(e, value))} implies \tcode{!bool(comp(\brk{}value, e))}
for the overloads in namespace \tcode{std}.
@@ -7632,7 +7635,7 @@
are partitioned with respect to the expressions
\tcode{bool(invoke(comp, invoke(proj, e), value))} and
\tcode{!bool(invoke(comp, value, invoke(proj, e)))}.
-Also, for all elements \tcode{e} of \tcode{[first, last)},
+Also, for all elements \tcode{e} of \range{first}{last},
\tcode{bool(comp(e, value))} implies \tcode{!bool(comp(\brk{}value, e))}
for the overloads in namespace \tcode{std}.
@@ -8098,7 +8101,7 @@
\begin{itemize}
\item
For the overloads with no \tcode{ExecutionPolicy}, and
- if enough additional memory is available, exactly $N - 1$ comparisons.
+ if enough additional memory is available, at most $N - 1$ comparisons.
\item
Otherwise, \bigoh{N \log N} comparisons.
\end{itemize}
@@ -9453,7 +9456,7 @@
\tcode{ranges::lexicographical_compare(I1, S1, I2, S2, Comp, Proj1, Proj2)}
can be implemented as:
\begin{codeblock}
-for ( ; first1 != last1 && first2 != last2 ; ++first1, (void) ++first2) {
+for (; first1 != last1 && first2 != last2; ++first1, (void)++first2) {
if (invoke(comp, invoke(proj1, *first1), invoke(proj2, *first2))) return true;
if (invoke(comp, invoke(proj2, *first2), invoke(proj1, *first1))) return false;
}
@@ -9641,6 +9644,7 @@
\indexheader{numeric}%
\begin{codeblock}
+// mostly freestanding
namespace std {
// \ref{accumulate}, accumulate
template
@@ -9660,13 +9664,13 @@
BinaryOperation binary_op);
template
typename iterator_traits::value_type
- reduce(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ reduce(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last);
template
- T reduce(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ T reduce(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, T init);
template
- T reduce(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ T reduce(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, T init, BinaryOperation binary_op);
// \ref{inner.product}, inner product
@@ -9694,19 +9698,19 @@
BinaryOperation binary_op, UnaryOperation unary_op);
template
- T transform_reduce(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ T transform_reduce(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, T init);
template
- T transform_reduce(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ T transform_reduce(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, T init,
BinaryOperation1 binary_op1, BinaryOperation2 binary_op2);
template
- T transform_reduce(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ T transform_reduce(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator first, ForwardIterator last, T init,
BinaryOperation binary_op, UnaryOperation unary_op);
@@ -9731,13 +9735,13 @@
OutputIterator result, T init, BinaryOperation binary_op);
template
ForwardIterator2
- exclusive_scan(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ exclusive_scan(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, T init);
template
ForwardIterator2
- exclusive_scan(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ exclusive_scan(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, T init, BinaryOperation binary_op);
@@ -9756,19 +9760,19 @@
OutputIterator result, BinaryOperation binary_op, T init);
template
ForwardIterator2
- inclusive_scan(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ inclusive_scan(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result);
template
ForwardIterator2
- inclusive_scan(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ inclusive_scan(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, BinaryOperation binary_op);
template
ForwardIterator2
- inclusive_scan(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ inclusive_scan(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, BinaryOperation binary_op, T init);
@@ -9782,7 +9786,7 @@
template
ForwardIterator2
- transform_exclusive_scan(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ transform_exclusive_scan(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, T init,
BinaryOperation binary_op, UnaryOperation unary_op);
@@ -9803,14 +9807,14 @@
template
ForwardIterator2
- transform_inclusive_scan(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ transform_inclusive_scan(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, BinaryOperation binary_op,
UnaryOperation unary_op);
template
ForwardIterator2
- transform_inclusive_scan(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ transform_inclusive_scan(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result,
BinaryOperation binary_op, UnaryOperation unary_op, T init);
@@ -9826,13 +9830,13 @@
OutputIterator result, BinaryOperation binary_op);
template
ForwardIterator2
- adjacent_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ adjacent_difference(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result);
template
ForwardIterator2
- adjacent_difference(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads}
+ adjacent_difference(ExecutionPolicy&& exec, // freestanding-deleted, see \ref{algorithms.parallel.overloads}
ForwardIterator1 first, ForwardIterator1 last,
ForwardIterator2 result, BinaryOperation binary_op);
@@ -9868,15 +9872,15 @@
// \ref{numeric.sat}, saturation arithmetic
template
- constexpr T add_sat(T x, T y) noexcept; // freestanding
+ constexpr T add_sat(T x, T y) noexcept;
template
- constexpr T sub_sat(T x, T y) noexcept; // freestanding
+ constexpr T sub_sat(T x, T y) noexcept;
template
- constexpr T mul_sat(T x, T y) noexcept; // freestanding
+ constexpr T mul_sat(T x, T y) noexcept;
template
- constexpr T div_sat(T x, T y) noexcept; // freestanding
+ constexpr T div_sat(T x, T y) noexcept;
template