Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
271 commits
Select commit Hold shift + click to select a range
6704d82
[except.handle] Add commas (#8727)
Andreas-Krug Jan 30, 2026
c44f7ff
[flat.multimap.cons.alloc] Fix indentation (#8728)
Andreas-Krug Jan 30, 2026
42aa731
[except.pre] Add \grammarterm for ctor-initializer in comment (#8726)
Andreas-Krug Jan 30, 2026
16f4265
[value.error.codes] Fix indefinite article (#8730)
Andreas-Krug Jan 31, 2026
9115609
[concept.comparisoncommontype] Add period to end of sentence (#8731)
Andreas-Krug Feb 3, 2026
90c04ae
[util.smartptr.shared.create] Add \tcode for double[2] in comment
Andreas-Krug Feb 6, 2026
de8b220
[alg.replace] Fix indentation (#8733)
Andreas-Krug Feb 6, 2026
3186be7
[fs.op.last.write.time] Fix indentation (#8735)
Andreas-Krug Feb 9, 2026
e290803
[hive.operations] Fix \ref to \iref (#8741)
Andreas-Krug Feb 12, 2026
09ceac8
[list.cons] Add \tcode for list
Andreas-Krug Feb 12, 2026
73ea1c6
[list.overview] Fix \ref to \iref (#8742)
Andreas-Krug Feb 12, 2026
a079409
[flat.map.cons.alloc] Remove superfluous \linebreak (#8745)
Andreas-Krug Feb 13, 2026
0233f33
[mdspan.layout.leftpad.overview] Add \tcode for submdspan in comment …
Andreas-Krug Feb 16, 2026
cec0cec
[mdspan.layout.rightpad.overview] Add \tcode for submdspan in comment…
Andreas-Krug Feb 16, 2026
17ab8c6
[mdspan.sub.extents] Add $k$ for slices...[k] (#8749)
Andreas-Krug Feb 16, 2026
9c4be84
[alg.remove] Fix indentation (#8746)
Andreas-Krug Feb 16, 2026
beb4ec8
[cpp.predefined] Add \tcode for integer literal (#8750)
Halalaluyafail3 Feb 16, 2026
e4d2633
[mdspan.sub.map.sliceable] Add \tcode for SMR, submdspan_mapping_resu…
Andreas-Krug Feb 17, 2026
1df2d72
[mdspan.sub.map.right] Add $p$ for SliceSpecifiers...[p] (#8754)
Andreas-Krug Feb 17, 2026
bdfa4e1
[mdspan.sub.map.rightpad] Add $p$ for value p (#8755)
Andreas-Krug Feb 17, 2026
0c0733f
[mdspan.sub.map.sliceable] Add $i$ for valid_slices...[i] (#8751)
Andreas-Krug Feb 17, 2026
5d731ab
[mdspan.sub.map.left] Add $p$ for SliceSpecifiers...[p] (#8753)
Andreas-Krug Feb 17, 2026
0d9484b
[fs.op.create.hard.lk] Fix indentation (#8756)
Andreas-Krug Feb 18, 2026
f81fe2b
[fs.op.create.symlink] Fix indentation (#8757)
Andreas-Krug Feb 18, 2026
15fc5a2
[alg.remove] Use E(i) for predicate on iterator i (#8760)
dangelog Feb 22, 2026
5b07f42
[thread.mutex.requirements.mutex.general] Fix grammar (#8765)
jwakely Feb 24, 2026
4ce955b
[exec.snd.expos] Fix order of make_obj_using_allocator arguments (#8766)
jwakely Feb 24, 2026
3f6372b
[const.wrap.class] Add missing this to compound assignment operators …
timsong-cpp Feb 25, 2026
9d68c49
[partial.sort.copy] Fix indentation (#8769)
Andreas-Krug Feb 25, 2026
d6fcada
[utility.arg.requirements] Remove \enlargethispage command.
tkoeppe Mar 5, 2026
de532c5
[macros] Create \tref and \fref commands if they doesn't exist yet.
tkoeppe Mar 5, 2026
ce032eb
[locale.categories.general] Add \tcode for OutputIterator
Andreas-Krug Mar 2, 2026
8338b7c
[text.encoding.id] Add colon after "as follows" (#8776)
Andreas-Krug Mar 5, 2026
eba89bc
[lex.phases] Make note on the notion of file more prominent
AlisdairM Dec 22, 2025
8db8628
[mdspan.layout.leftpad.cons] Add missing \tcode
timsong-cpp Mar 6, 2026
7dadfcf
[check] Make check-output.sh tolerate new memoir version
jensmaurer Mar 16, 2026
13cad62
[istream.unformatted] Add right parenthesis
Andreas-Krug Mar 12, 2026
7da8356
[linalg.algs.blas2.rank2] Add whitespace after comma
Andreas-Krug Mar 10, 2026
981d322
[stoptoken.concepts] Remove superfluous \item (#8790)
Andreas-Krug Mar 17, 2026
1acf0f7
[linalg.syn] Add \tcode for layout_blas_packed (#8781)
Andreas-Krug Mar 17, 2026
9a11bef
[atomics.types.pointer] Fix indentation (#8779)
Andreas-Krug Mar 17, 2026
a28498a
[exec.adapt.obj] Add \tcode for arg (#8796)
Andreas-Krug Mar 19, 2026
4ac5960
[exec.as.awaitable] Fix formatting of exposition-only member (#8798)
ericniebler Mar 20, 2026
92b3a22
[utility.intcmp] Fix name of type parameter (#8770)
term-est Mar 20, 2026
11106fc
[mdspan.sub.map.common,mdspan.sub.map.left] Fix S(p)liceSpecifiers ty…
abhinavagarwal07 Mar 20, 2026
74c5dcc
[polymorphic.ctor] Fix wrong \indexlibraryctor (#8800)
abhinavagarwal07 Mar 20, 2026
36ce9cb
[linalg.algs.blas3.rank2k] Add missing \pnum and \effects (#8801)
abhinavagarwal07 Mar 20, 2026
7831080
[linalg.algs.blas3.rank2k] Add missing \exposid for multipliable (#8802)
abhinavagarwal07 Mar 20, 2026
8eced2a
[is.sorted] Fix indentation (#8804)
Andreas-Krug Mar 21, 2026
cda7c18
[lib] Replace bad uses of "instantiation" with "specialization" (#8379)
frederick-vs-ja Mar 21, 2026
dc5928b
[vector.bool.fmt][container.adaptors.format] Add missing `constexpr` …
frederick-vs-ja Mar 22, 2026
c6fecf4
[expected.object.eq] Add missing negation (misapplied wording).
tkoeppe Mar 23, 2026
6913287
[format] Consistently add `constexpr` to function descriptions
frederick-vs-ja Feb 25, 2026
863a970
[lib] Fix indexing for certain operators (#8810)
frederick-vs-ja Mar 25, 2026
c7f2679
[alg.partitions] Fix indentation (#8812)
Andreas-Krug Mar 25, 2026
45c820b
[diff.basic] Use enum example instead of example outdated since C99
hubert-reinterpretcast Dec 17, 2025
3e53098
[diff.basic] Stop claiming, as harmless, type-based aliasing violations
hubert-reinterpretcast Dec 17, 2025
c40c5f0
[intro.compliance.general] Mark documentation encouragement as recomm…
eisenwave Feb 13, 2026
d8ff3c0
[basic.stc.dynamic] Spell out compound type names
lprv Dec 14, 2025
e70a19b
[lex.key] Emphasize that keywords are created in phase 6
jensmaurer Feb 26, 2026
0807a33
Clarify pack-index-specifier rules
brevzin Jan 29, 2026
f55d63d
[basic.fundamental] Strike explanatory sentence; touch up note
lprv Dec 14, 2025
f4d8ecb
[basic.extended.fp] Replace "typedef-name" with "type alias"
lprv Dec 14, 2025
2efe693
[intro.refs], [numeric.limits] Remove all references to ISO/IEC 10967…
eisenwave Dec 17, 2025
b54449d
[basic.start.static] Improve readability of example
lprv Dec 14, 2025
cd15f7a
[stmt.pre] Streamline decl-specifier restrictions on conditions, etc.
hubert-reinterpretcast Dec 19, 2025
d3f5704
[temp.point] Itemize long conditionals in three paragraphs
eisenwave Jul 23, 2023
ecc669c
[meta.syn] Add function parameter names
hewillk Mar 10, 2026
98a668e
[expr.const] Introduce subclauses
jensmaurer Mar 26, 2026
a2933d5
Refine cross references into [expr.const]
opensdh Mar 26, 2026
153012f
[expr.const.defns] Fix comment alignment (#8814)
Tsche Mar 26, 2026
13906dc
[basic.lookup.unqual] Rephrase to avoid incorrect use of term
lprv Dec 11, 2025
4695716
[time.syn] Use `\placeholder` instead of `\term`
frederick-vs-ja Jan 4, 2026
7fdc20b
[class.qual] Formatting placeholder consistently as maths (#8610)
lprv Mar 26, 2026
ad94af9
[iostream.forward.overview] Add missing mentions of spanbuf and spans…
frederick-vs-ja Mar 25, 2026
6a31f94
[iostream.forward.overview] Say "designate specialization".
frederick-vs-ja Mar 25, 2026
731cda1
[simd.permute.*] Change M back to V since the wording refers to V
mattkretz Nov 4, 2025
7f3b7c6
[intro.races] Fix typo
lprv Dec 14, 2025
e1ee86a
[simd.syn,simd.permute.mask] Change M::value_type& to V::value_type&
Andreas-Krug Mar 27, 2026
8cef46b
[exec.snd.expos] Reorder specification immediately after declaration
jensmaurer Oct 5, 2025
6fc1650
[exec.get.compl.sched] Rename completion-tag to completion-fn-tag and…
tkoeppe Mar 27, 2026
525141d
[saferecl.rcu.domain.func] Fix indentation
Andreas-Krug Mar 28, 2026
bb04052
[execution.syn] Fix comment alignment
Andreas-Krug Mar 28, 2026
1ac538f
[meta.reflection.queries] Use math font consistently
timsong-cpp Feb 23, 2026
792d420
[forward] Add \tcode for literals
Andreas-Krug Feb 8, 2026
deb2a9b
[exec.snd.expos] Delete unused expos-only concept "completion-tag".
tkoeppe Mar 28, 2026
fda5e37
[dcl.struct.bind] Fix tuple-like binding index to use SB_i instead of…
abhinavagarwal07 Mar 20, 2026
42f878f
[basic] Do not hyphenate "potentially evaluated"
lprv Dec 15, 2025
70e7538
[expr] Do not hyphenate "potentially evaluated"
lprv Dec 15, 2025
d296b82
[dcl] Do not hyphenate "potentially evaluated"
lprv Dec 15, 2025
9ad63b7
[temp.over.link] Do not hyphenate "potentially evaluated"
lprv Dec 15, 2025
4f9d952
[includes] Fix indentation
Andreas-Krug Mar 29, 2026
b536020
[coroutine.handle.general,coroutine.handle.noop.general] Place left c…
Andreas-Krug Mar 29, 2026
4d1fbb7
[stacktrace.basic.nonmem] Fix indentation (#8900)
Andreas-Krug Apr 1, 2026
fb84252
[macros] Add escapechar setting for "outputblock" environment.
tkoeppe Apr 1, 2026
180830c
[mdspan.mdspan.cons] Fix typo (`is_nothrow_constructible` => `is_noth…
cpplearner Apr 3, 2026
6837212
[atomics.types.operations] Fix indentation (#8916)
Andreas-Krug Apr 4, 2026
5c8fc43
[conv.rank] Add missing whitespace following \IsoC
eisenwave Apr 8, 2026
68767ea
CWG2609 Padding in class types
burblebee Apr 4, 2026
5d6e9c8
CWG2744 Multiple objects of the same type at the same address
burblebee Apr 4, 2026
adcdd79
CWG2765 Address comparisons between potentially non-unique objects du…
burblebee Apr 4, 2026
5d65e7f
CWG2799 Inheriting default constructors
burblebee Apr 4, 2026
c2f1ab8
CWG2947 Limiting macro expansion in pp-module
burblebee Apr 4, 2026
7e8fea5
CWG2966 Alignment and value representation of std::nullptr_t
burblebee Apr 4, 2026
c3fbb89
CWG2976 Transferring control out of a function
burblebee Apr 4, 2026
2821d9c
CWG2983 Non-type template parameters are not variables
burblebee Apr 4, 2026
660f75c
CWG2992 Labels do not have names
burblebee Apr 5, 2026
c706a4e
CWG3010 constexpr placement-new should require transparent replaceabi…
burblebee Apr 5, 2026
ff3d471
CWG3029 Confusing note about ordinary character types for aligned mem…
burblebee Apr 5, 2026
e35e7c2
CWG3035 Lambda expressions in anonymous unions
burblebee Apr 5, 2026
13209c7
CWG3058 "Program point" is not defined
burblebee Apr 5, 2026
6181aa6
CWG3125 Token convertibility requirement in #if
burblebee Apr 5, 2026
3dfbe43
CWG3126 A module import needs a header-name as a token
burblebee Apr 5, 2026
4a2eed2
CWG3128 Potentially-throwing unevaluated operands
burblebee Apr 5, 2026
7f818ad
CWG3129 Clarify which floating-point-literals are valid
burblebee Apr 5, 2026
931cad9
CWG3130 Naming function members of anonymous unions
burblebee Apr 5, 2026
29022b7
CWG3132 Unclear disambiguation rule for condition
burblebee Apr 5, 2026
d339a26
CWG3133 Cv-qualified types in built-in operator candidates
burblebee Apr 5, 2026
870aab7
CWG3136 Constant expressions of type void
burblebee Apr 5, 2026
20e988a
CWG3142 Possible expansions of __LINE__ changing over time
burblebee Apr 6, 2026
c25b52e
[cpp.predefined] Insert "The integer literal" as introducer.
tkoeppe Apr 11, 2026
30b9804
CWG3148 Definition of "user-declared" special member function
burblebee Apr 6, 2026
383e447
CWG3151 Closure types that are final
burblebee Apr 6, 2026
e3b6062
CWG3153 Immediate-escalating defaulted comparison
burblebee Apr 6, 2026
a0b9b3b
CWG3155 Escalation of virtual functions
burblebee Apr 6, 2026
8c7d950
CWG3156 Handling of deleted functions in unevaluated lambda-captures
burblebee Apr 6, 2026
9959c52
CWG3157 Missing handling of operator new[] for deallocation function …
burblebee Apr 6, 2026
9b822e3
CWG3171 Codify the strong ownership for modules
burblebee Apr 6, 2026
30d255b
CWG3173 Remove misleading footnote about as-if rule
burblebee Apr 6, 2026
e6a0efe
Merge 2026-03 CWG Motion 2
tkoeppe Apr 12, 2026
9c53a5a
CWG3088 Clarify macro treatment of identifiers with special meaning
burblebee Apr 5, 2026
ad0e6e0
CWG3119 for-range-declaration of an expansion-statement as a template…
burblebee Apr 5, 2026
4f4467c
CWG3122 Inadequate value-dependence for reflect-expressions
burblebee Apr 5, 2026
56890e4
CWG3123 Global lookup for begin and end for expansion statements
burblebee Apr 5, 2026
665d411
CWG3124 Disallow annotations on block-scope externs and non-unique fr…
burblebee Apr 5, 2026
da5f0eb
CWG3131 Value categories and types for the range in iterable expansio…
burblebee Apr 5, 2026
8663ecd
CWG3135 constexpr structured bindings with prvalues from tuples
burblebee Apr 5, 2026
0d2ab00
CWG3140 Allowing expansion over non-constant std::array
burblebee Apr 5, 2026
3d104f6
CWG3143 Incorrect statement about enumerators for C23
burblebee Apr 5, 2026
d650d7c
CWG3145 Uniqueness of annotations
burblebee Apr 5, 2026
910a440
CWG3149 Rvalues in destructuring expansion statements
burblebee Apr 5, 2026
18d2f84
CWG3162 Evaluation context of manifestly constant-evaluated expressions
burblebee Apr 5, 2026
56ae33f
CWG3172 Reference to wrong placeholder
burblebee Apr 5, 2026
04f0803
Merge 2026-03 CWG Motion 3
tkoeppe Apr 12, 2026
88d3892
P3924R1 Fix inappropriate font choices for "declaration"
eisenwave Mar 28, 2026
3d37ab4
Merge 2026-03 CWG Motion 4
tkoeppe Apr 12, 2026
6933956
P4136R2 #line is not in line with existing implementation
jensmaurer Mar 28, 2026
8bdd8cb
Merge 2026-03 CWG Motion 5
tkoeppe Apr 12, 2026
3474aaa
P4004R1 Reconsider CWG 1395 "Partial ordering of variadic templates r…
jensmaurer Mar 28, 2026
2a14a03
Merge 2026-03 CWG Motion 6
tkoeppe Apr 12, 2026
9d93c9c
P3865R3 Class template argument deduction (CTAD) for type template te…
eisenwave Mar 30, 2026
8b80344
[over.match.class.deduct] Add introductory "The alias template".
tkoeppe Apr 12, 2026
3442a88
Merge 2026-03 CWG Motion 7
tkoeppe Apr 12, 2026
1471e98
P3598R0 CWG 3158 - `const`-ification of Splice Expressions
eisenwave Mar 29, 2026
002cd77
[expr.prim.splice] Add introductory words "The expression".
tkoeppe Apr 12, 2026
7db0b92
Merge 2026-03 CWG Motion 8
tkoeppe Apr 12, 2026
b621f1a
P3726R2 Adjustments to Union Lifetime Rules
eisenwave Mar 29, 2026
b93b8a2
Merge 2026-03 CWG Motion 9
tkoeppe Apr 12, 2026
06f1ff3
P4143R0 Constant evaluation when?
jensmaurer Mar 29, 2026
c1b2b44
Merge 2026-03 CWG Motion 10
tkoeppe Apr 12, 2026
16e5b37
P4149R1 Define "immediate context"
eisenwave Mar 29, 2026
8dc6411
Merge 2026-03 CWG Motion 11
tkoeppe Apr 12, 2026
1a438ca
P3769R1 Clarification of placement new deallocation
jensmaurer Mar 30, 2026
bd69127
Merge 2026-03 CWG Motion 12
tkoeppe Apr 12, 2026
529dff9
CWG3141 Unique objects from define_static_array
burblebee Apr 6, 2026
bfa9108
Merge 2026-03 CWG Motion 13
tkoeppe Apr 12, 2026
2ea7dbc
LWG2414 Member function reentrancy should be implementation-defined
burblebee Apr 6, 2026
5ea831b
LWG2746 Inconsistency between requirements for emplace between option…
burblebee Apr 6, 2026
0d37df0
LWG3504 condition_variable::wait_for is overspecified
burblebee Apr 7, 2026
b58214b
LWG3599 The const overload of lazy_split_view::begin should be constr…
burblebee Apr 7, 2026
612c845
LWG4290 Missing Mandates clauses on is_sufficiently_aligned
burblebee Apr 7, 2026
346d301
LWG4453 atomic_ref<cv T>::required_alignment should be the same as for T
burblebee Apr 7, 2026
b9add07
LWG4454 assert should forbid co_await and co_yield
burblebee Apr 7, 2026
e1234bc
LWG4469 Names of parameters of addressable function shall remain unsp…
burblebee Apr 7, 2026
7a18690
LWG4472 std::atomic_ref<const T> can be constructed from temporaries
burblebee Apr 7, 2026
b4abee9
LWG4486 integral-constant-like and constexpr-wrapper-like exposition-…
burblebee Apr 7, 2026
6923184
LWG4492 std::generate and std::ranges::generate wording is unclear fo…
burblebee Apr 7, 2026
2e5143b
LWG4496 Precedes vs Reachable in [meta.reflection]
burblebee Apr 7, 2026
1c73ec4
LWG4499 flat_set::insert_range specification may be problematic
burblebee Apr 7, 2026
cc66a29
LWG4510 Ambiguity of std::ranges::advance and std::ranges::next when …
burblebee Apr 7, 2026
4d1f957
LWG4511 Inconsistency between the deduction guide of std::mdspan taki…
burblebee Apr 7, 2026
585e125
LWG4512 The system_encoded_string() and generic_system_encoded_string…
burblebee Apr 7, 2026
787562a
LWG4535 Disallow user specialization of <simd> templates
burblebee Apr 7, 2026
97207d1
LWG4536 Type traits have inconsistent interactions with immediate fun…
burblebee Apr 7, 2026
dc84961
LWG3831 Two-digit formatting of negative year is ambiguous
burblebee Apr 7, 2026
d1705f9
LWG4090 Underspecified use of locale facets for locale-dependent std:…
burblebee Apr 7, 2026
d67ab97
LWG4130 Preconditions for std::launder might be overly strict
burblebee Apr 7, 2026
f700f35
LWG4259 P1148R0 changed the return values of searching functions of s…
burblebee Apr 7, 2026
ebffd32
LWG4324 unique_ptr<void>::operator* is not SFINAE-friendly
burblebee Apr 7, 2026
2d3f1b4
LWG4378 Inconsistency between std::basic_string's data() and operator…
burblebee Apr 7, 2026
dbd9c63
LWG4457 freestanding for stable_sort, stable_partition and inplace_merge
burblebee Apr 7, 2026
b4780d5
LWG4460 Missing Throws: for last variant constructor
burblebee Apr 7, 2026
0aed523
LWG4467 hive::splice can throw bad_alloc
burblebee Apr 7, 2026
f2ceb54
LWG4468 [const.wrap.class] "operator decltype(auto)" is ill-formed
burblebee Apr 7, 2026
d74efc4
LWG4474 "round_to_nearest" rounding mode is unclear
burblebee Apr 7, 2026
ba3eb6e
LWG4477 Placement operator delete should be constexpr
burblebee Apr 7, 2026
658ef11
LWG4480 <stdatomic.h> should provide ATOMIC_CHAR8_T_LOCK_FREE
burblebee Apr 7, 2026
34bedfa
LWG4481 Disallow chrono::duration<const T, P>
burblebee Apr 7, 2026
1819377
LWG4483 Multidimensional arrays are not supported by meta::reflect_co…
burblebee Apr 7, 2026
063e722
LWG4491 Rename submdspan_extents and submdspan_canonicalize_slices
burblebee Apr 7, 2026
b87220c
LWG4493 Specification for some functions of bit reference types seems…
burblebee Apr 7, 2026
518f4c2
LWG4500 constant_wrapper wording problems
burblebee Apr 7, 2026
661ee8a
LWG4514 Missing absolute value of init in vector_two_norm and matrix_…
burblebee Apr 7, 2026
061e643
LWG4517 data_member_spec should throw for cv-qualified unnamed bit-fi…
burblebee Apr 7, 2026
add4df6
LWG4522 Clarify that std::format transcodes for std::wformat_strings
burblebee Apr 7, 2026
be29bdf
LWG4523 constant_wrapper should assign to value
burblebee Apr 7, 2026
1bbe751
LWG4525 task's final_suspend should move the result
burblebee Apr 7, 2026
79a781c
LWG4527 await_transform needs to use as_awaitable
burblebee Apr 7, 2026
a76d1f2
LWG4528 task needs get_completion_signatures()
burblebee Apr 7, 2026
a3bbccb
LWG4529 task::promise_type::await_transform declaration and definitio…
burblebee Apr 7, 2026
cc902d3
Merge 2026-03 LWG Motion 1
tkoeppe Apr 12, 2026
df247bf
[std] Add Annex for undefined and IFNDR behavior
jensmaurer Apr 5, 2025
d230d0b
[class.cdtor] Remove duplicate UB labels
jensmaurer Apr 5, 2025
13e075f
[expr.delete] Remove duplicate UB label
jensmaurer Apr 11, 2025
12fe729
[conv.fpint] Remove duplicate UB label
jensmaurer Apr 11, 2025
ac1b907
[ifndr.lex] Replace C++ with \Cpp
jensmaurer Apr 5, 2025
902c987
[ub,ifndr] Fix column alignment of comments
jensmaurer Apr 5, 2025
e48cdb8
[ifndr] Fix cross-references
jensmaurer Apr 5, 2025
d0cb955
[ub] Replace non-ASCII chars
jensmaurer Apr 5, 2025
e9ce55d
[check] Handle ub/ifndr labels
jensmaurer Apr 6, 2025
24dbef3
[check] Exclude [ub] and [ifndr] from sibling checking for now
jensmaurer Apr 11, 2025
43476f4
[ub.cpp.concat] Remove universal-character-name formation from ##; no…
jensmaurer Apr 5, 2025
eb687a9
[ifndr] Use codeblocktu
jensmaurer Apr 6, 2025
08fddc1
Rename label expr.ass.overlap to expr.assign.overlap
jensmaurer Apr 13, 2025
4e12d8b
[ub.basic.stc.dynamic] Fix typo
jensmaurer Apr 14, 2025
d8888c7
[ub] Fix some formatting (#7828)
jensmaurer Apr 22, 2025
6a9a2f4
Remove class.dtor.not.class.type (#7835)
jensmaurer Apr 23, 2025
2ba186d
Remove incorrect class.union.assignment.not.start.lifetime (#7833)
jensmaurer Apr 23, 2025
f47a95c
[ub.general,ifndr.general] Avoid hanging paragraphs by introducing 'G…
jensmaurer May 4, 2025
9f56f56
[ub] Add many missing entries to UB annex (#7864)
notadragon May 14, 2025
bc7bd98
[conv.fpint] Remove unreferenced \ubdef that causes an undefined symb…
jensmaurer May 16, 2025
b5d6c33
[ub] small fixes to examples (#7890)
notadragon May 28, 2025
02951bc
[ub] Added all missing ubdefs to bring UB annex in line with P3100R2 …
timuraudio Jun 21, 2025
c1bac80
[ub] Adjust to undefined behavior removed by P2621R2
jensmaurer Jul 26, 2025
a90173f
[ub,intro.progress] Added entry for UB due to lack of forward progres…
timuraudio Nov 17, 2025
0f1081c
[ub] Remove lifetime.outside.pointer.static.cast
jensmaurer Jan 11, 2026
670789f
[ub] and [ifndr] remove extra line breaks after ubxref and ifndrxref …
notadragon Jan 20, 2026
1b3da55
[ub] and [ifndr] fixes and updates after feedback from Christof Meerwald
joshuaberne Feb 10, 2026
97d4ef4
[*] made sure ubdef and ifndrdef do not have preceding whitespaces an…
joshuaberne Feb 10, 2026
50fe1b7
[ub] comment about library ub in the core wording
joshuaberne Feb 10, 2026
0572e0f
[ub] feedback from Shafik on ub annex
joshuaberne Feb 10, 2026
ef1f865
[ifndr] more feebdack from Shafik
joshuaberne Feb 11, 2026
3acf197
[ifndr]: added missing entries brought up by Alisdair
joshuaberne Feb 18, 2026
3df5f6e
[ifndr]: started with shafik's suggested examples and refined them a bit
notadragon Feb 20, 2026
4a5dc40
[ifndr] added comment on possibly non-NDR entry temp.names.sat.constr…
notadragon Feb 20, 2026
b59a30a
[ifndr] fixing (hopefully) bad unary operator defined example
joshuaberne Feb 20, 2026
8818acc
[ifndr]: added many missing ifndr types, removed temp.names.sat.const…
joshuaberne Feb 20, 2026
c50ae05
ifndr: removing module ownership related ifndr (cwg3171)
joshuaberne Apr 16, 2026
b2caddb
ifndr: filled in many of the missing examples/TODOs
joshuaberne Apr 16, 2026
1872212
[ifndr]: cleaned up line wrapping of some comments
joshuaberne Apr 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 24 additions & 45 deletions source/algorithms.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2316,16 +2316,6 @@
template<@\libconcept{input_or_output_iterator}@ O, @\libconcept{copy_constructible}@ F>
requires @\libconcept{invocable}@<F&> && @\libconcept{indirectly_writable}@<O, invoke_result_t<F&>>
constexpr O generate_n(O first, iter_difference_t<O> n, F gen);
template<@\exposconcept{execution-policy}@ Ep, @\libconcept{random_access_iterator}@ O, @\libconcept{sized_sentinel_for}@<O> S,
@\libconcept{copy_constructible}@ F>
requires @\libconcept{invocable}@<F&> && @\libconcept{indirectly_writable}@<O, invoke_result_t<F&>>
O generate(Ep&& exec, O first, S last, F gen); // freestanding-deleted
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R, @\libconcept{copy_constructible}@ F>
requires @\libconcept{invocable}@<F&> && @\libconcept{indirectly_writable}@<iterator_t<R>, invoke_result_t<F&>>
borrowed_iterator_t<R> generate(Ep&& exec, R&& r, F gen); // freestanding-deleted
template<@\exposconcept{execution-policy}@ Ep, @\libconcept{random_access_iterator}@ O, @\libconcept{copy_constructible}@ F>
requires @\libconcept{invocable}@<F&> && @\libconcept{indirectly_writable}@<O, invoke_result_t<F&>>
O generate_n(Ep&& exec, O first, iter_difference_t<O> n, F gen); // freestanding-deleted
}

// \ref{alg.remove}, remove
Expand Down Expand Up @@ -2857,12 +2847,12 @@
class Comp = ranges::less, class Proj = identity>
requires @\libconcept{sortable}@<I, Comp, Proj>
I stable_sort(Ep&& exec, I first, S last, Comp comp = {},
Proj proj = {}); // freestanding-deleted
Proj proj = {}); // hosted
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R, class Comp = ranges::less,
class Proj = identity>
requires @\libconcept{sortable}@<iterator_t<R>, Comp, Proj>
borrowed_iterator_t<R>
stable_sort(Ep&& exec, R&& r, Comp comp = {}, Proj proj = {}); // freestanding-deleted
stable_sort(Ep&& exec, R&& r, Comp comp = {}, Proj proj = {}); // hosted
}

template<class RandomAccessIterator>
Expand Down Expand Up @@ -3261,12 +3251,12 @@
requires @\libconcept{permutable}@<I>
subrange<I>
stable_partition(Ep&& exec, I first, S last, Pred pred,
Proj proj = {}); // freestanding-deleted
Proj proj = {}); // hosted
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R, class Proj = identity,
@\libconcept{indirect_unary_predicate}@<projected<iterator_t<R>, Proj>> Pred>
requires @\libconcept{permutable}@<iterator_t<R>>
borrowed_subrange_t<R>
stable_partition(Ep&& exec, R&& r, Pred pred, Proj proj = {}); // freestanding-deleted
stable_partition(Ep&& exec, R&& r, Pred pred, Proj proj = {}); // hosted
}

template<class InputIterator, class OutputIterator1,
Expand Down Expand Up @@ -3434,13 +3424,13 @@
class Comp = ranges::less, class Proj = identity>
requires @\libconcept{sortable}@<I, Comp, Proj>
I inplace_merge(Ep&& exec, I first, I middle, S last, Comp comp = {},
Proj proj = {}); // freestanding-deleted
Proj proj = {}); // hosted
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R, class Comp = ranges::less,
class Proj = identity>
requires @\libconcept{sortable}@<iterator_t<R>, Comp, Proj>
borrowed_iterator_t<R>
inplace_merge(Ep&& exec, R&& r, iterator_t<R> middle, Comp comp = {},
Proj proj = {}); // freestanding-deleted
Proj proj = {}); // hosted
}

// \ref{alg.set.operations}, set operations
Expand Down Expand Up @@ -7005,9 +6995,9 @@
ranges::transform(Ep&& exec, I first1, S last1, O result, OutS result_last,
F op, Proj proj = {});
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R, @\exposconcept{sized-random-access-range}@ OutR,
@\libconcept{copy_constructible}@ F, class Proj = identity>
@\libconcept{copy_constructible}@ F, class Proj = identity>
requires @\libconcept{indirectly_writable}@<iterator_t<OutR>,
indirect_result_t<F&, projected<iterator_t<R>, Proj>>>
indirect_result_t<F&, projected<iterator_t<R>, Proj>>>
ranges::unary_transform_result<borrowed_iterator_t<R>, borrowed_iterator_t<OutR>>
ranges::transform(Ep&& exec, R&& r, OutR&& result_r, F op, Proj proj = {});

Expand All @@ -7032,17 +7022,17 @@
@\libconcept{random_access_iterator}@ O, @\libconcept{sized_sentinel_for}@<O> OutS,
@\libconcept{copy_constructible}@ F, class Proj1 = identity, class Proj2 = identity>
requires @\libconcept{indirectly_writable}@<O, indirect_result_t<F&, projected<I1, Proj1>,
projected<I2, Proj2>>>
projected<I2, Proj2>>>
ranges::binary_transform_result<I1, I2, O>
ranges::transform(Ep&& exec, I1 first1, S1 last1, I2 first2, S2 last2,
O result, OutS result_last,
F binary_op, Proj1 proj1 = {}, Proj2 proj2 = {});
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R1, @\exposconcept{sized-random-access-range}@ R2,
@\exposconcept{sized-random-access-range}@ OutR, @\libconcept{copy_constructible}@ F,
class Proj1 = identity, class Proj2 = identity>
class Proj1 = identity, class Proj2 = identity>
requires @\libconcept{indirectly_writable}@<iterator_t<OutR>,
indirect_result_t<F&, projected<iterator_t<R1>, Proj1>,
projected<iterator_t<R2>, Proj2>>>
indirect_result_t<F&, projected<iterator_t<R1>, Proj1>,
projected<iterator_t<R2>, Proj2>>>
ranges::binary_transform_result<borrowed_iterator_t<R1>, borrowed_iterator_t<R2>,
borrowed_iterator_t<OutR>>
ranges::transform(Ep&& exec, R1&& r1, R2&& r2, OutR&& result_r,
Expand Down Expand Up @@ -7178,8 +7168,8 @@
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R, class Proj = identity,
class T1 = projected_value_t<iterator_t<R>, Proj>, class T2 = range_value_t<R>>
requires @\libconcept{indirectly_writable}@<iterator_t<R>, const T2&> &&
@\libconcept{indirect_binary_predicate}@<ranges::equal_to,
projected<iterator_t<R>, Proj>, const T1*>
@\libconcept{indirect_binary_predicate}@<ranges::equal_to,
projected<iterator_t<R>, Proj>, const T1*>
borrowed_iterator_t<R>
ranges::replace(Ep&& exec, R&& r, const T1& old_value, const T2& new_value,
Proj proj = {});
Expand Down Expand Up @@ -7299,7 +7289,7 @@
class T2 = range_value_t<OutR>>
requires @\libconcept{indirectly_copyable}@<iterator_t<R>, iterator_t<OutR>> &&
@\libconcept{indirect_binary_predicate}@<ranges::equal_to,
projected<iterator_t<R>, Proj>, const T1*> &&
projected<iterator_t<R>, Proj>, const T1*> &&
@\libconcept{indirectly_writable}@<iterator_t<OutR>, const T2&>
ranges::replace_copy_result<borrowed_iterator_t<R>, borrowed_iterator_t<OutR>>
ranges::replace_copy(Ep&& exec, R&& r, OutR&& result_r, const T1& old_value,
Expand Down Expand Up @@ -7492,17 +7482,6 @@
template<@\libconcept{input_or_output_iterator}@ O, @\libconcept{copy_constructible}@ F>
requires @\libconcept{invocable}@<F&> && @\libconcept{indirectly_writable}@<O, invoke_result_t<F&>>
constexpr O ranges::generate_n(O first, iter_difference_t<O> n, F gen);

template<@\exposconcept{execution-policy}@ Ep, @\libconcept{random_access_iterator}@ O, @\libconcept{sized_sentinel_for}@<O> S,
@\libconcept{copy_constructible}@ F>
requires @\libconcept{invocable}@<F&> && @\libconcept{indirectly_writable}@<O, invoke_result_t<F&>>
O ranges::generate(Ep&& exec, O first, S last, F gen);
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R, @\libconcept{copy_constructible}@ F>
requires @\libconcept{invocable}@<F&> && @\libconcept{indirectly_writable}@<iterator_t<R>, invoke_result_t<F&>>
borrowed_iterator_t<R> ranges::generate(Ep&& exec, R&& r, F gen);
template<@\exposconcept{execution-policy}@ Ep, @\libconcept{random_access_iterator}@ O, @\libconcept{copy_constructible}@ F>
requires @\libconcept{invocable}@<F&> && @\libconcept{indirectly_writable}@<O, invoke_result_t<F&>>
O ranges::generate_n(Ep&& exec, O first, iter_difference_t<O> n, F gen);
\end{itemdecl}

\begin{itemdescr}
Expand Down Expand Up @@ -7577,7 +7556,7 @@
class T = projected_value_t<iterator_t<R>, Proj>>
requires @\libconcept{permutable}@<iterator_t<R>> &&
@\libconcept{indirect_binary_predicate}@<ranges::equal_to,
projected<iterator_t<R>, Proj>, const T*>
projected<iterator_t<R>, Proj>, const T*>
borrowed_subrange_t<R>
ranges::remove(Ep&& exec, R&& r, const T& value, Proj proj = {});

Expand All @@ -7604,7 +7583,7 @@

\begin{itemdescr}
\pnum
Let $E$ be
Let $E(\tcode{i})$ be
\begin{itemize}
\item \tcode{bool(*i == value)} for \tcode{remove};
\item \tcode{bool(pred(*i))} for \tcode{remove_if};
Expand All @@ -7621,7 +7600,7 @@
\pnum
\effects
Eliminates all the elements referred to by iterator \tcode{i}
in the range \range{first}{last} for which $E$ holds.
in the range \range{first}{last} for which $E(\tcode{i})$ holds.

\pnum
\returns
Expand Down Expand Up @@ -7701,7 +7680,7 @@
class Proj = identity, class T = projected_value_t<iterator_t<R>, Proj>>
requires @\libconcept{indirectly_copyable}@<iterator_t<R>, iterator_t<OutR>> &&
@\libconcept{indirect_binary_predicate}@<ranges::equal_to,
projected<iterator_t<R>, Proj>, const T*>
projected<iterator_t<R>, Proj>, const T*>
ranges::remove_copy_result<borrowed_iterator_t<R>, borrowed_iterator_t<OutR>>
ranges::remove_copy(Ep&& exec, R&& r, OutR&& result_r, const T& value, Proj proj = {});

Expand Down Expand Up @@ -9076,7 +9055,7 @@
@\libconcept{random_access_iterator}@ I2, @\libconcept{sized_sentinel_for}@<I2> S2,
class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity>
requires @\libconcept{indirectly_copyable}@<I1, I2> && @\libconcept{sortable}@<I2, Comp, Proj2> &&
@\libconcept{indirect_strict_weak_order}@<Comp, projected<I1, Proj1>, projected<I2, Proj2>>
@\libconcept{indirect_strict_weak_order}@<Comp, projected<I1, Proj1>, projected<I2, Proj2>>
ranges::partial_sort_copy_result<I1, I2>
ranges::partial_sort_copy(Ep&& exec, I1 first, S1 last, I2 result_first, S2 result_last,
Comp comp = {}, Proj1 proj1 = {},
Expand Down Expand Up @@ -9281,7 +9260,7 @@
class Proj = identity,
@\libconcept{indirect_strict_weak_order}@<projected<I, Proj>> Comp = ranges::less>
I ranges::is_sorted_until(Ep&& exec, I first, S last, Comp comp = {},
Proj proj = {});
Proj proj = {});
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R, class Proj = identity,
@\libconcept{indirect_strict_weak_order}@<projected<iterator_t<R>, Proj>> Comp = ranges::less>
borrowed_iterator_t<R>
Expand Down Expand Up @@ -9892,7 +9871,7 @@
class Proj = identity,
@\libconcept{indirect_unary_predicate}@<projected<iterator_t<R>, Proj>> Pred>
requires @\libconcept{indirectly_copyable}@<iterator_t<R>, iterator_t<OutR1>> &&
@\libconcept{indirectly_copyable}@<iterator_t<R>, iterator_t<OutR2>>
@\libconcept{indirectly_copyable}@<iterator_t<R>, iterator_t<OutR2>>
ranges::partition_copy_result<borrowed_iterator_t<R>, borrowed_iterator_t<OutR1>,
borrowed_iterator_t<OutR2>>
ranges::partition_copy(Ep&& exec, R&& r, OutR1&& out_true_r, OutR2&& out_false_r,
Expand Down Expand Up @@ -10340,7 +10319,7 @@
template<@\exposconcept{execution-policy}@ Ep, @\exposconcept{sized-random-access-range}@ R1, @\exposconcept{sized-random-access-range}@ R2,
class Proj1 = identity, class Proj2 = identity,
@\libconcept{indirect_strict_weak_order}@<projected<iterator_t<R1>, Proj1>,
projected<iterator_t<R2>, Proj2>> Comp = ranges::less>
projected<iterator_t<R2>, Proj2>> Comp = ranges::less>
bool ranges::includes(Ep&& exec, R1&& r1, R2&& r2,
Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {});
\end{itemdecl}
Expand Down Expand Up @@ -13510,7 +13489,7 @@
\remarks
A function call expression
that violates the precondition in the \Fundescx{Preconditions} element
is not a core constant expression\iref{expr.const}.
is not a core constant expression\iref{expr.const.core}.
\end{itemdescr}

\rSec3[numeric.sat.cast]{Casting}
Expand Down
4 changes: 0 additions & 4 deletions source/back.tex
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@
\bibitem{iso4217}
ISO 4217:2015,
\doccite{Codes for the representation of currencies}
\bibitem{iso10967-1}
ISO/IEC 10967-1:2012,
\doccite{Information technology --- Language independent arithmetic ---
Part 1: Integer and floating point arithmetic}
\bibitem{iso14882:2023}
ISO/IEC 14882:2023,
\doccite{Programming Languages --- \Cpp{}}
Expand Down
Loading