From 51074104369b0ba60050fddd24685efeb8ba45c5 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 21 Jan 2019 16:49:24 -0800 Subject: [PATCH 001/148] Update configuration for building drafts after N4800. --- source/config.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/config.tex b/source/config.tex index 5fa1de17ed..0cca7ab577 100644 --- a/source/config.tex +++ b/source/config.tex @@ -1,8 +1,8 @@ %!TEX root = std.tex %%-------------------------------------------------- %% Version numbers -\newcommand{\docno}{N4800} -\newcommand{\prevdocno}{N4791} +\newcommand{\docno}{Dxxxx} +\newcommand{\prevdocno}{N4800} \newcommand{\cppver}{201703L} %% Release date From f668df034ebf27ad53b5addad22af4f1293f829f Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 10 Feb 2019 22:50:42 +0100 Subject: [PATCH 002/148] [algorithms.general,concepts.general] Add missing entries for summary tables (#2663) --- source/algorithms.tex | 4 +++- source/concepts.tex | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index 4b61488ff1..20a8ced131 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -16,11 +16,13 @@ as summarized in \tref{algorithms.summary}. \begin{libsumtab}{Algorithms library summary}{tab:algorithms.summary} +\ref{algorithms.requirements} & Algorithms requirements & \\ +\ref{algorithms.parallel} & Parallel algorithms & \\ \hline \ref{alg.nonmodifying} & Non-modifying sequence operations & \\ \ref{alg.modifying.operations} & Mutating sequence operations & \tcode{} \\ \ref{alg.sorting} & Sorting and related operations & \\ \hline \ref{numeric.ops} & Generalized numeric operations & \tcode{} \\ \rowsep -\ref{alg.c.library} & C library algorithms & \tcode{} \\ \hline +\ref{alg.c.library} & C library algorithms & \tcode{} \\ \end{libsumtab} \rSec1[algorithms.requirements]{Algorithms requirements} diff --git a/source/concepts.tex b/source/concepts.tex index 6eea186a18..c7ef715175 100644 --- a/source/concepts.tex +++ b/source/concepts.tex @@ -15,6 +15,7 @@ \tref{concepts.lib.summary}. \begin{libsumtab}{Fundamental concepts library summary}{tab:concepts.lib.summary} +\ref{concepts.equality} & Equality preservation & \\ \hline \ref{concepts.lang} & Language-related concepts & \tcode{} \\ \ref{concepts.compare} & Comparison concepts & \\ \ref{concepts.object} & Object concepts & \\ From 9f261368736c3666791329145292c1563a291861 Mon Sep 17 00:00:00 2001 From: Alberto Barbati <2210776+iaanus@users.noreply.github.com> Date: Sun, 10 Feb 2019 22:52:36 +0100 Subject: [PATCH 003/148] [temp.mem.func] Fixed text in example, which was not updated by CWG 249 (#2658) --- source/templates.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/templates.tex b/source/templates.tex index 8ce5e969de..ef6283261a 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -2182,7 +2182,7 @@ }; \end{codeblock} -declares three function templates. +declares three member functions of a class template. The subscript function might be defined like this: \begin{codeblock} From 2f0bd979f41953890129fcbdc6ef37e3e90387ad Mon Sep 17 00:00:00 2001 From: Alisdair Meredith Date: Sun, 10 Feb 2019 16:53:15 -0500 Subject: [PATCH 004/148] Add missing noexcept cross-refs for invokable traits (#2662) All the other traits that use the phrase 'is known not to throw exceptions' also cross-reference the core clause for the noexcept operator, so add the missing cross reference to the more recently added traits. --- source/utilities.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index cf2505cf07..1b483e3aff 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -17652,7 +17652,7 @@ \tcode{struct is_nothrow_invocable;} & \tcode{is_invocable_v<}\br\tcode{Fn, ArgTypes...>} is \tcode{true} and the expression \tcode{\placeholdernc{INVOKE}(declval(), declval()...)} - is known not to throw any exceptions & + is known not to throw any exceptions\iref{expr.unary.noexcept} & \tcode{Fn} and all types in the template parameter pack \tcode{ArgTypes} shall be complete types, \cv{}~\tcode{void}, or arrays of unknown bound. \\ \rowsep @@ -17662,7 +17662,7 @@ \tcode{struct is_nothrow_invocable_r;} & \tcode{is_invocable_r_v<}\br\tcode{R, Fn, ArgTypes...>} is \tcode{true} and the expression \tcode{\placeholdernc{INVOKE}(declval(), declval()...)} - is known not to throw any exceptions & + is known not to throw any exceptions\iref{expr.unary.noexcept} & \tcode{Fn}, \tcode{R}, and all types in the template parameter pack \tcode{ArgTypes} shall be complete types, \cv{}~\tcode{void}, or arrays of unknown bound. \\ From 35ce0ae2eb2582dbc00fc824afbfa1d53a64de8d Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Feb 2019 17:51:58 -0800 Subject: [PATCH 005/148] [depr.array.comp] Fix example of deprecated array comparison --- source/future.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/future.tex b/source/future.tex index a09031cb40..dd1deff5ed 100644 --- a/source/future.tex +++ b/source/future.tex @@ -67,7 +67,7 @@ \begin{codeblock} int arr1[5]; int arr2[5]; -bool same = arr1 == arr2; // deprecated, same as \tcode{\&arr[0] == \&arr[1]}, +bool same = arr1 == arr2; // deprecated, same as \tcode{\&arr1[0] == \&arr2[0]}, // does not compare array contents auto cmp = arr1 <=> arr2; // ill-formed \end{codeblock} From cafdbd8036f3cf19e9cfc2f56584b219fb190602 Mon Sep 17 00:00:00 2001 From: languagelawyer <38548419+languagelawyer@users.noreply.github.com> Date: Fri, 25 Jan 2019 00:12:44 +0300 Subject: [PATCH 006/148] [expr.sizeof]/2: there are no expressions of reference type --- source/expressions.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/expressions.tex b/source/expressions.tex index 30f4eb6cf0..c0c1807a22 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -4300,7 +4300,7 @@ \pnum \indextext{reference!\idxcode{sizeof}}% -When applied to a reference or a reference type, the result is the size +When applied to a reference type, the result is the size of the referenced type. \indextext{class object!\idxcode{sizeof}}% When applied to a class, the result is the number of bytes in an object From 8fbeb52ae5daccc0352798ff023f6cba6aebcd42 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 18 Feb 2019 17:15:39 -1000 Subject: [PATCH 007/148] [basic.link] The notion of the linkage of a type is no longer used for any purpose. Remove it and move its example next to the rule that justifies it, and simplify said example. --- source/basic.tex | 65 +++++++++++----------------------------------- source/classes.tex | 6 ++--- 2 files changed, 18 insertions(+), 53 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index af3c0804d0..8a8c9961dd 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -445,6 +445,21 @@ \ref{class.dtor}, and \ref{class.copy.assign}). An inline function or variable shall be defined in every translation unit in which it is odr-used outside of a discarded statement. +\begin{example} +\begin{codeblock} +auto f() { + struct A {}; + return A{}; +} +decltype(f()) g(); +auto x = g(); +\end{codeblock} +A program containing this translation unit is ill-formed +because \tcode{g} is odr-used but not defined, +and cannot be defined in any other translation unit +because the local class \tcode{A} cannot be named outside this +translation unit. +\end{example} \pnum \indextext{type!incomplete}% @@ -2456,56 +2471,6 @@ noted, a name declared at block scope\iref{basic.scope.block} has no linkage. -\pnum -A type is said to have linkage if and only if: -\begin{itemize} -\item it is a class or enumeration type that is named (or has a name for -linkage purposes\iref{dcl.typedef}) and the name has linkage; or - -\item it is an unnamed class or unnamed enumeration that is a member of a class -with linkage; or - -\item it is a specialization of a class template\iref{temp}\footnote{A class -template has the linkage of the innermost enclosing class or namespace in which -it is declared.}; -or - -\item it is a fundamental type\iref{basic.fundamental}; or - -\item it is a compound type\iref{basic.compound} other than a class or -enumeration, compounded exclusively from types that have linkage; or - -\item it is a cv-qualified\iref{basic.type.qualifier} version of a -type that has linkage. -\end{itemize} -\begin{note} -In other words, a type without linkage contains a class or enumeration that -cannot be named outside its translation unit. -Classes with linkage may contain members -whose types do not have linkage. -Typedef names are ignored in the determination -of whether a type has linkage. -\end{note} - -\begin{example} -\begin{codeblock} -template struct B { - void g(T) { } - void h(T); - friend void i(B, T) { } -}; - -void f() { - struct A { int x; }; // no linkage - A a = { 1 }; - B ba; // declares \tcode{B::g(A)} and \tcode{B::h(A)} - ba.g(a); // OK - ba.h(a); // error: \tcode{B::h(A)} not defined; \tcode{A} cannot be named in another translation unit - i(ba, a); // OK -} -\end{codeblock} -\end{example} - \pnum Two names that are the same\iref{basic} and that are declared in different scopes shall denote the same variable, function, diff --git a/source/classes.tex b/source/classes.tex index 26432ad745..efbb440557 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -854,8 +854,7 @@ declaration in the class definition or its definition outside of the class definition declares the function as \tcode{inline} or \tcode{constexpr}. \begin{note} -Member functions of a class in namespace scope have the linkage of that class. -Member functions of a local class\iref{class.local} have no linkage. +Member functions of a class have the linkage of the name of the class. See~\ref{basic.link}. \end{note} @@ -2846,7 +2845,8 @@ \pnum \begin{note} -Static data members of a class in namespace scope have the linkage of that class\iref{basic.link}. A local class cannot have static data members\iref{class.local}. +Static data members of a class in namespace scope have the linkage of the name of the class\iref{basic.link}. +A local class cannot have static data members\iref{class.local}. \end{note} \pnum From 7fe655909b4e5f01d8a8b71d6b508785c42c739e Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 20 Feb 2019 17:04:55 -1000 Subject: [PATCH 008/148] [temp.dep] [temp.dep.res] Remove redundant restatement of the two-phase lookup rule. The primary location of the rule is [temp.dep.candidate]. --- source/templates.tex | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/source/templates.tex b/source/templates.tex index ef6283261a..3a38870f84 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -4583,6 +4583,8 @@ (that is, its value when evaluated as a constant expression\iref{expr.const} may depend on a template parameter) as described in this subclause. + +\pnum In an expression of the form: \begin{ncsimplebnf} @@ -4619,10 +4621,12 @@ If an operand of an operator is a type-dependent expression, the operator also denotes a dependent name. +\begin{note} Such names are unbound and are looked up at the point of the template instantiation\iref{temp.point} in both the context of the template definition and the -context of the point of instantiation. +context of the point of instantiation\iref{temp.dep.candidate}. +\end{note} \pnum \begin{example} @@ -5317,21 +5321,6 @@ \end{example} \rSec2[temp.dep.res]{Dependent name resolution} - -\pnum -\indextext{name!dependent}% -In resolving dependent names, names from the following sources are considered: - -\begin{itemize} -\item -Declarations that are visible at the point of definition of the -template. -\item -Declarations from namespaces associated with the types of the -function arguments both from the instantiation context\iref{temp.point} -and from the definition context. -\end{itemize} - \rSec3[temp.point]{Point of instantiation} \pnum From 102a791b446f70f939a9b1e2e66fc3553aade19c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johel=20Ernesto=20Guerrero=20Pe=C3=B1a?= Date: Fri, 22 Feb 2019 02:30:23 -0400 Subject: [PATCH 009/148] [array.syn] Add reference to [array.tuple] --- source/containers.tex | 1 + 1 file changed, 1 insertion(+) diff --git a/source/containers.tex b/source/containers.tex index 79ed5d63c1..fcb8759848 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -3087,6 +3087,7 @@ template constexpr void swap(array& x, array& y) noexcept(noexcept(x.swap(y))); + // \ref{array.tuple}, tuple interface to class template \tcode{array} template class tuple_size; template class tuple_element; template From 6f34b0513ed6d974b86a27429f8f4d02a6c18b88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hana=20Dus=C3=ADkov=C3=A1?= Date: Fri, 22 Feb 2019 11:03:29 -1000 Subject: [PATCH 010/148] [pair.astuple, tuple.helper] Fix inconsistent class key in tuple_size/tuple_element. (#2679) It was declared as a struct and specializations were classes. --- source/containers.tex | 4 ++-- source/utilities.tex | 41 ++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index fcb8759848..02a4ac451b 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -3088,8 +3088,8 @@ constexpr void swap(array& x, array& y) noexcept(noexcept(x.swap(y))); // \ref{array.tuple}, tuple interface to class template \tcode{array} - template class tuple_size; - template class tuple_element; + template struct tuple_size; + template struct tuple_element; template struct tuple_size>; template diff --git a/source/utilities.tex b/source/utilities.tex index 1b483e3aff..f68c9f9442 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -120,8 +120,8 @@ constexpr @\seebelow@ make_pair(T1&&, T2&&); // \ref{pair.astuple}, tuple-like access to pair - template class tuple_size; - template class tuple_element; + template struct tuple_size; + template struct tuple_element; template struct tuple_size>; template struct tuple_element>; @@ -1018,20 +1018,20 @@ constexpr T make_from_tuple(Tuple&& t); // \ref{tuple.helper}, tuple helper classes - template class tuple_size; // not defined - template class tuple_size; - template class tuple_size; - template class tuple_size; + template struct tuple_size; // not defined + template struct tuple_size; + template struct tuple_size; + template struct tuple_size; - template class tuple_size>; + template struct tuple_size>; - template class tuple_element; // not defined - template class tuple_element; - template class tuple_element; - template class tuple_element; + template struct tuple_element; // not defined + template struct tuple_element; + template struct tuple_element; + template struct tuple_element; template - class tuple_element>; + struct tuple_element>; template using tuple_element_t = typename tuple_element::type; @@ -1794,14 +1794,13 @@ \indexlibrary{\idxcode{tuple_size}}% \begin{itemdecl} template - class tuple_size> : public integral_constant { }; + struct tuple_size> : public integral_constant { }; \end{itemdecl} \indexlibrary{\idxcode{tuple_element}}% \begin{itemdecl} template - class tuple_element> { - public: + struct tuple_element> { using type = TI; }; \end{itemdecl} @@ -1819,9 +1818,9 @@ \indexlibrary{\idxcode{tuple_size}}% \begin{itemdecl} -template class tuple_size; -template class tuple_size; -template class tuple_size; +template struct tuple_size; +template struct tuple_size; +template struct tuple_size; \end{itemdecl} \begin{itemdescr} @@ -1857,9 +1856,9 @@ \indexlibrary{\idxcode{tuple_element}}% \begin{itemdecl} -template class tuple_element; -template class tuple_element; -template class tuple_element; +template struct tuple_element; +template struct tuple_element; +template struct tuple_element; \end{itemdecl} \begin{itemdescr} From f3a6b2e671efdee5bacb74a5ea01d4bfb1900d3e Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 19 Feb 2019 16:31:16 -1000 Subject: [PATCH 011/148] CWG2256 Lifetime of trivially-destructible objects [basic.life]p1 Add "a" before the array. --- source/basic.tex | 37 +++++++++++++++++++------------------ source/classes.tex | 1 - source/declarations.tex | 7 ++++++- source/exceptions.tex | 8 ++++---- source/statements.tex | 13 +++++++------ 5 files changed, 36 insertions(+), 30 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 8a8c9961dd..74122bc3b8 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -2802,15 +2802,17 @@ \indextext{object lifetime|(}% The \defn{lifetime} of an object or reference is a runtime property of the object or reference. -An object is said to have \defnadj{non-vacuous}{initialization} if it is of a class or -array type and it or one of its subobjects is initialized by a constructor -other than a trivial default constructor. \begin{note} Initialization by a -trivial copy/move constructor is non-vacuous initialization. \end{note} +\indextext{initialization!vacuous}% +A variable is said to have \defn{vacuous initialization} +if it is default-initialized and, +if it is of class type or a (possibly multi-dimensional) array thereof, +that class type has a trivial default constructor. The lifetime of an object of type \tcode{T} begins when: \begin{itemize} -\item storage with the proper alignment and size for type \tcode{T} is -obtained, and -\item if the object has non-vacuous initialization, its initialization is complete, +\item storage with the proper alignment and size + for type \tcode{T} is obtained, and +\item its initialization (if any) is complete + (including vacuous initialization)\iref{dcl.init}, \end{itemize} except that if the object is a union member or subobject thereof, its lifetime only begins if that union member is the @@ -2818,8 +2820,8 @@ or as described in \ref{class.union}. The lifetime of an object \placeholder{o} of type \tcode{T} ends when: \begin{itemize} -\item if \tcode{T} is a class type with a non-trivial -destructor\iref{class.dtor}, the destructor call starts, or +\item if \tcode{T} is a non-class type, the object is destroyed, or +\item if \tcode{T} is a class type, the destructor call starts, or \item the storage which the object occupies is released, or is reused by an object that is not nested within \placeholder{o}\iref{intro.object}. \end{itemize} @@ -5974,26 +5976,25 @@ \indextext{program!termination|(}% \indextext{object!destructor static}% \indextext{\idxcode{main} function!return from}% -Destructors\iref{class.dtor} for initialized objects -(that is, objects whose lifetime\iref{basic.life} has begun) -with static storage duration, -and functions registered with \tcode{std::atexit}, +Constructed objects\iref{dcl.init} +with static storage duration are destroyed +and functions registered with \tcode{std::atexit} are called as part of a call to \indextext{\idxcode{exit}}% \indexlibrary{\idxcode{exit}}% \tcode{std::exit}\iref{support.start.term}. The call to \tcode{std::exit} is sequenced before -the invocations of the destructors and the registered functions. +the destructions and the registered functions. \begin{note} Returning from \tcode{main} invokes \tcode{std::exit}\iref{basic.start.main}. \end{note} \pnum -Destructors for initialized objects with thread storage duration within a given thread -are called as a result of returning from the initial function of that thread and as a +Constructed objects with thread storage duration within a given thread +are destroyed as a result of returning from the initial function of that thread and as a result of that thread calling \tcode{std::exit}. -The completions of the destructors for all initialized objects with thread storage -duration within that thread strongly happen before the initiation of the destructors of +The destruction of all constructed objects with thread storage +duration within that thread strongly happens before destroying any object with static storage duration. \pnum diff --git a/source/classes.tex b/source/classes.tex index efbb440557..1f8135c053 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -2120,7 +2120,6 @@ \tcode{virtual}. \pnum -A destructor is used to destroy objects of its class type. \indextext{restriction!destructor}% The address of a destructor shall not be taken. \indextext{\idxcode{const}!destructor and}% diff --git a/source/declarations.tex b/source/declarations.tex index 591d7c5c4d..f9eb97ac2b 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -4469,13 +4469,18 @@ \pnum An object whose initialization has completed is deemed to be constructed, -even if no constructor of the object's class +even if the object is of non-class type or +no constructor of the object's class is invoked for the initialization. \begin{note} Such an object might have been value-initialized or initialized by aggregate initialization\iref{dcl.init.aggr} or by an inherited constructor\iref{class.inhctor.init}. \end{note} +Destroying an object of class type invokes the destructor of the class. +Destroying a scalar type has no effect other than +ending the lifetime of the object\iref{basic.life}. +Destroying an array destroys each element in reverse subscript order. \pnum A declaration that specifies the initialization of a variable, diff --git a/source/exceptions.tex b/source/exceptions.tex index 22947b9438..71fc74633e 100644 --- a/source/exceptions.tex +++ b/source/exceptions.tex @@ -365,12 +365,12 @@ \indextext{unwinding!stack}% As control passes from the point where an exception is thrown to a handler, -destructors are invoked by a process, specified in this subclause, called -\defn{stack unwinding}. +objects with automatic storage duration are destroyed by a process, +specified in this subclause, called \defn{stack unwinding}. \pnum -The destructor is invoked for each automatic object of class type constructed, -but not yet destroyed, +Each object with automatic storage duration is destroyed if it has been +constructed, but not yet destroyed, since the try block was entered. If an exception is thrown during the destruction of temporaries or local variables for a \tcode{return} statement\iref{stmt.return}, diff --git a/source/statements.tex b/source/statements.tex index 6a18726066..b080d787e3 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -714,7 +714,7 @@ \indextext{\idxcode{abort}}% \indexlibrary{\idxcode{abort}}% \tcode{std::abort()}\iref{support.start.term}, for example) without -destroying class objects with automatic storage duration. +destroying objects with automatic storage duration. \end{note} \rSec2[stmt.break]{The \tcode{break} statement}% @@ -876,9 +876,10 @@ A program that jumps\footnote{The transfer from the condition of a \tcode{switch} statement to a \tcode{case} label is considered a jump in this respect.} from a point where a variable with automatic storage duration is -not in scope to a point where it is in scope is ill-formed unless the -variable has scalar type, class type with a trivial default constructor and a trivial destructor, a cv-qualified version of one of these types, or an array of one of the preceding types and is declared without an -\grammarterm{initializer}\iref{dcl.init}. +not in scope to a point where it is in scope is ill-formed unless +the variable has vacuous initialization\iref{dcl.init}. +In such a case, the variables with vacuous initialization +are constructed in the order of their declaration. \begin{example} \begin{codeblock} @@ -929,8 +930,8 @@ \pnum \indextext{\idxcode{static}!destruction of local}% -The destructor for a block-scope object with static or thread storage duration will be -executed if and only if it was constructed. +A block-scope object with static or thread storage duration will be +destroyed if and only if it was constructed. \begin{note} \ref{basic.start.term} describes the order in which block-scope objects with static and thread storage duration are destroyed. From b0248ef51bf02c54bd4ca514e9a6091660e7aef9 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 19 Feb 2019 16:43:47 -1000 Subject: [PATCH 012/148] CWG2267 Copy-initialization of temporary in reference direct-initialization [dcl.init.list] Fix example of reference list-initialization to use list-initialization. --- source/declarations.tex | 8 +++++--- source/overloading.tex | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index f9eb97ac2b..380802c986 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -5591,9 +5591,7 @@ \item Otherwise, if \tcode{T} is a reference type, a prvalue of the type referenced by \tcode{T} is generated. -The prvalue initializes its result object by -copy-list-initialization or direct-list-initialization, -depending on the kind of initialization for the reference. +The prvalue initializes its result object by copy-list-initialization. The prvalue is then used to direct-initialize the reference. \begin{note} As usual, the binding will fail and the program is ill-formed if the reference type is an lvalue reference to a non-const type. \end{note} @@ -5611,6 +5609,10 @@ const int& i1 = { 1 }; // OK const int& i2 = { 1.1 }; // error: narrowing const int (&iar)[2] = { 1, 2 }; // OK: \tcode{iar} is bound to temporary array + +struct A { } a; +struct B { explicit B(const A&); }; +const B &b2{a}; // error: cannot copy-list-initialize \tcode{B} temporary from \tcode{A} \end{codeblock} \end{example} diff --git a/source/overloading.tex b/source/overloading.tex index 0602fc540a..2e1b9b2e32 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -1406,9 +1406,11 @@ with ``\cvqual{cv2} \tcode{T2}'', are candidate functions. For direct-initialization, those explicit conversion functions that are not hidden within \tcode{S} and yield -type ``lvalue reference to \cvqual{cv2} \tcode{T2}'' or ``\cvqual{cv2} -\tcode{T2}'' or ``rvalue reference to \cvqual{cv2} \tcode{T2}'', -respectively, where \tcode{T2} is the same type as \tcode{T} or can be +type ``lvalue reference to \cvqual{cv2} \tcode{T2}'' +(when initializing an lvalue reference or an rvalue reference to function) +or ``rvalue reference to \cvqual{cv2} \tcode{T2}'' +(when initializing an rvalue reference or an lvalue reference to function), +where \tcode{T2} is the same type as \tcode{T} or can be converted to type \tcode{T} with a qualification conversion\iref{conv.qual}, are also candidate functions. From a4154abb70b6601067bdd26ed4f856e38819ccca Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 19 Feb 2019 16:48:55 -1000 Subject: [PATCH 013/148] CWG2278 Copy elision in constant expressions reconsidered --- source/classes.tex | 4 ++-- source/declarations.tex | 2 +- source/expressions.tex | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/classes.tex b/source/classes.tex index 1f8135c053..7008d06b61 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -6505,12 +6505,12 @@ \begin{note} There cannot be a move from the exception object because it is always an lvalue. \end{note} \end{itemize} -Copy elision is required +Copy elision is not permitted where an expression is evaluated in a context requiring a constant expression\iref{expr.const} and in constant initialization\iref{basic.start.static}. \begin{note} -Copy elision might not be performed +Copy elision might be performed if the same expression is evaluated in another context. \end{note} diff --git a/source/declarations.tex b/source/declarations.tex index 380802c986..08452b6d17 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -955,7 +955,7 @@ a call to a constexpr function can appear in a constant expression\iref{expr.const} and \item -copy elision is mandatory in a constant expression\iref{class.copy.elision}. +copy elision is not performed in a constant expression\iref{class.copy.elision}. \end{itemize} \pnum diff --git a/source/expressions.tex b/source/expressions.tex index c0c1807a22..d399decec0 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -6505,7 +6505,7 @@ requirements as detailed in this subclause; other contexts have different semantics depending on whether or not an expression satisfies these requirements. Expressions that satisfy these requirements, -assuming that copy elision is performed, +assuming that copy elision\iref{class.copy.elision} is not performed, are called \indexdefn{expression!constant}% \defnx{constant expressions}{constant expression}. \begin{note} Constant expressions can be evaluated From a429e4336e7799e58145c82c0944ec98e6e472da Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 19 Feb 2019 17:01:53 -1000 Subject: [PATCH 014/148] CWG2303 Partial ordering and recursive variadic inheritance --- source/templates.tex | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/source/templates.tex b/source/templates.tex index 3a38870f84..ee611edce9 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -7524,7 +7524,7 @@ \grammarterm{simple-template-id}, then the transformed \tcode{A} -can be a derived class of the +can be a derived class \tcode{D} of the deduced \tcode{A}. Likewise, if @@ -7533,8 +7533,28 @@ \grammarterm{simple-template-id}, the transformed \tcode{A} can be a pointer to a -derived class pointed to by the deduced +derived class \tcode{D} pointed to by the deduced \tcode{A}. +However, if there is a class \tcode{C} that is +a (direct or indirect) base class of \tcode{D} and +derived (directly or indirectly) from a class \tcode{B} and +that would be a valid deduced \tcode{A}, +the deduced \tcode{A} cannot be \tcode{B} or pointer to \tcode{B}, +respectively. +\begin{example} +\begin{codeblock} +template struct X; +template <> struct X<> {}; +template + struct X : X {}; +struct D : X {}; + +template +int f(const X&); +int x = f(D()); // calls \tcode{f}, not \tcode{f<>} + // \tcode{B} is \tcode{X<>}, \tcode{C} is \tcode{X} +\end{codeblock} +\end{example} \end{itemize} \pnum From f5b40a0bc60a7224f7b41e197afebed2250cf346 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 09:33:18 -1000 Subject: [PATCH 015/148] CWG2309 Restrictions on nested statements within constexpr functions --- source/declarations.tex | 4 ++-- source/statements.tex | 42 ++++++++++++++++++++++++++++++++++++++--- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index 08452b6d17..0421bcab81 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -810,7 +810,7 @@ each of its parameter types shall be a literal type; \item -its \grammarterm{function-body} shall not contain +its \grammarterm{function-body} shall not enclose\iref{stmt.stmt} \begin{itemize} \item an \grammarterm{asm-definition}, \item a \tcode{goto} statement, @@ -822,7 +822,7 @@ \end{itemize} \begin{note} A \grammarterm{function-body} that is \tcode{= delete} or \tcode{= default} -contains none of the above. +encloses none of the above. \end{note} \end{itemize} diff --git a/source/statements.tex b/source/statements.tex index b080d787e3..e065fced45 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -31,6 +31,43 @@ The optional \grammarterm{attribute-specifier-seq} appertains to the respective statement. +\pnum +A \defn{substatement} of a \grammarterm{statement} is one of the following: +\begin{itemize} +\item + for a \grammarterm{labeled-statement}, its contained \grammarterm{statement}, +\item + for a \grammarterm{compound-statement}, any \grammarterm{statement} of its \grammarterm{statement-seq}, +\item + for a \grammarterm{selection-statement}, any of its \grammarterm{statement}{s} (but not its \grammarterm{init-statement}), or +\item + for an \grammarterm{iteration-statement}, its contained \grammarterm{statement} (but not an \grammarterm{init-statement}). +\end{itemize} +\begin{note} +The \grammarterm{compound-statement} of a \grammarterm{lambda-expression} +is not a substatement of the \grammarterm{statement} (if any) +in which the \grammarterm{lambda-expression} lexically appears. +\end{note} + +\pnum +A \grammarterm{statement} \tcode{S1} \defnx{encloses}{enclosing statement} +a \grammarterm{statement} \tcode{S2} if +\begin{itemize} +\item + \tcode{S2} is a substatement of \tcode{S1}\iref{dcl.dcl}, +\item + \tcode{S1} is a \grammarterm{selection-statement} or + \grammarterm{iteration-statement} and + \tcode{S2} is the \grammarterm{init-statement} of \tcode{S1}, +\item + \tcode{S1} is a \grammarterm{try-block} and \tcode{S2} + is its \grammarterm{compound-statement} or + any of the \grammarterm{compound-statement}{s} of + its \grammarterm{handler}{s}, or +\item + \tcode{S1} encloses a statement \tcode{S3} and \tcode{S3} encloses \tcode{S2}. +\end{itemize} + \pnum \indextext{\idxgram{condition}{s}!rules for}% The rules for \grammarterm{condition}{s} apply both to @@ -208,9 +245,8 @@ \begin{note} An \grammarterm{init-statement} ends with a semicolon. \end{note} -In \ref{stmt.stmt}, the term \term{substatement} refers to -the contained \grammarterm{statement} or \grammarterm{statement}{s} that appear -in the syntax notation. + +\pnum \indextext{scope!\idxgram{selection-statement}}% The substatement in a \grammarterm{selection-statement} (each substatement, in the \tcode{else} form of the \tcode{if} statement) implicitly defines From afbe0ecb8ea139961536128baf97498d9462b488 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 09:41:02 -1000 Subject: [PATCH 016/148] CWG2310 Type completeness and derived-to-base pointer conversions --- source/expressions.tex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index d399decec0..2224ec1acf 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -973,7 +973,7 @@ \pnum A prvalue of type ``pointer to \cv{} \tcode{D}'', where \tcode{D} -is a class type, can be converted to a prvalue of type ``pointer to +is a complete class type, can be converted to a prvalue of type ``pointer to \cv{} \tcode{B}'', where \tcode{B} is a base class\iref{class.derived} of \tcode{D}. If \tcode{B} is an inaccessible\iref{class.access} or @@ -1005,8 +1005,8 @@ A prvalue of type ``pointer to member of \tcode{B} of type \cv{} \tcode{T}'', where \tcode{B} is a class type, can be converted to a prvalue of type ``pointer to member of \tcode{D} of type \cv{} -\tcode{T}'', where \tcode{D} is a derived class\iref{class.derived} -of \tcode{B}. If \tcode{B} is an +\tcode{T}'', where \tcode{D} is a complete class derived\iref{class.derived} +from \tcode{B}. If \tcode{B} is an inaccessible\iref{class.access}, ambiguous\iref{class.member.lookup}, or virtual\iref{class.mi} base class of \tcode{D}, or a base class of a virtual base class of @@ -3712,7 +3712,7 @@ \indextext{cast!base class}% \indextext{cast!derived class}% A prvalue of type ``pointer to \cvqual{cv1} \tcode{B}'', where \tcode{B} -is a class type, can be converted to a prvalue of type ``pointer to +is a complete class type, can be converted to a prvalue of type ``pointer to \cvqual{cv2} \tcode{D}'', where \tcode{D} is a class derived\iref{class.derived} from \tcode{B}, if \cvqual{cv2} is the same cv-qualification as, @@ -3733,7 +3733,7 @@ A prvalue of type ``pointer to member of \tcode{D} of type \cvqual{cv1} \tcode{T}'' can be converted to a prvalue of type ``pointer to member of \tcode{B} of type \cvqual{cv2} \tcode{T}'', where \tcode{B} is a base -class\iref{class.derived} of \tcode{D}, +class\iref{class.derived} of a complete class \tcode{D}, if \cvqual{cv2} is the same cv-qualification as, or greater cv-qualification than, \cvqual{cv1}.\footnote{Function types (including those used in pointer-to-member-function From f4346ece403e469e800d635a75baafb9c411aa1b Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 8 Mar 2019 11:39:36 -0800 Subject: [PATCH 017/148] [expr.static.cast] Fix wording of CWG2310 to match CWG intent (verified on core reflector): - in p11, require D to be a complete class type, not B - in p12, rephrase to avoid the suggestion that we're talking about a different D than the one already in scope --- source/expressions.tex | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 2224ec1acf..97e51c451e 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -3712,8 +3712,9 @@ \indextext{cast!base class}% \indextext{cast!derived class}% A prvalue of type ``pointer to \cvqual{cv1} \tcode{B}'', where \tcode{B} -is a complete class type, can be converted to a prvalue of type ``pointer to -\cvqual{cv2} \tcode{D}'', where \tcode{D} is a class derived\iref{class.derived} +is a class type, can be converted to a prvalue of type ``pointer to +\cvqual{cv2} \tcode{D}'', +where \tcode{D} is a complete class derived\iref{class.derived} from \tcode{B}, if \cvqual{cv2} is the same cv-qualification as, or greater cv-qualification than, \cvqual{cv1}. @@ -3732,8 +3733,9 @@ \indextext{cast!pointer-to-member}% A prvalue of type ``pointer to member of \tcode{D} of type \cvqual{cv1} \tcode{T}'' can be converted to a prvalue of type ``pointer to member of -\tcode{B} of type \cvqual{cv2} \tcode{T}'', where \tcode{B} is a base -class\iref{class.derived} of a complete class \tcode{D}, +\tcode{B} of type \cvqual{cv2} \tcode{T}'', where +\tcode{D} is a complete class type and +\tcode{B} is a base class\iref{class.derived} of \tcode{D}, if \cvqual{cv2} is the same cv-qualification as, or greater cv-qualification than, \cvqual{cv1}.\footnote{Function types (including those used in pointer-to-member-function From 3cee0dee7785e79145b660364d4b8244086a5df4 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 09:44:13 -1000 Subject: [PATCH 018/148] CWG2317 Self-referential default member initializers --- source/declarations.tex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/declarations.tex b/source/declarations.tex index 0421bcab81..4db247eeab 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -4809,7 +4809,7 @@ \end{example} \pnum -If a reference member is initialized from its default member initializer +If a member has a default member initializer and a potentially-evaluated subexpression thereof is an aggregate initialization that would use that default member initializer, the program is ill-formed. @@ -4822,6 +4822,10 @@ const A& a2 { A{} }; // error }; A a{a,a}; // OK + + struct B { + int n = B{}.n; // error + }; \end{codeblock} \end{example} From 0d03551c8b420fb258ff802a0a7f5fbda47db7fc Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 10:33:41 -1000 Subject: [PATCH 019/148] CWG2318 Nondeduced contexts in deduction from a braced-init-list --- source/templates.tex | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/source/templates.tex b/source/templates.tex index ee611edce9..68ca27b41e 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -7335,14 +7335,15 @@ \tcode{A}) as described below. If removing references and cv-qualifiers from \tcode{P} gives -\tcode{std::initializer_list} -or \tcode{P$'$[N]} -for some \tcode{P$'$} and \tcode{N} and the +\tcode{std::initializer_list} +or $\tcode{P}'\tcode{[N]}$ +for some $\tcode{P}'$ and \tcode{N} and the argument is a non-empty initializer list\iref{dcl.init.list}, then deduction is -performed instead for each element of the initializer list, taking -\tcode{P$'$} as a function template parameter type and the initializer -element as its argument, -and in the \tcode{P$'$[N]} case, if \tcode{N} is a non-type template parameter, +performed instead for each element of the initializer list independently, +taking $\tcode{P}'$ +as separate function template parameter types $\tcode{P}'_i$ +and the $i^\text{th}$ initializer element as the corresponding argument. +In the $\tcode{P}'\tcode{[N]}$ case, if \tcode{N} is a non-type template parameter, \tcode{N} is deduced from the length of the initializer list. Otherwise, an initializer list argument causes the parameter to be considered a non-deduced context\iref{temp.deduct.type}. @@ -7371,6 +7372,14 @@ template void n(T const(&)[N], T); n({{1},{2},{3}},Aggr()); // OK, \tcode{T} is \tcode{Aggr}, \tcode{N} is \tcode{3} + +template void o(T (* const (&)[N])(T)) { } +int f1(int); +int f4(int); +char f4(char); +o({ &f1, &f4 }); // OK, \tcode{T} deduced as \tcode{int} from first element, nothing + // deduced from second element, \tcode{N} deduced as \tcode{2} +o({ &f1, static_cast(&f4) }); // error: conflicting deductions for \tcode{T} \end{codeblock} \end{example} For a function parameter pack that occurs at the end From 3b5f554b3c77f42979f9404fe0d2af05a9122eb9 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 10:39:16 -1000 Subject: [PATCH 020/148] CWG2330 Missing references to variable templates [temp.spec] Added Oxford commas. --- source/templates.tex | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/source/templates.tex b/source/templates.tex index 68ca27b41e..b32898fb35 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -5467,7 +5467,8 @@ \pnum \indextext{specialization!template}% -The act of instantiating a function, a class, a member of a class template or +The act of instantiating a function, a variable, +a class, a member of a class template, or a member template is referred to as \defn{template instantiation}. @@ -5490,12 +5491,14 @@ \pnum An explicit specialization may be declared for a function template, -a class template, a member of a class template or a member template. +a variable template, a class template, a member of a class template, or +a member template. An explicit specialization declaration is introduced by \tcode{template<>}. -In an explicit specialization declaration for a class template, +In an explicit specialization declaration for +a variable template, a class template, a member of a class template or a class member template, -the name of the class that is explicitly specialized shall be a +the name of the variable or class that is explicitly specialized shall be a \grammarterm{simple-template-id}. In the explicit specialization declaration for a function template or a member function template, @@ -5527,7 +5530,7 @@ An instantiated template specialization can be either implicitly instantiated\iref{temp.inst} for a given argument list or be explicitly instantiated\iref{temp.explicit}. -A specialization is a class, function, or class member that is either +A specialization is a class, variable, function, or class member that is either instantiated or explicitly specialized\iref{temp.expl.spec}. \pnum From 8d6502d13d4b09ec554242596cc453eecf7799f2 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 10:49:22 -1000 Subject: [PATCH 021/148] CWG2332 template-name as simple-type-name vs injected-class-name --- source/declarations.tex | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index 4db247eeab..8c7b32c56c 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -1310,8 +1310,11 @@ \opt{\tcode{typename}} \opt{\grammarterm{nested-name-specifier}} \grammarterm{template-name} is a placeholder for a deduced class type\iref{dcl.type.class.deduct}. -The \grammarterm{template-name} shall name a class template -that is not an injected-class-name. +The \grammarterm{template-name} shall name a class template. +\begin{note} +An injected-class-name is never interpreted as a \grammarterm{template-name} +in contexts where a \grammarterm{type-specifier} may appear\iref{temp.local}. +\end{note} The other \grammarterm{simple-type-specifier}{s} specify either a previously-declared type, a type determined from an From 502e419ca75c9656394d1998036b4b810e8bdb17 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 8 Mar 2019 12:00:26 -0800 Subject: [PATCH 022/148] [dcl.type.simple] Fix inaccurate note added by CWG2332 [temp.local] Clarify that the surrounding syntax and construct directly dictates whether an injected-class-name is syntactically a template-name or a type-name, not just what it means. --- source/declarations.tex | 2 +- source/templates.tex | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index 8c7b32c56c..e39b7ea9b0 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -1313,7 +1313,7 @@ The \grammarterm{template-name} shall name a class template. \begin{note} An injected-class-name is never interpreted as a \grammarterm{template-name} -in contexts where a \grammarterm{type-specifier} may appear\iref{temp.local}. +in contexts where class template argument deduction would be performed\iref{temp.local}. \end{note} The other \grammarterm{simple-type-specifier}{s} diff --git a/source/templates.tex b/source/templates.tex index b32898fb35..c9008923a7 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -4379,8 +4379,10 @@ as a \grammarterm{template-argument} for a template \grammarterm{template-parameter}, or as the final identifier in the \grammarterm{elaborated-type-specifier} of a friend class template declaration, -it refers to the -class template itself. Otherwise, it is equivalent to the \grammarterm{template-name} +it is a \grammarterm{template-name} that refers to the +class template itself. +Otherwise, it is a \grammarterm{type-name} +equivalent to the \grammarterm{template-name} followed by the \grammarterm{template-parameter}{s} of the class template enclosed in \tcode{<>}. From 98d7e6e8011cc37e1a6519ac7c60d5c8bbb6652b Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 10:52:22 -1000 Subject: [PATCH 023/148] CWG2336 Destructor characteristics vs potentially-constructed subobjects --- source/exceptions.tex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/exceptions.tex b/source/exceptions.tex index 71fc74633e..438b4fbb0f 100644 --- a/source/exceptions.tex +++ b/source/exceptions.tex @@ -882,7 +882,9 @@ is potentially-throwing if and only if any of the destructors for any of its potentially constructed subobjects -is potentially throwing. +is potentially-throwing or +the destructor is virtual and the destructor of any virtual base class +is potentially-throwing. \pnum The exception specification for an implicitly-declared assignment operator, From 73fea44b932dbc722a7abebf2c9af9e1793c93ab Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 11:01:43 -1000 Subject: [PATCH 024/148] CWG2352 Similar types and reference binding --- source/declarations.tex | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index e39b7ea9b0..b12d074dfd 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -5178,29 +5178,17 @@ Given types ``\cvqual{cv1} \tcode{T1}'' and ``\cvqual{cv2} \tcode{T2}'', ``\cvqual{cv1} \tcode{T1}'' is \defn{reference-related} to ``\cvqual{cv2} \tcode{T2}'' if -\tcode{T1} is the same type as \tcode{T2}, or +\tcode{T1} is similar\iref{conv.qual} to \tcode{T2}, or \tcode{T1} is a base class of \tcode{T2}. ``\cvqual{cv1} \tcode{T1}'' is \defn{reference-compatible} with ``\cvqual{cv2} \tcode{T2}'' if -\begin{itemize} -\item \tcode{T1} is reference-related to \tcode{T2}, or -\item \tcode{T2} is ``\tcode{noexcept} function'' and \tcode{T1} is ``function'', -where the function types are otherwise the same, -\end{itemize} -and -\cvqual{cv1} -is the same cv-qualification as, or greater cv-qualification than, -\cvqual{cv2}. -In all cases where the reference-related or reference-compatible relationship -of two types is used to establish the validity of a reference binding, and -\tcode{T1} -is a base class of -\tcode{T2}, -a program that necessitates such a binding is ill-formed if -\tcode{T1} -is an inaccessible\iref{class.access} or ambiguous\iref{class.member.lookup} -base class of -\tcode{T2}. +a prvalue of type ``pointer to \cvqual{cv2} \tcode{T2}'' can be converted to +the type ``pointer to \cvqual{cv1} \tcode{T1}'' +via a standard conversion sequence\iref{conv}. +In all cases where the reference-compatible relationship +of two types is used to establish the validity of a reference binding and +the standard conversion sequence would be ill-formed, +a program that necessitates such a binding is ill-formed. \pnum A reference to type ``\cvqual{cv1} \tcode{T1}'' is initialized by From 9f5c64c24aff84de55d8a9baab1699c5ea91fed9 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 11:12:11 -1000 Subject: [PATCH 025/148] CWG2358 Explicit capture of value --- source/expressions.tex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/expressions.tex b/source/expressions.tex index 97e51c451e..3e369e9ca1 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -2201,7 +2201,11 @@ \pnum A \grammarterm{lambda-expression} appearing in a default argument shall not -implicitly or explicitly capture any entity. +implicitly or explicitly capture any entity, +except for an \grammarterm{init-capture} for which +any full-expression in its \grammarterm{initializer} +satisfies the constraints of an expression appearing in +a default argument\iref{dcl.fct.default}. \begin{example} \begin{codeblock} void f2() { @@ -2211,6 +2215,8 @@ void g3(int = ([=]{ return i; })()); // ill-formed void g4(int = ([=]{ return 0; })()); // OK void g5(int = ([]{ return sizeof i; })()); // OK + void g6(int = ([x=1]{ return x; })(); // OK + void g7(int = ([x=i]{ return x; })(); // ill-formed } \end{codeblock} \end{example} From 27f5ad594ce343b658d673728f4020e65f1c09ca Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 11:18:52 -1000 Subject: [PATCH 026/148] CWG2360 [[maybe_unused]] and structured bindings --- source/declarations.tex | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index b12d074dfd..f4cbd195af 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -8782,15 +8782,19 @@ \pnum The attribute may be applied to the declaration of a class, -a \grammarterm{typedef-name}, a variable, a non-static data member, +a \grammarterm{typedef-name}, +a variable (including a structured binding declaration), +a non-static data member, a function, an enumeration, or an enumerator. \pnum -\begin{note} -For an entity marked \tcode{maybe_unused}, implementations -should not emit a warning that the entity is unused, or -that the entity is used despite the presence of the attribute. -\end{note} +For an entity marked \tcode{maybe_unused}, +implementations should not emit a warning +that the entity or its structured bindings (if any) +are used or unused. +For a structured binding declaration not marked \tcode{maybe_unused}, +implementations should not emit such a warning unless +all of its structured bindings are unused. \pnum A name or entity declared without the \tcode{maybe_unused} attribute From ac732bfe4eef01e9e2443dac6138270695d7cbf9 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 8 Mar 2019 12:24:49 -0800 Subject: [PATCH 027/148] [expr.prim.lambda.capture] Add missing close parentheses in CWG2358 examples. Fixes #2680. --- source/expressions.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 3e369e9ca1..6df82e16cd 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -2215,8 +2215,8 @@ void g3(int = ([=]{ return i; })()); // ill-formed void g4(int = ([=]{ return 0; })()); // OK void g5(int = ([]{ return sizeof i; })()); // OK - void g6(int = ([x=1]{ return x; })(); // OK - void g7(int = ([x=i]{ return x; })(); // ill-formed + void g6(int = ([x=1]{ return x; })()); // OK + void g7(int = ([x=i]{ return x; })()); // ill-formed } \end{codeblock} \end{example} From 2124f87dae1b33d92a10eacaed47ab5d20fa5f03 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 01:17:00 -1000 Subject: [PATCH 028/148] CWG581 Can a templated constructor be explicitly instantiated or specialized? --- source/templates.tex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/templates.tex b/source/templates.tex index c9008923a7..fb3a424132 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -6809,7 +6809,8 @@ \pnum \indextext{specification!template argument}% Template arguments can be specified when referring to a function -template specialization by qualifying the function template +template specialization that is not a specialization of a constructor template +by qualifying the function template name with the list of \grammarterm{template-argument}{s} in the same way as @@ -6834,6 +6835,11 @@ \end{codeblock} \end{example} +\pnum +Template arguments shall not be specified +when referring to a specialization of +a constructor template~(\ref{class.ctor}, \ref{class.qual}). + \pnum A template argument list may be specified when referring to a specialization of a function template From c9cb45e3a7c0b8f656ef6dcf32aba2b6aab02ef7 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 01:30:23 -1000 Subject: [PATCH 029/148] CWG1937 Incomplete specification of function pointer from lambda [expr.prim.lambda.closure]p9 Repeat F for clarity. --- source/expressions.tex | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 6df82e16cd..3359e166ac 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -1766,11 +1766,14 @@ has a non-throwing exception specification. The value returned by this conversion function is the address of a function \tcode{F} that, when invoked, -has the same effect as invoking the closure type's function call operator. +has the same effect as invoking the closure type's function call operator +on a default-constructed instance of the closure type. \tcode{F} is a constexpr function if the function call operator is a constexpr function and is an immediate function if the function call operator is an immediate function. + +\pnum For a generic lambda with no \grammarterm{lambda-capture}, the closure type has a conversion function template to pointer to function. The conversion function template has the same invented @@ -1835,9 +1838,11 @@ The value returned by any given specialization of this conversion function template is the address of a function \tcode{F} that, when invoked, has the same effect as invoking the generic lambda's corresponding function call operator -template specialization. +template specialization on a default-constructed instance of the closure type. \tcode{F} is a constexpr function -if the corresponding specialization is a constexpr function. +if the corresponding specialization is a constexpr function and +\tcode{F} is an immediate function +if the function call operator template specialization is an immediate function. \begin{note} This will result in the implicit instantiation of the generic lambda's body. The instantiated generic lambda's return type and parameter types shall match From 942f88d13a7236f93e3fb67f6eedeb873eb99910 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 01:39:10 -1000 Subject: [PATCH 030/148] CWG1938 Should hosted/freestanding be implementation-defined? [compliance]p1 Add a semi-colon to separate the two statements. --- source/lib-intro.tex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/lib-intro.tex b/source/lib-intro.tex index 73eb33690a..5ecb503d8b 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -1477,7 +1477,9 @@ Two kinds of implementations are defined: \defnx{hosted}{implementation!hosted} and -\defnx{freestanding}{implementation!freestanding}\iref{intro.compliance}. +\defnx{freestanding}{implementation!freestanding}\iref{intro.compliance}; +the kind of the implementation is +\impldef{whether the implementation is hosted or freestanding}. For a hosted implementation, this document describes the set of available headers. From 764dceab30772a7453adcef5ef2cf4e1f37d183f Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 08:41:04 -1000 Subject: [PATCH 031/148] CWG2020 Inadequate description of odr-use of implicitly-invoked functions --- source/basic.tex | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 74122bc3b8..b3ef940c75 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -279,8 +279,10 @@ \pnum \indextext{expression!potentially evaluated}% -An expression is \defn{potentially evaluated} unless it is an -unevaluated operand\iref{expr.prop} or a subexpression thereof. +An expression or conversion is \defn{potentially evaluated} unless it is +an unevaluated operand\iref{expr.prop}, +a subexpression thereof, or +a conversion in an initialization or conversion sequence in such a context. The set of \defn{potential results} of an expression \tcode{e} is defined as follows: \begin{itemize} @@ -326,30 +328,35 @@ A function is \defn{named by an expression} as follows: \begin{itemize} \item - A function whose name appears in an expression - is named by that expression - if it is the unique lookup result or the selected member - of a set of overloaded functions~(\ref{basic.lookup}, \ref{over.match}, \ref{over.over}), + A function is named by an expression or conversion + if it is the unique result of a name lookup or the selected member + of a set of overloaded functions~(\ref{basic.lookup}, \ref{over.match}, \ref{over.over}) + in an overload resolution performed + as part of forming that expression or conversion, unless it is a pure virtual function and either - its name is not explicitly qualified or + the expression is not an \grammarterm{id-expression} naming the function with + an explicitly qualified name or the expression forms a pointer to member\iref{expr.unary.op}. \begin{note} This covers taking the address of functions~(\ref{conv.func}, \ref{expr.unary.op}), calls to named functions\iref{expr.call}, operator overloading\iref{over}, user-defined conversions\iref{class.conv.fct}, - allocation functions for placement \grammarterm{new-expression}{s}\iref{expr.new}, as well as + allocation functions for \grammarterm{new-expression}{s}\iref{expr.new}, as well as non-default initialization\iref{dcl.init}. A constructor selected to copy or move an object of class type - is considered to be named by an expression + is considered to be named by an expression or conversion even if the call is actually elided by the implementation\iref{class.copy.elision}. \end{note} \item - An allocation or deallocation function for a class + A deallocation function for a class is named by a \grammarterm{new-expression} + if it is the single matching deallocation function + for the allocation function selected by overload resolution, as specified in~\ref{expr.new} and~\ref{class.free}. \item A deallocation function for a class - is named by a delete expression + is named by a \grammarterm{delete-expression} + if it is the selected usual deallocation function as specified in~\ref{expr.delete} and~\ref{class.free}. \end{itemize} @@ -376,7 +383,8 @@ \pnum A virtual member function is odr-used if it is not pure. -A function is odr-used if it is named by a potentially-evaluated expression. +A function is odr-used if it is named by +a potentially-evaluated expression or conversion. A non-placement allocation or deallocation function for a class is odr-used by the definition of a constructor of that class. A non-placement deallocation function for a class is odr-used by the From cbb21fb0210b6aade5591de94e3a27d7059e9d06 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 8 Mar 2019 16:08:02 -0800 Subject: [PATCH 032/148] [basic.def.odr] Apply additional edits from CWG review that were not transcribed into P1359R0. --- source/basic.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index b3ef940c75..4019a169c2 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -324,8 +324,8 @@ \end{note} \pnum -\indextext{function!named by an expression}% -A function is \defn{named by an expression} as follows: +A function is \defnx{named by}{function!named by expression or conversion} +an expression or conversion as follows: \begin{itemize} \item A function is named by an expression or conversion @@ -352,7 +352,7 @@ is named by a \grammarterm{new-expression} if it is the single matching deallocation function for the allocation function selected by overload resolution, - as specified in~\ref{expr.new} and~\ref{class.free}. + as specified in~\ref{expr.new}. \item A deallocation function for a class is named by a \grammarterm{delete-expression} From 573152d081f7052f4ebe7678d58f94714f2b973b Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 09:00:41 -1000 Subject: [PATCH 033/148] CWG2051 Simplifying alias rules --- source/expressions.tex | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 3359e166ac..b3bddaff8d 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -284,32 +284,26 @@ \pnum If a program attempts to access the stored value of an object through a glvalue -of other than one of the following types the behavior is +whose type is not similar\iref{conv.qual} to +one of the following types the behavior is undefined:\footnote{The intent of this list is to specify those circumstances in which an object may or may not be aliased.} \begin{itemize} \item the dynamic type of the object, -\item a cv-qualified version of the dynamic type of the object, - -\item a type similar (as defined in~\ref{conv.qual}) to the dynamic type -of the object, - \item a type that is the signed or unsigned type corresponding to the -dynamic type of the object, - -\item a type that is the signed or unsigned type corresponding to a -cv-qualified version of the dynamic type of the object, - -\item an aggregate or union type that includes one of the aforementioned types among its -elements or non-static data members (including, recursively, an element or non-static data member of a -subaggregate or contained union), - -\item a type that is a (possibly cv-qualified) base class type of the dynamic type of -the object, +dynamic type of the object, or \item a \tcode{char}, \tcode{unsigned char}, or \tcode{std::byte} type. \end{itemize} +If a program invokes +a defaulted copy/move constructor or copy/move assignment operator +for a union of type \tcode{U} with a glvalue argument +that does not denote an object of type \cv{}~\tcode{U} within its lifetime, +the behavior is undefined. +\begin{note} +Unlike in C, \Cpp{} has no accesses of class type. +\end{note} \rSec2[expr.type]{Type} @@ -713,7 +707,7 @@ $\cv{}_i$ and $P_i$ such that \tcode{T} is \begin{indented} -``$\cv{}_0$ $P_0$ $\cv{}_1$ $P_1$ $\cdots$ $\cv{}_{n-1}$ $P_{n-1}$ $\cv{}_n$ \tcode{U}'' for $n > 0$, +``$\cv{}_0$ $P_0$ $\cv{}_1$ $P_1$ $\cdots$ $\cv{}_{n-1}$ $P_{n-1}$ $\cv{}_n$ \tcode{U}'' for $n \geq 0$, \end{indented} where each $\cv{}_i$ is a set of cv-qualifiers\iref{basic.type.qualifier}, and From f08858893f8acb032de25546fe96a95f0c23fd2c Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 09:41:33 -1000 Subject: [PATCH 034/148] CWG2083 Incorrect cases of odr-use Also fixes CWG2103 and CWG2170. --- source/basic.tex | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 4019a169c2..58dc02ac31 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -295,9 +295,8 @@ expression\iref{expr.ref}, the set contains the potential results of the object expression. \item If \tcode{e} is a pointer-to-member -expression\iref{expr.mptr.oper} whose second operand is a constant -expression, the set contains the potential results of the object -expression. +expression\iref{expr.mptr.oper}, +the set contains the potential results of the object expression. \item If \tcode{e} has the form \tcode{(e1)}, the set contains the potential results of \tcode{e1}. \item If \tcode{e} is a glvalue conditional @@ -362,15 +361,24 @@ \pnum A variable \tcode{x} whose name appears as a -potentially-evaluated expression \tcode{ex} is \defnx{odr-used}{odr-use} by \tcode{ex} unless -applying the lvalue-to-rvalue conversion\iref{conv.lval} to \tcode{x} yields -a constant expression\iref{expr.const} -that does not invoke a function -other than a trivial special member function\iref{special} -and, if \tcode{x} is an object, \tcode{ex} is an element of -the set of potential results of an expression \tcode{e}, where either the lvalue-to-rvalue -conversion\iref{conv.lval} is applied to \tcode{e}, or \tcode{e} is -a discarded-value expression\iref{expr.prop}. +potentially-evaluated expression \tcode{e} +is \defnx{odr-used}{odr-use} by \tcode{e} unless +\begin{itemize} +\item + \tcode{x} is a reference that is + usable in constant expressions\iref{expr.const}, or +\item + \tcode{x} is a variable of non-reference type that is + usable in constant expressions and has no mutable subobjects, and + \tcode{e} is an element of the set of potential results of an expression + of non-volatile-qualified non-class type + to which the lvalue-to-rvalue conversion\iref{conv.lval} is applied, or +\item + \tcode{x} is a variable of non-reference type, and + \tcode{e} is an element of the set of potential results + of a discarded-value expression\iref{expr.prop} + to which the lvalue-to-rvalue conversion is not applied. +\end{itemize} \pnum A structured binding is odr-used if it appears as a potentially-evaluated expression. From 64c2c1261d16348ba8132393e6d1c338c2509d77 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 10:21:32 -1000 Subject: [PATCH 035/148] CWG2257 Lifetime extension of references vs exceptions --- source/exceptions.tex | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/exceptions.tex b/source/exceptions.tex index 438b4fbb0f..6a53134326 100644 --- a/source/exceptions.tex +++ b/source/exceptions.tex @@ -414,6 +414,12 @@ and whose destructor has not yet begun execution, except that in the case of destruction, the variant members of a union-like class are not destroyed. +\begin{note} +If such an object has a reference member +that extends the lifetime of a temporary object, +this ends the lifetime of the reference member, +so the lifetime of the temporary object is effectively not extended. +\end{note} The subobjects are destroyed in the reverse order of the completion of their construction. Such destruction is sequenced before entering a handler of the \grammarterm{function-try-block} of the constructor or destructor, From c3bf5f5d681775001da8850dca8745bb63b950c5 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 10:23:42 -1000 Subject: [PATCH 036/148] CWG2266 Has dependent type vs is type-dependent --- source/templates.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/templates.tex b/source/templates.tex index fb3a424132..c90b788147 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -4932,7 +4932,7 @@ of the \grammarterm{id-expression} does not find a member of a class that is the current instantiation or a non-dependent base class thereof; or -\item the type of the object expression is dependent and is not the current +\item the object expression is type-dependent and is not the current instantiation. \end{itemize} \end{itemize} From 5f7461d24bc0e9867458a043adf04aa8c4ceed73 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 8 Mar 2019 16:11:34 -0800 Subject: [PATCH 037/148] [temp.dep.type] Rephrase to avoid suggesting that an expression can be the current instantiation. A type can't be the current instantiation either, but that's a pre-existing prevalent problem. --- source/templates.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/templates.tex b/source/templates.tex index c90b788147..15e41a8219 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -4932,8 +4932,8 @@ of the \grammarterm{id-expression} does not find a member of a class that is the current instantiation or a non-dependent base class thereof; or -\item the object expression is type-dependent and is not the current -instantiation. +\item the type of the object expression is not the current instantiation +and the object expression is type-dependent. \end{itemize} \end{itemize} From 595b8b0cac19010e5a33e6500f7b8da3553d1e62 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 10:30:54 -1000 Subject: [PATCH 038/148] CWG2289 Uniqueness of structured binding names --- source/basic.tex | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 58dc02ac31..1b37d49501 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -712,9 +712,13 @@ all refer to the same variable, non-static data member, or enumerator, or all refer to functions and function templates; in this case the class name or enumeration name is -hidden\iref{basic.scope.hiding}. \begin{note} A namespace name or a -class template name must be unique in its declarative -region~(\ref{namespace.alias}, \ref{temp}). \end{note} +hidden\iref{basic.scope.hiding}. +\begin{note} +A structured binding\iref{dcl.struct.bind}, +namespace name\iref{basic.namespace}, or +class template name\iref{temp} +must be unique in its declarative region. +\end{note} \end{itemize} \begin{note} These restrictions apply to the declarative region into which a name is introduced, which is not necessarily the same as the region in From e6f307b45df8439d2c0a359666f7c1db35790463 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 10:53:08 -1000 Subject: [PATCH 039/148] CWG2353 Potential results of a member access expression for a static data member [basic.def.odr] Note: some referenced wording was removed in CWG2083. --- source/basic.tex | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 1b37d49501..8623a21ec3 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -292,11 +292,17 @@ \item If \tcode{e} is a subscripting operation\iref{expr.sub} with an array operand, the set contains the potential results of that operand. \item If \tcode{e} is a class member access -expression\iref{expr.ref}, the set contains the potential results of -the object expression. +expression\iref{expr.ref} of the form +\tcode{e1 . \opt{template} e2} +naming a non-static data member, +the set contains the potential results of \tcode{e1}. +\item if \tcode{e} is a class member access expression +naming a static data member, +the set contains the \grammarterm{id-expression} designating the data member. \item If \tcode{e} is a pointer-to-member -expression\iref{expr.mptr.oper}, -the set contains the potential results of the object expression. +expression\iref{expr.mptr.oper} of the form +\tcode{e1 .* e2}, +the set contains the potential results of \tcode{e1}. \item If \tcode{e} has the form \tcode{(e1)}, the set contains the potential results of \tcode{e1}. \item If \tcode{e} is a glvalue conditional From e8ed1ebc6301078c891bfb8de8b0f3c8133aa33c Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 11:02:35 -1000 Subject: [PATCH 040/148] CWG2354 Extended alignment and object representation --- source/declarations.tex | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index f4cbd195af..1accf77b6c 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -8071,10 +8071,7 @@ An \grammarterm{alignment-specifier} may also be applied to the declaration of a class (in an \grammarterm{elaborated-type-specifier}\iref{dcl.type.elab} or -\grammarterm{class-head}\iref{class}, respectively) and to the -declaration of an enumeration (in an -\grammarterm{opaque-enum-declaration} or \grammarterm{enum-head}, -respectively\iref{dcl.enum}). +\grammarterm{class-head}\iref{class}, respectively). An \grammarterm{alignment-specifier} with an ellipsis is a pack expansion\iref{temp.variadic}. \pnum From e81049e5b37fbb38317c3385c3f4742381080cd3 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 11:23:49 -1000 Subject: [PATCH 041/148] CWG2365 Confusing specification for dynamic_cast --- source/expressions.tex | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index b3bddaff8d..de89ae9660 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -3366,15 +3366,13 @@ the result is \tcode{v} (converted if necessary). -\pnum -If the value of \tcode{v} is a null pointer value in the pointer case, -the result is the null pointer value of type \tcode{T}. - \pnum If \tcode{T} is ``pointer to \cvqual{cv1} \tcode{B}'' and \tcode{v} has type ``pointer to \cvqual{cv2} \tcode{D}'' such that \tcode{B} is a base class of \tcode{D}, the result is a pointer to the unique \tcode{B} -subobject of the \tcode{D} object pointed to by \tcode{v}. Similarly, if +subobject of the \tcode{D} object pointed to by \tcode{v}, or +a null pointer value if \tcode{v} is a null pointer value. +Similarly, if \tcode{T} is ``reference to \cvqual{cv1} \tcode{B}'' and \tcode{v} has type \cvqual{cv2} \tcode{D} such that \tcode{B} is a base class of \tcode{D}, the result is the unique \tcode{B} subobject of the \tcode{D} @@ -3400,6 +3398,9 @@ Otherwise, \tcode{v} shall be a pointer to or a glvalue of a polymorphic type\iref{class.virtual}. +\pnum +If \tcode{v} is a null pointer value, the result is a null pointer value. + \pnum If \tcode{T} is ``pointer to \cv{} \tcode{void}'', then the result is a pointer to the most derived object pointed to by \tcode{v}. From f6ff9bc5847e81aef69eb679ab1e349c0be7c2e6 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 11:29:57 -1000 Subject: [PATCH 042/148] CWG2368 Differences in relational and three-way constant comparisons --- source/expressions.tex | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index de89ae9660..aed51910a8 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -6696,12 +6696,8 @@ a \grammarterm{delete-expression}\iref{expr.delete}; \item -a three-way comparison\iref{expr.spaceship} -comparing pointers that do not point to the same -complete object or to any subobject thereof; - -\item -a relational\iref{expr.rel} or equality\iref{expr.eq} +a three-way comparison\iref{expr.spaceship}, +relational\iref{expr.rel}, or equality\iref{expr.eq} operator where the result is unspecified; \item From 7218980f009271de6df4192ebaf4486ec43bcc85 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 13:07:45 -1000 Subject: [PATCH 043/148] CWG2372 Incorrect matching rules for block-scope extern declarations --- source/basic.tex | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 8623a21ec3..d0d1a253aa 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -2440,8 +2440,12 @@ \pnum The name of a function declared in block scope and the name of a variable declared by a block scope \tcode{extern} declaration have linkage. If there is a visible declaration -of an entity with linkage having the same name and type, ignoring entities declared -outside the innermost enclosing namespace scope, the block scope declaration declares +of an entity with linkage, ignoring entities declared +outside the innermost enclosing namespace scope, +such that the block scope declaration would be +a (possibly ill-formed) redeclaration +if the two declarations appeared in the same declarative region, +the block scope declaration declares that same entity and receives the linkage of the previous declaration. If there is more than one such matching entity, the program is ill-formed. Otherwise, if no matching entity is found, the block scope entity receives external linkage. @@ -2450,9 +2454,11 @@ \begin{example} \begin{codeblock} static void f(); +extern "C" void h(); static int i = 0; // \#1 void g() { extern void f(); // internal linkage + extern void h(); // C language linkage int i; // \#2: \tcode{i} has no linkage { extern void f(); // internal linkage From d4f472e59b27df79ab4bec752f01340d130d182d Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 11:05:53 -1000 Subject: [PATCH 044/148] CWG2379 Missing prohibition against constexpr in friend declaration --- source/templates.tex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/templates.tex b/source/templates.tex index 15e41a8219..9e1efd6228 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -2967,8 +2967,9 @@ \pnum When a friend declaration refers to a specialization of a function template, the function parameter declarations shall not include -default arguments, nor shall the inline specifier be used in such a -declaration. +default arguments, nor shall +the \tcode{inline}, \tcode{constexpr}, or \tcode{consteval} specifiers +be used in such a declaration. \pnum A non-template friend declaration shall not have a \grammarterm{requires-clause}. From 9788ef323638dd4ddcd5cf4b8c2e1e0e9bd97852 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 11:22:23 -1000 Subject: [PATCH 045/148] CWG2380 capture-default makes too many references odr-usable --- source/basic.tex | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index d0d1a253aa..69fc21a04f 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -437,7 +437,10 @@ \begin{itemize} \item the intervening declarative region is a block scope, or \item the intervening declarative region is the function parameter scope of a \grammarterm{lambda-expression} -that has a \grammarterm{simple-capture} naming the entity or has a \grammarterm{capture-default}. +that has a \grammarterm{simple-capture} +naming the entity or has a \grammarterm{capture-default}, and +the block scope of the \grammarterm{lambda-expression} +is also an intervening declarative region. \end{itemize} \end{itemize} @@ -447,11 +450,13 @@ \begin{example} \begin{codeblock} void f(int n) { - [] { n = 1; }; // error, \tcode{n} is not odr-usable due to intervening lambda-expression + [] { n = 1; }; // error: \tcode{n} is not odr-usable due to intervening lambda-expression struct A { - void f() { n = 2; } // error, \tcode{n} is not odr-usable due to intervening function definition scope + void f() { n = 2; } // error: \tcode{n} is not odr-usable due to intervening function definition scope }; - void g(int = n); // error, \tcode{n} is not odr-usable due to intervening function parameter scope + void g(int = n); // error: \tcode{n} is not odr-usable due to intervening function parameter scope + [=](int k = n) {}; // error: \tcode{n} is not odr-usable due to being + // outside the block scope of the \grammarterm{lambda-expression} [&] { [n]{ return n; }; }; // OK } \end{codeblock} From 93e03569114bb961907608843d9442bac9972033 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 14:00:15 -1000 Subject: [PATCH 046/148] CWG2381 Composite pointer type of pointers to plain and noexcept member functions --- source/expressions.tex | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index aed51910a8..919f9ca97d 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -380,8 +380,23 @@ respectively; \item -if \tcode{T1} is ``pointer to member of \tcode{C1} of type \cvqual{cv1} \tcode{U1}'' and \tcode{T2} is -``pointer to member of \tcode{C2} of type \cvqual{cv2} \tcode{U2}'' where \tcode{C1} is +if \tcode{T1} or \tcode{T2} is +``pointer to member of \tcode{C1} of type function'', +the other type is +``pointer to member of \tcode{C2} of type \tcode{noexcept} function'', and +\tcode{C1} is reference-related to \tcode{C1} or +\tcode{C2} is reference-related to \tcode{C1}\iref{dcl.init.ref}, +where the function types are otherwise the same, +``pointer to member of \tcode{C2} of type function'' or +``pointer to member of \tcode{C1} of type function'', respectively; + +\item +if \tcode{T1} is +``pointer to member of \tcode{C1} of type \cvqual{cv1} \tcode{U}'' and +\tcode{T2} is +``pointer to member of \tcode{C2} of type \cvqual{cv2} \tcode{U}'', +for some non-function type \tcode{U}, +where \tcode{C1} is reference-related to \tcode{C2} or \tcode{C2} is reference-related to \tcode{C1}\iref{dcl.init.ref}, the cv-combined type of \tcode{T2} and \tcode{T1} or the cv-combined type of \tcode{T1} and \tcode{T2}, respectively; @@ -5901,9 +5916,11 @@ \end{itemize} \pnum -If at least one of the operands is a pointer to member, pointer-to-member -conversions\iref{conv.mem} and qualification -conversions\iref{conv.qual} are performed on both operands to bring them to +If at least one of the operands is a pointer to member, +pointer-to-member conversions\iref{conv.mem}, +function pointer conversions\iref{conv.fctptr}, and +qualification conversions\iref{conv.qual} +are performed on both operands to bring them to their composite pointer type\iref{expr.type}. Comparing pointers to members is defined as follows: @@ -6275,8 +6292,10 @@ pointer type. \item One or both of the second and third operands have pointer-to-member type; -pointer to member conversions\iref{conv.mem} and qualification -conversions\iref{conv.qual} are performed to bring them to their composite +pointer to member conversions\iref{conv.mem}, +function pointer conversions\iref{conv.fctptr}, and +qualification conversions\iref{conv.qual} +are performed to bring them to their composite pointer type\iref{expr.type}. The result is of the composite pointer type. \item From 73ccc578c8ca68b2ecb331e529a4a5d399a72d41 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 14:05:31 -1000 Subject: [PATCH 047/148] CWG2384 Conversion function templates and qualification conversions --- source/templates.tex | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/source/templates.tex b/source/templates.tex index 9e1efd6228..80584fce67 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -7788,44 +7788,6 @@ \tcode{A}, the type deduction fails. -\pnum -When the deduction process requires a qualification conversion for a -pointer or pointer-to-member type as described above, the following -process is used to determine the deduced template argument values: - -If -\tcode{A} -is a type -\begin{indented} -$\cv{}_{1,0}$ ``pointer to $\ldots$'' $\cv{}_{1,n-1}$ ``pointer to'' -$\cv{}_{1,n}$ \tcode{T1} -\end{indented} -and -\tcode{P} -is a type -\begin{indented} -$\cv{}_{2,0}$ ``pointer to $\ldots$'' $\cv{}_{2,n-1}$ ``pointer to'' -$\cv{}_{2,n}$ \tcode{T2}, -\end{indented} -then the cv-unqualified -\tcode{T1} -and -\tcode{T2} -are used as the types of -\tcode{A} -and -\tcode{P} -respectively for type deduction. -\begin{example} -\begin{codeblock} -struct A { - template operator T***(); -}; -A a; -const int * const * const * p1 = a; // \tcode{T} deduced as \tcode{int}, not \tcode{const int} -\end{codeblock} -\end{example} - \rSec3[temp.deduct.partial]{Deducing template arguments during partial ordering} \pnum From 66ea6eb34b030073d1f459b8b0b5ea267a11956d Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 14:14:49 -1000 Subject: [PATCH 048/148] CWG2385 Lookup for conversion-function-ids --- source/expressions.tex | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 919f9ca97d..0ead83cf27 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -1484,9 +1484,13 @@ \grammarterm{unqualified-id} is a \grammarterm{conversion-function-id}, its \grammarterm{conversion-type-id} -shall denote the same type in both the context in which the entire -\grammarterm{qualified-id} occurs and in the context of the class denoted -by the \grammarterm{nested-name-specifier}. +is first looked up in the class denoted by +the \grammarterm{nested-name-specifier} of the \grammarterm{qualified-id} and +the name, if found, is used. +Otherwise, it is looked up in the context in which +the entire \grammarterm{qualified-id} occurs. +In each of these lookups, only names that denote types or +templates whose specializations are types are considered. \rSec3[expr.prim.id.dtor]{Destruction} From 498092ced200140801180dcc9c2878a49350f946 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 14:19:36 -1000 Subject: [PATCH 049/148] CWG2386 tuple_size requirements for structured binding --- source/declarations.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/declarations.tex b/source/declarations.tex index 1accf77b6c..cbc953f144 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -6153,7 +6153,7 @@ \pnum Otherwise, if the \grammarterm{qualified-id} \tcode{std::tuple_size} -names a complete type, +names a complete class type with a member named \tcode{value}, the expression \tcode{std::tuple_size::value} shall be a well-formed integral constant expression and From a7a531aeddb6e431d03c69e91231e2bd89e75365 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 14:25:58 -1000 Subject: [PATCH 050/148] CWG2387 Linkage of const-qualified variable template [basic.link] Added Oxford comma. --- source/basic.tex | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 69fc21a04f..bd28e366e0 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -2404,15 +2404,20 @@ linkage if it is the name of \begin{itemize} \item - a variable, function or function template that is + a variable, variable template, function, or function template that is explicitly declared \tcode{static}; or, \item - a non-inline variable of non-volatile const-qualified type that is + a non-inline non-template variable of non-volatile const-qualified type + that is neither explicitly declared \tcode{extern} nor previously declared to have external linkage; or \item a data member of an anonymous union. \end{itemize} +\begin{note} +An instantiated variable template that has const-qualified type +can have external linkage, even if not declared \tcode{extern}. +\end{note} \pnum An unnamed namespace or a namespace declared directly or indirectly within an From 8bc56e3578e79da6e7f07f81197bec07e221f68c Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Wed, 20 Feb 2019 13:17:29 -1000 Subject: [PATCH 051/148] CWG2394 Const-default-constructible for members --- source/classes.tex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/classes.tex b/source/classes.tex index 7008d06b61..2d62692deb 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -1342,7 +1342,8 @@ of reference type, \item any non-variant non-static data member of const-qualified type (or array -thereof) with no \grammarterm{brace-or-equal-initializer} does not have a user-provided default constructor, +thereof) with no \grammarterm{brace-or-equal-initializer} +is not const-default-constructible\iref{dcl.init}. \item \tcode{X} is a union and all of its variant members are of const-qualified type (or array thereof), From 11fbbe7cc8314201af263607321a5c8b99f3f877 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 12:32:55 -0800 Subject: [PATCH 052/148] P1286R2 Contra CWG DR1778 Also fixes CWG1778. [dcl.fct.def.default]/2 Remove "and" from previous bullet. --- source/declarations.tex | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index cbc953f144..21b62d4d1e 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -5926,7 +5926,9 @@ if it were implicitly declared, as follows: \begin{itemize} \item - \tcode{T}$_1$ and \tcode{T}$_2$ may have differing \grammarterm{ref-qualifier}{s}; and + \tcode{T}$_1$ and \tcode{T}$_2$ may have differing \grammarterm{ref-qualifier}{s}; +\item + \tcode{T}$_1$ and \tcode{T}$_2$ may have differing exception specifications; and \item if \tcode{T}$_2$ has a parameter of type \tcode{const C\&}, the corresponding parameter of \tcode{T}$_1$ may be of type \tcode{C\&}. @@ -5961,12 +5963,24 @@ constexpr S() = default; // ill-formed: implicit \tcode{S()} is not \tcode{constexpr} S(int a = 0) = default; // ill-formed: default argument void operator=(const S&) = default; // ill-formed: non-matching return type - ~S() noexcept(false) = default; // deleted: exception specification does not match + ~S() noexcept(false) = default; // OK, despite mismatched exception specification private: int i; S(S&); // OK: private copy constructor }; S::S(S&) = default; // OK: defines copy constructor + +struct T { + T(); + T(T &&) noexcept(false); +}; +struct U { + T t; + U(); + U(U &&) noexcept = default; +}; +U u1; +U u2 = static_cast(u1); // OK, calls \tcode{std::terminate} if \tcode{T::T(T\&\&)} throws \end{codeblock} \end{example} From 38bd86dfa63eff010e541350a72b515d136d7345 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Thu, 21 Feb 2019 14:35:14 -1000 Subject: [PATCH 053/148] P1091R3 Extending structured bindings to be more like variable declarations [dcl.stc] Convert new text to singular to match the context. --- source/declarations.tex | 58 +++++++++++++++++++++++++++-------------- source/expressions.tex | 7 +++-- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index 21b62d4d1e..7656194e77 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -183,9 +183,11 @@ \pnum A \grammarterm{simple-declaration} with an \grammarterm{identifier-list} is called a \defn{structured binding declaration}\iref{dcl.struct.bind}. -The \grammarterm{decl-specifier-seq} shall -contain only the \grammarterm{type-specifier} \tcode{auto}\iref{dcl.spec.auto} -and \grammarterm{cv-qualifier}{s}. +If the \grammarterm{decl-specifier-seq} contains +any \grammarterm{decl-specifier} other than +\tcode{static}, \tcode{thread_local}, \tcode{auto}\iref{dcl.spec.auto}, or +\grammarterm{cv-qualifier}{s}, +the program is ill-formed. The \grammarterm{initializer} shall be of the form ``\tcode{=} \grammarterm{assignment-expression}'', of the form ``\tcode{\{} \grammarterm{assignment-expression} \tcode{\}}'', @@ -370,8 +372,9 @@ The \tcode{thread_local} specifier indicates that the named entity has thread storage duration\iref{basic.stc.thread}. It shall be applied only -to the declaration of a variable of namespace -or block scope or to the declaration of a static data member. +to the declaration of a variable of namespace or block scope, +to a structured binding declaration\iref{dcl.struct.bind}, or +to the declaration of a static data member. When \tcode{thread_local} is applied to a variable of block scope the \grammarterm{storage-class-specifier} \tcode{static} is implied if no other \grammarterm{storage-class-specifier} appears in the @@ -379,8 +382,11 @@ \pnum \indextext{restriction!\idxcode{static}}% -The \tcode{static} specifier shall be applied only to the declaration of a variable or -function or to the declaration of an anonymous union\iref{class.union.anon}. There can be no +The \tcode{static} specifier shall be applied only +to the declaration of a variable or function, +to a structured binding declaration\iref{dcl.struct.bind}, or +to the declaration of an anonymous union\iref{class.union.anon}. +There can be no \tcode{static} function declarations within a block, nor any \tcode{static} function parameters. A \tcode{static} specifier used in the declaration of a variable declares the variable to have static storage @@ -6117,12 +6123,20 @@ of the \grammarterm{identifier-list} as names\iref{basic.scope.declarative} of \defn{structured binding}{s}. -Let \cv{} denote the -\grammarterm{cv-qualifier}{s} in the \grammarterm{decl-specifier-seq}. First, a -variable with a unique name \tcode{e} is introduced. If the +Let \cv{} denote the \grammarterm{cv-qualifier}{s} in +the \grammarterm{decl-specifier-seq} and +\placeholder{S} consist of the \grammarterm{storage-class-specifier}{s} of +the \grammarterm{decl-specifier-seq} (if any). +First, a variable with a unique name \tcode{e} is introduced. If the \grammarterm{assignment-expression} in the \grammarterm{initializer} -has array type \tcode{A} and no \grammarterm{ref-qualifier} is present, \tcode{e} -has type \cv{}~\tcode{A} and each element is copy-initialized or direct-initialized +has array type \tcode{A} and no \grammarterm{ref-qualifier} is present, +\tcode{e} is defined by + +\begin{ncbnf} +\opt{attribute-specifier-seq} \placeholder{S} \cv{} \terminal{A e ;} +\end{ncbnf} + +and each element is copy-initialized or direct-initialized from the corresponding element of the \grammarterm{assignment-expression} as specified by the form of the \grammarterm{initializer}. Otherwise, \tcode{e} @@ -6189,13 +6203,19 @@ Ordinary unqualified lookup\iref{basic.lookup.unqual} is not performed. \end{note} In either case, \tcode{e} is an lvalue if the type of the entity \tcode{e} -is an lvalue reference and an xvalue otherwise. Given the type $\tcode{T}_i$ -designated by \tcode{std::tuple_element::type}, -variables are introduced with unique names $\tcode{r}_i$ -of type ``reference to $\tcode{T}_i$'' -initialized with the initializer~(\ref{dcl.init.ref}), -where the reference is an lvalue reference if the initializer is -an lvalue and an rvalue reference otherwise. +is an lvalue reference and an xvalue otherwise. +Given the type $\tcode{T}_i$ designated by +\tcode{std::tuple_element::type} and +the type $\tcode{U}_i$ designated by +either \tcode{$\tcode{T}_i$\&} or \tcode{$\tcode{T}_i$\&\&}, +where $\tcode{U}_i$ is an lvalue reference if +the initializer is an lvalue and an rvalue reference otherwise, +variables are introduced with unique names $\tcode{r}_i$ as follows: + +\begin{ncbnf} +\placeholder{S} \terminal{U$_i$ r$_i$ =} initializer \terminal{;} +\end{ncbnf} + Each $\tcode{v}_i$ is the name of an lvalue of type $\tcode{T}_i$ that refers to the object bound to $\tcode{r}_i$; the referenced type is $\tcode{T}_i$. diff --git a/source/expressions.tex b/source/expressions.tex index 0ead83cf27..9c98b8d332 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -2164,9 +2164,7 @@ captured by a \grammarterm{lambda-expression} is odr-used\iref{basic.def.odr} in the scope containing the \grammarterm{lambda-expression}. If a \grammarterm{lambda-expression} -explicitly captures an entity that is not odr-usable -or -captures a structured binding (explicitly or implicitly), +explicitly captures an entity that is not odr-usable, the program is ill-formed. \begin{example} @@ -2298,7 +2296,8 @@ static_assert([](int n) { return [&n] { return ++n; }(); }(3) == 4); \end{codeblock} \end{example} -A bit-field or a member of an anonymous union shall not be captured by reference. +A bit-field, a structured binding, or a member of an anonymous union +shall not be captured by reference. \pnum An \grammarterm{id-expression} within From c8e9bacce9a2bdc8466a0949f19690190ec6fc68 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 11:04:54 -0800 Subject: [PATCH 054/148] P1381R1 Reference capture of structured bindings --- source/expressions.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/expressions.tex b/source/expressions.tex index 9c98b8d332..f28dc349b9 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -2296,7 +2296,7 @@ static_assert([](int n) { return [&n] { return ++n; }(); }(3) == 4); \end{codeblock} \end{example} -A bit-field, a structured binding, or a member of an anonymous union +A bit-field or a member of an anonymous union shall not be captured by reference. \pnum From 0e6ff4b6b716cbe878bc7655b94f1206b861d926 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Thu, 21 Feb 2019 10:48:21 -1000 Subject: [PATCH 055/148] P1041R4 Make char16_t/char32_t string literals be UTF-16/32 [lex.string] Removed term "char8_t string literal", replacing with UTF-8 string literal throughout, for consistency. --- source/compatibility.tex | 4 +-- source/declarations.tex | 6 ++--- source/lex.tex | 58 ++++++++++++++++++++++++---------------- 3 files changed, 40 insertions(+), 28 deletions(-) diff --git a/source/compatibility.tex b/source/compatibility.tex index 68745cc68e..1e448b4849 100644 --- a/source/compatibility.tex +++ b/source/compatibility.tex @@ -67,10 +67,10 @@ The type of a UTF-8 string literal is changed from ``array of \tcode{char}'' to ``array of \tcode{const char8_t}''. -The type of a \tcode{char16_t} string literal is changed +The type of a UTF-16 string literal is changed from ``array of \textit{some-integer-type}'' to ``array of \tcode{const char16_t}''. -The type of a \tcode{char32_t} string literal is changed +The type of a UTF-32 string literal is changed from ``array of \textit{some-integer-type}'' to ``array of \tcode{const char32_t}''. The type of a wide string literal is changed diff --git a/source/declarations.tex b/source/declarations.tex index 7656194e77..b872574a39 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -5081,9 +5081,9 @@ or \tcode{wchar_t} array can be initialized by an ordinary string literal, -\tcode{char8_t} string literal, -\tcode{char16_t} string literal, -\tcode{char32_t} string literal, or +UTF-8 string literal, +UTF-16 string literal, +UTF-32 string literal, or wide string literal, respectively, or by an appropriately-typed string literal enclosed in braces\iref{lex.string}. diff --git a/source/lex.tex b/source/lex.tex index 4e76e7152a..3dec13ec8e 100644 --- a/source/lex.tex +++ b/source/lex.tex @@ -1139,30 +1139,34 @@ A UTF-8 character literal containing multiple \grammarterm{c-char}{s} is ill-formed. \pnum -\indextext{literal!character!\tcode{char16_t}}% -\indextext{char16_t character@\tcode{char16_t} character}% +\indextext{literal!character!UTF-16}% \indextext{type!\idxcode{char16_t}}% A character literal that begins with the letter \tcode{u}, such as \tcode{u'x'}, \indextext{prefix!\idxcode{u}}% -is a character literal of type \tcode{char16_t}. The value -of a \tcode{char16_t} character literal containing a single \grammarterm{c-char} is +is a character literal of type \tcode{char16_t}, +known as a \defn{UTF-16 character literal}. +The value +of a UTF-16 character literal containing a single \grammarterm{c-char} is equal to its ISO/IEC 10646 code point value, provided that the code point value is representable with a single 16-bit code unit (that is, provided it is in the basic multi-lingual plane). If the value is not representable -with a single 16-bit code unit, the program is ill-formed. A \tcode{char16_t} character literal +with a single 16-bit code unit, the program is ill-formed. +A UTF-16 character literal containing multiple \grammarterm{c-char}{s} is ill-formed. \pnum -\indextext{literal!character!\tcode{char32_t}}% -\indextext{char32_t character@\tcode{char32_t} character}% +\indextext{literal!character!UTF-32}% \indextext{type!\idxcode{char32_t}}% A character literal that begins with the letter \tcode{U}, such as \tcode{U'y'}, \indextext{prefix!\idxcode{U}}% -is a character literal of type \tcode{char32_t}. The value of a -\tcode{char32_t} character literal containing a single \grammarterm{c-char} is equal -to its ISO/IEC 10646 code point value. A \tcode{char32_t} character literal containing +is a character literal of type \tcode{char32_t}, +known as a \defn{UTF-32 character literal}. +The value of a +UTF-32 character literal containing a single \grammarterm{c-char} is equal +to its ISO/IEC 10646 code point value. +A UTF-32 character literal containing multiple \grammarterm{c-char}{s} is ill-formed. \pnum @@ -1530,9 +1534,8 @@ \indextext{literal!string!UTF-8}% A \grammarterm{string-literal} that begins with \tcode{u8}, \indextext{prefix!\idxcode{u8}}% -such as \tcode{u8"asdf"}, is a \defn{UTF-8 string literal}, -also referred to as a \tcode{char8_t} string literal. -A \tcode{char8_t} string literal +such as \tcode{u8"asdf"}, is a \defn{UTF-8 string literal}. +A UTF-8 string literal has type ``array of \placeholder{n} \tcode{const char8_t}'', where \placeholder{n} is the size of the string as defined below; each successive element of the object representation\iref{basic.types} has @@ -1543,28 +1546,37 @@ also referred to as narrow string literals. \pnum -\indextext{literal!string!\idxcode{char16_t}}% +\indextext{literal!string!UTF-16}% \indextext{type!\idxcode{char16_t}}% A \grammarterm{string-literal} that begins with \tcode{u}, \indextext{prefix!\idxcode{u}}% such as \tcode{u"asdf"}, is -a \tcode{char16_t} string literal. A \tcode{char16_t} string literal has +a \defn{UTF-16 string literal}. +A UTF-16 string literal has type ``array of \placeholder{n} \tcode{const char16_t}'', where \placeholder{n} is the -size of the string as defined below; it -is initialized with the given characters. A single \grammarterm{c-char} may +size of the string as defined below; +each successive element of the array +has the value of the corresponding code unit of +the UTF-16 encoding of the string. +\begin{note} +A single \grammarterm{c-char} may produce more than one \tcode{char16_t} character in the form of surrogate pairs. +\end{note} \pnum -\indextext{literal!string!\idxcode{char32_t}}% +\indextext{literal!string!UTF-32}% \indextext{type!\idxcode{char32_t}}% A \grammarterm{string-literal} that begins with \tcode{U}, \indextext{prefix!\idxcode{U}}% such as \tcode{U"asdf"}, is -a \tcode{char32_t} string literal. A \tcode{char32_t} string literal has +a \defn{UTF-32 string literal}. +A UTF-32 string literal has type ``array of \placeholder{n} \tcode{const char32_t}'', where \placeholder{n} is the -size of the string as defined below; it -is initialized with the given characters. +size of the string as defined below; +each successive element of the array +has the value of the corresponding code unit of +the UTF-32 encoding of the string. \pnum \indextext{literal!string!wide}% @@ -1643,14 +1655,14 @@ \tcode{\textbackslash'}, and the double quote \tcode{"} shall be preceded by a \tcode{\textbackslash}, and except that a \grammarterm{universal-character-name} in a -\tcode{char16_t} string literal may yield a surrogate pair. +UTF-16 string literal may yield a surrogate pair. \indextext{string!\idxcode{sizeof}}% In a narrow string literal, a \grammarterm{universal-character-name} may map to more than one \tcode{char} or \tcode{char8_t} element due to \defnadj{multibyte}{encoding}. The size of a \tcode{char32_t} or wide string literal is the total number of escape sequences, \grammarterm{universal-character-name}{s}, and other characters, plus one for the terminating \tcode{U'\textbackslash 0'} or -\tcode{L'\textbackslash 0'}. The size of a \tcode{char16_t} string +\tcode{L'\textbackslash 0'}. The size of a UTF-16 string literal is the total number of escape sequences, \grammarterm{universal-character-name}{s}, and other characters, plus one for each character requiring a surrogate pair, plus one for the terminating From c45d32d660d98f968cb81925169535b76c8fccac Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Thu, 21 Feb 2019 19:45:34 -1000 Subject: [PATCH 056/148] P1139R2 Address wording issues related to ISO 10646 [lex] Turn notes into separate sentences. --- source/lex.tex | 49 +++++++++++++++++++++++++++-------------- source/preprocessor.tex | 2 +- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/source/lex.tex b/source/lex.tex index 3dec13ec8e..b623fef534 100644 --- a/source/lex.tex +++ b/source/lex.tex @@ -208,21 +208,31 @@ \end{bnf} The character designated by the \grammarterm{universal-character-name} \tcode{\textbackslash -UNNNNNNNN} is that character whose character short name in ISO/IEC 10646 is -\tcode{NNNNNNNN}; the character designated by the \grammarterm{universal-character-name} -\tcode{\textbackslash uNNNN} is that character whose character short name in -ISO/IEC 10646 is \tcode{0000NNNN}. If the hexadecimal value for a -\grammarterm{universal-character-name} corresponds to a surrogate code point (in the -range 0xD800--0xDFFF, inclusive), the program is ill-formed. Additionally, if -the hexadecimal value for a \grammarterm{universal-character-name} outside +U00NNNNNN} is that character +that has \tcode{U+NNNNNN} as a code point short identifier; +the character designated by the \grammarterm{universal-character-name} +\tcode{\textbackslash uNNNN} is that character +that has \tcode{U+NNNN} as a code point short identifier. +If a \grammarterm{universal-character-name} does not correspond to +a code point in ISO/IEC 10646 or +if a \grammarterm{universal-character-name} corresponds to +a surrogate code point, +the program is ill-formed. Additionally, if +a \grammarterm{universal-character-name} outside the \grammarterm{c-char-sequence}, \grammarterm{s-char-sequence}, or \grammarterm{r-char-sequence} of a character or -string literal corresponds to a control character (in either of the -ranges 0x00--0x1F or 0x7F--0x9F, both inclusive) or to a character in the basic +string literal corresponds to a control character or +to a character in the basic source character set, the program is ill-formed.\footnote{A sequence of characters resembling a \grammarterm{universal-character-name} in an \grammarterm{r-char-sequence}\iref{lex.string} does not form a \grammarterm{universal-character-name}.} +\begin{note} +ISO/IEC 10646 code points are within the range 0x0-0x10FFFF (inclusive). +A surrogate code point is a value in the range 0xD800-0xDFFF (inclusive). +A control character is a character whose code point is +in either of the ranges 0x0-0x1F or 0x7F-0x9F (both inclusive). +\end{note} \pnum The \defnx{basic execution character set}{character set!basic execution} and the @@ -1132,8 +1142,10 @@ The value of a UTF-8 character literal is equal to its ISO/IEC 10646 code point value, provided that the code point value -is representable with a single UTF-8 code unit -(that is, provided it is in the C0 Controls and Basic Latin Unicode block). +can be encoded as a single UTF-8 code unit. +\begin{note} +That is, provided the code point value is in the range 0x0-0x7F (inclusive). +\end{note} If the value is not representable with a single UTF-8 code unit, the program is ill-formed. A UTF-8 character literal containing multiple \grammarterm{c-char}{s} is ill-formed. @@ -1146,11 +1158,14 @@ \indextext{prefix!\idxcode{u}}% is a character literal of type \tcode{char16_t}, known as a \defn{UTF-16 character literal}. -The value -of a UTF-16 character literal containing a single \grammarterm{c-char} is -equal to its ISO/IEC 10646 code point value, provided that the code point value is -representable with a single 16-bit code unit (that is, provided it is in the -basic multi-lingual plane). If the value is not representable +The value of a UTF-16 character literal +is equal to its ISO/IEC 10646 code point value, +provided that the code point value is +representable with a single 16-bit code unit. +\begin{note} +That is, provided the code point value is in the range 0x0-0xFFFF (inclusive). +\end{note} +If the value is not representable with a single 16-bit code unit, the program is ill-formed. A UTF-16 character literal containing multiple \grammarterm{c-char}{s} is ill-formed. @@ -1562,6 +1577,8 @@ A single \grammarterm{c-char} may produce more than one \tcode{char16_t} character in the form of surrogate pairs. +A surrogate pair is a representation for a single code point +as a sequence of two 16-bit code units. \end{note} \pnum diff --git a/source/preprocessor.tex b/source/preprocessor.tex index e43db6a9d7..1bc22aa914 100644 --- a/source/preprocessor.tex +++ b/source/preprocessor.tex @@ -1549,7 +1549,7 @@ An integer literal of the form \tcode{yyyymmL} (for example, \tcode{199712L}). If this symbol is defined, then every character in the Unicode required set, when -stored in an object of type \tcode{wchar_t}, has the same value as the short identifier +stored in an object of type \tcode{wchar_t}, has the same value as the code point of that character. The \defn{Unicode required set} consists of all the characters that are defined by ISO/IEC 10646, along with all amendments and technical corrigenda as of the specified year and month. From 27c45f915edd487fd57090985fe823e910cbabde Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Thu, 21 Feb 2019 20:06:08 -1000 Subject: [PATCH 057/148] P1323R2 Contract postconditions and return type deduction --- source/declarations.tex | 11 ++++++++++- source/templates.tex | 5 +++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/source/declarations.tex b/source/declarations.tex index b872574a39..7fcee1a752 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -8316,6 +8316,9 @@ The attribute may be applied to the function type of a function declaration. A postcondition may introduce an identifier to represent the glvalue result or the prvalue result object of the function. +When the declared return type of a non-templated function +contains a placeholder type, +the optional \grammarterm{identifier} shall only be present in a definition. \begin{example} \begin{codeblock} int f(char * c) @@ -8323,6 +8326,9 @@ int g(double * p) [[ensures audit res: res != 0 && p != nullptr && *p <= 0.0]]; + +auto h(int x) + [[ensures res: true]]; // error: cannot name the return value \end{codeblock} \end{example} @@ -8436,7 +8442,10 @@ \pnum The predicate of a contract condition has the same semantic restrictions as if it appeared as the first \grammarterm{expression-statement} -in the body of the function it applies to. +in the body of the function it applies to, +except that the return type of the function is +known in a contract condition appertaining to its definition, +even if the return type contains a placeholder type. \pnum A precondition is checked by evaluating its predicate diff --git a/source/templates.tex b/source/templates.tex index 80584fce67..1af8343a13 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -5085,6 +5085,11 @@ \mname{func}\iref{dcl.fct.def.general}, where any enclosing function is a template, a member of a class template, or a generic lambda, +\item +the \grammarterm{identifier} introduced in +a postcondition\iref{dcl.attr.contract} to represent the result of +a templated function whose declared return type contains a placeholder type, + \item a \grammarterm{template-id} From 1a535d76856abc4dc7918af059328127d35411f7 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Fri, 22 Feb 2019 00:31:17 -1000 Subject: [PATCH 058/148] P0960r3 Allow initializing aggregates from a parenthesized list of values [dcl.init] Add missing definition of 'n' to array initialization bullet. --- source/basic.tex | 6 ++++ source/declarations.tex | 64 +++++++++++++++++++++++++++++++++++++++-- source/preprocessor.tex | 1 + 3 files changed, 68 insertions(+), 3 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index bd28e366e0..d302761565 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -3925,6 +3925,12 @@ \item A temporary object bound to a reference parameter in a function call\iref{expr.call} persists until the completion of the full-expression containing the call. +\item A temporary object bound to a reference element of +an aggregate of class type initialized from +a parenthesized \grammarterm{expression-list}\iref{dcl.init} +persists until the completion of the full-expression +containing the \grammarterm{expression-list}. + \item The lifetime of a temporary bound to the returned value in a function \tcode{return} statement\iref{stmt.return} is not extended; the temporary is destroyed at the end of the full-expression in the \tcode{return} statement. \item A temporary bound to a reference in a \grammarterm{new-initializer}\iref{expr.new} persists until the completion of the full-expression containing the \grammarterm{new-initializer}. diff --git a/source/declarations.tex b/source/declarations.tex index 7fcee1a752..ce9748b143 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -4370,7 +4370,23 @@ and the initializer is a string literal, see~\ref{dcl.init.string}. \item If the initializer is \tcode{()}, the object is value-initialized. \item -Otherwise, if the destination type is an array, the program is ill-formed. +Otherwise, if the destination type is an array, +the object is initialized as follows. +Let $x_1$, $\dotsc$, $x_k$ be +the elements of the \grammarterm{expression-list}. +If the destination type is an array of unknown bound, +it is defined as having $k$ elements. +Let $n$ denote the array size after this potential adjustment. +If $k$ is greater than $n$, +the program is ill-formed. +Otherwise, the $i^\text{th}$ array element is copy-initialized with +$x_i$ for each $1 \leq i \leq k$, and +value-initialized for each $k < i \leq n$. +For each $1 \leq i < j \leq n$, +every value computation and side effect associated with +the initialization of the $i^\text{th}$ element of the array +is sequenced before those associated with +the initialization of the $j^\text{th}$ element. \item If the destination type is a (possibly cv-qualified) class type: @@ -4394,8 +4410,8 @@ The constructor so selected is called to initialize the object, with the initializer expression or \grammarterm{expression-list} as its argument(s). -If no constructor applies, or the overload resolution is -ambiguous, the initialization is ill-formed. +If no constructor applies and the destination type is not an aggregate, or +the overload resolution is ambiguous, the initialization is ill-formed. \item Otherwise (i.e., for the remaining copy-initialization cases), user-defined conversions that can convert from the @@ -4411,6 +4427,48 @@ The call is used to direct-initialize, according to the rules above, the object that is the destination of the copy-initialization. +\item +Otherwise, if the destination type is +a (possibly cv-qualified) aggregate class \tcode{A} and +the initializer is a parenthesized \grammarterm{expression-list}, +the object is initialized as follows. +Let $e_1$, $\dotsc$, $e_n$ be the elements of the aggregate\iref{dcl.init.aggr}. +Let $x_1$, $\dotsc$, $x_k$ be the elements of the \grammarterm{expression-list}. +If $k$ is greater than $n$, the program is ill-formed. +The element $e_i$ is copy-initialized with +$x_i$ for $1 \leq i \leq k$. +The remaining elements are initialized with +their default member initializers, if any, and +otherwise are value-initialized. +For each $1 \leq i < j \leq n$, +every value computation and side effect +associated with the initialization of $e_i$ +is sequenced before those associated with the initialization of $e_j$. +\begin{note} +By contrast with direct-list-initialization, +narrowing conversions\iref{dcl.init.list} are permitted, +designators are not permitted, +a temporary object bound to a reference +does not have its lifetime extended\iref{class.temporary}, and +there is no brace elision. +\begin{example} +\begin{codeblock} +struct A { + int a; + int&& r; +}; + +int f(); +int n = 10; + +A a1{1, f()}; // OK, lifetime is extended +A a2(1, f()); // well-formed, but dangling reference +A a3{1.0, 1}; // error: narrowing conversion +A a4(1.0, 1); // well-formed, but dangling reference +A a5(1.0, std::move(n)); // OK +\end{codeblock} +\end{example} +\end{note} \end{itemize} \item diff --git a/source/preprocessor.tex b/source/preprocessor.tex index 1bc22aa914..8bc6ecba14 100644 --- a/source/preprocessor.tex +++ b/source/preprocessor.tex @@ -1475,6 +1475,7 @@ \endhead \defnxname{cpp_aggregate_bases} & \tcode{201603L} \\ \rowsep \defnxname{cpp_aggregate_nsdmi} & \tcode{201304L} \\ \rowsep +\defnxname{cpp_aggregate_paren_init} & \tcode{201902L} \\ \rowsep \defnxname{cpp_alias_templates} & \tcode{200704L} \\ \rowsep \defnxname{cpp_aligned_new} & \tcode{201606L} \\ \rowsep \defnxname{cpp_attributes} & \tcode{200809L} \\ \rowsep From 691b7c10530d3265afbf445dff3dd129c7c5692e Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Sun, 10 Mar 2019 16:15:53 -0700 Subject: [PATCH 059/148] [dcl.init] Moved the changed bullet in 17.5 to before 17.6.3. --- source/declarations.tex | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index ce9748b143..4a5407e2d3 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -4413,21 +4413,6 @@ If no constructor applies and the destination type is not an aggregate, or the overload resolution is ambiguous, the initialization is ill-formed. \item -Otherwise (i.e., for the remaining copy-initialization cases), -user-defined conversions that can convert from the -source type to the destination type or (when a conversion function -is used) to a derived class thereof are enumerated as described in~\ref{over.match.copy}, -and the best one is chosen through overload resolution\iref{over.match}. -If the conversion cannot be done or -is ambiguous, the initialization is ill-formed. The function -selected is called with the initializer expression as its -argument; if the function is a constructor, the call is a prvalue -of the cv-unqualified version of the -destination type whose result object is initialized by the constructor. -The call is used -to direct-initialize, according to the rules above, the object -that is the destination of the copy-initialization. -\item Otherwise, if the destination type is a (possibly cv-qualified) aggregate class \tcode{A} and the initializer is a parenthesized \grammarterm{expression-list}, @@ -4469,6 +4454,21 @@ \end{codeblock} \end{example} \end{note} +\item +Otherwise (i.e., for the remaining copy-initialization cases), +user-defined conversions that can convert from the +source type to the destination type or (when a conversion function +is used) to a derived class thereof are enumerated as described in~\ref{over.match.copy}, +and the best one is chosen through overload resolution\iref{over.match}. +If the conversion cannot be done or +is ambiguous, the initialization is ill-formed. The function +selected is called with the initializer expression as its +argument; if the function is a constructor, the call is a prvalue +of the cv-unqualified version of the +destination type whose result object is initialized by the constructor. +The call is used +to direct-initialize, according to the rules above, the object +that is the destination of the copy-initialization. \end{itemize} \item From ce2f08ab94123adb44e58f1176c6ae4f3209eb60 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 11 Mar 2019 17:20:25 -0700 Subject: [PATCH 060/148] [dcl.init] Merge new direct aggregate init wording into class direct initialization bullet to avoid the wording being unreachable due to an "Otherwise" chain. --- source/declarations.tex | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index 4a5407e2d3..f23d73225e 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -4406,15 +4406,17 @@ constructors are considered. The applicable constructors are enumerated\iref{over.match.ctor}, and the best one is chosen -through overload resolution\iref{over.match}. -The constructor so selected +through overload resolution\iref{over.match}. Then: +\begin{itemize} +\item +If overload resolution is successful, +the selected constructor is called to initialize the object, with the initializer expression or \grammarterm{expression-list} as its argument(s). -If no constructor applies and the destination type is not an aggregate, or -the overload resolution is ambiguous, the initialization is ill-formed. \item -Otherwise, if the destination type is -a (possibly cv-qualified) aggregate class \tcode{A} and +Otherwise, if no constructor is viable, +the destination type is +a (possibly cv-qualified) aggregate class \tcode{A}, and the initializer is a parenthesized \grammarterm{expression-list}, the object is initialized as follows. Let $e_1$, $\dotsc$, $e_n$ be the elements of the aggregate\iref{dcl.init.aggr}. @@ -4454,6 +4456,10 @@ \end{codeblock} \end{example} \end{note} +\item +Otherwise, the initialization is ill-formed. +\end{itemize} + \item Otherwise (i.e., for the remaining copy-initialization cases), user-defined conversions that can convert from the From 44d91596bf91ddbaada724ceda4d893a853dd444 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 5 Mar 2019 00:24:34 +0100 Subject: [PATCH 061/148] P1009R2 Array size deduction in new-expressions --- source/expressions.tex | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index f28dc349b9..9ebc4ae374 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -4433,7 +4433,7 @@ \begin{bnf} \nontermdef{noptr-new-declarator}\br - \terminal{[} expression \terminal{]} \opt{attribute-specifier-seq}\br + \terminal{[} \opt{expression} \terminal{]} \opt{attribute-specifier-seq}\br noptr-new-declarator \terminal{[} constant-expression \terminal{]} \opt{attribute-specifier-seq} \end{bnf} @@ -4548,8 +4548,8 @@ expression\iref{expr.const} of type \tcode{std::size_t} and shall evaluate to a strictly positive value. \indextext{\idxcode{new}}% -The \grammarterm{expression} in a \grammarterm{noptr-new-declarator} is -implicitly converted to \tcode{std::size_t}. +If the \grammarterm{expression} in a \grammarterm{noptr-new-declarator} +is present, it is implicitly converted to \tcode{std::size_t}. \begin{example} Given the definition \tcode{int n = 42}, \tcode{new float[n][5]} is well-formed (because \tcode{n} is the @@ -4558,6 +4558,15 @@ constant expression). \end{example} +\pnum +If the \grammarterm{type-id} or \grammarterm{new-type-id} +denotes an array type of unknown bound\iref{dcl.array}, +the \grammarterm{new-initializer} shall not be omitted; +the allocated object is an array with \tcode{n} elements, +where \tcode{n} is determined from the number of initial elements +supplied in +the \grammarterm{new-initializer}~(\ref{dcl.init.aggr}, \ref{dcl.init.string}). + \pnum \indextext{function!allocation}% The \grammarterm{expression} in a \grammarterm{noptr-new-declarator} is From c9074b533c835bbf820f5ea09957810ed2c04dab Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Wed, 6 Mar 2019 20:56:58 +0100 Subject: [PATCH 062/148] [expr.new] Move treatment of arrays of unknown bound --- source/expressions.tex | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 9ebc4ae374..4e21d1c139 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -4547,9 +4547,6 @@ \grammarterm{noptr-new-declarator} shall be a converted constant expression\iref{expr.const} of type \tcode{std::size_t} and shall evaluate to a strictly positive value. -\indextext{\idxcode{new}}% -If the \grammarterm{expression} in a \grammarterm{noptr-new-declarator} -is present, it is implicitly converted to \tcode{std::size_t}. \begin{example} Given the definition \tcode{int n = 42}, \tcode{new float[n][5]} is well-formed (because \tcode{n} is the @@ -4568,9 +4565,11 @@ the \grammarterm{new-initializer}~(\ref{dcl.init.aggr}, \ref{dcl.init.string}). \pnum +\indextext{\idxcode{new}}% +If the \grammarterm{expression} in a \grammarterm{noptr-new-declarator} +is present, it is implicitly converted to \tcode{std::size_t}. \indextext{function!allocation}% -The \grammarterm{expression} in a \grammarterm{noptr-new-declarator} is -erroneous if: +The \grammarterm{expression} is erroneous if: \begin{itemize} \item From 7f17e32f54b7051e2473468b206bbc0a4f372928 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 28 Feb 2019 19:16:37 -1000 Subject: [PATCH 063/148] P1103R3 Merging Modules [basic.lookup.argdep] Make missed "associated classes" -> "associated entities" change. Replaced comments indicating the start of a translation unit codeblock in examples with a title. --- source/basic.tex | 376 ++++++++++++--- source/classes.tex | 2 +- source/compatibility.tex | 33 ++ source/declarations.tex | 70 ++- source/lex.tex | 54 ++- source/macros.tex | 20 + source/modules.tex | 982 +++++++++++++++++++++++++++++++++++++++ source/overloading.tex | 5 +- source/preprocessor.tex | 212 ++++++++- source/std.tex | 1 + source/templates.tex | 207 ++++++++- 11 files changed, 1839 insertions(+), 123 deletions(-) create mode 100644 source/modules.tex diff --git a/source/basic.tex b/source/basic.tex index d302761565..1fe27cfb6a 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -99,7 +99,7 @@ one or more names into a translation unit or redeclare names introduced by previous declarations. If so, the -declaration specifies the interpretation and attributes of these names. +declaration specifies the interpretation and semantic properties of these names. A declaration may also have effects including: \begin{itemize} \item a static assertion\iref{dcl.dcl}, @@ -274,8 +274,9 @@ \rSec1[basic.def.odr]{One-definition rule} \pnum -No translation unit shall contain more than one definition of any -variable, function, class type, enumeration type, or template. +A variable, function, class type, enumeration type, or template +shall not be defined where a prior definition is necessarily reachable\iref{module.reach}; +no diagnostic is required if the prior declaration is in another translation unit. \pnum \indextext{expression!potentially evaluated}% @@ -470,7 +471,7 @@ the standard or a user-defined library, or (when appropriate) it is implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor}, \ref{class.dtor}, and \ref{class.copy.assign}). -An inline function or variable shall be defined in every +A definition of an inline function or variable shall be reachable in every translation unit in which it is odr-used outside of a discarded statement. \begin{example} \begin{codeblock} @@ -490,7 +491,7 @@ \pnum \indextext{type!incomplete}% -Exactly one definition of a class is required in a translation unit if +A definition of a class is required to be reachable in every context in which the class is used in a way that requires the class type to be complete. \begin{example} The following complete translation unit is well-formed, even though it never defines \tcode{X}: @@ -548,9 +549,17 @@ static data member of a class template\iref{temp.static}, member function of a class template\iref{temp.mem.func}, or template specialization for which some template parameters are not -specified~(\ref{temp.spec}, \ref{temp.class.spec}) in a program provided -that each definition appears in a different translation unit, and -provided the definitions satisfy the following requirements. Given such +specified~(\ref{temp.spec}, \ref{temp.class.spec}) in a program +provided that +no prior definition is necessarily reachable\iref{module.reach} +at the point where a definition appears, and +provided the definitions satisfy the following requirements. +There shall not be more than one definition +of an entity +that is attached to a named module\iref{module.unit}; +no diagnostic is required unless a prior definition +is reachable at a point where a later definition appears. +Given such an entity named \tcode{D} defined in more than one translation unit, then \begin{itemize} @@ -985,7 +994,8 @@ \grammarterm{using-directive}\iref{namespace.udir} that nominates the member's namespace, the member's potential scope includes that portion of the potential scope of the \grammarterm{using-directive} that follows -the member's point of declaration. \begin{example} +the member's point of declaration. +\begin{example} \begin{codeblock} namespace N { @@ -1013,6 +1023,42 @@ \end{codeblock} \end{example} +\pnum +If a translation unit $Q$ is imported into a translation unit $R$\iref{module.import}, +the potential scope of a name $X$ declared with namespace scope in $Q$ +is extended to include the portion of the corresponding namespace +scope in $R$ following the first \grammarterm{module-import-declaration} +or \grammarterm{module-declaration} +in $R$ that imports $Q$ (directly or indirectly) if +\begin{itemize} +\item $X$ does not have internal linkage, and +\item $X$ is declared after the \grammarterm{module-declaration} in $Q$ (if any), and +\item either $X$ is exported or $Q$ and $R$ are part of the same module. +\end{itemize} +\begin{note} +A \grammarterm{module-import-declaration} imports both +the named translation unit(s) and +any modules named by exported +\grammarterm{module-import-declaration}{s} within them, +recursively. +\begin{example} +\begin{codeblocktu}{Translation unit \#1} +export module Q; +export int sq(int i) { return i*i; } +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#2} +export module R; +export import Q; +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#3} +import R; +int main() { return sq(9); } // OK: \tcode{sq} from module \tcode{Q} +\end{codeblocktu} +\end{example} +\end{note} + \pnum A namespace member can also be referred to after the \tcode{::} scope resolution operator\iref{expr.prim.id.qual} applied to the name of its @@ -1251,8 +1297,10 @@ are considered only once name lookup and function overload resolution (if applicable) have succeeded. Only after name lookup, function overload resolution (if applicable) and access -checking have succeeded are the attributes introduced by the name's -declaration used further in expression processing\iref{expr}. +checking have succeeded +are the semantic properties introduced by the name's declaration +and its reachable\iref{module.reach} redeclarations +used further in expression processing\iref{expr}. \pnum A name ``looked up in the context of an expression'' is looked up @@ -1636,51 +1684,69 @@ \end{example} \pnum -For each argument type \tcode{T} in the function call, there is a set of -zero or more \defnx{associated namespaces}{namespace!associated} -and a set of zero or more \defnx{associated classes}{class!associated} -to be considered. The sets of namespaces and classes are -determined entirely by the types of the function arguments (and the -namespace of any template template argument). Typedef names and -\grammarterm{using-declaration}{s} used to specify the types do not -contribute to this set. The sets of namespaces and classes are -determined in the following way: +For each argument type \tcode{T} in the function call, +there is a set of zero or more +\defnx{associated namespaces}{namespace!associated} +and a set of zero or more +\defnx{associated entities}{entity!associated} +(other than namespaces) +to be considered. +The sets of namespaces and entities +are determined entirely by +the types of the function arguments +(and the namespace of any template template argument). +Typedef names and \grammarterm{using-declaration}{s} +used to specify the types +do not contribute to this set. +The sets of namespaces and entities +are determined in the following way: \begin{itemize} \item If \tcode{T} is a fundamental type, its associated sets of -namespaces and classes are both empty. - -\item If \tcode{T} is a class type (including unions), its associated -classes are: the class itself; the class of which it is a member, if -any; and its direct and indirect base classes. Its associated namespaces -are the innermost enclosing namespaces of its associated classes. -Furthermore, if \tcode{T} is a class template specialization, its -associated namespaces and classes also include: the namespaces and -classes associated with the types of the template arguments provided for -template type parameters (excluding template template parameters); the -namespaces of which any template template arguments are members; and the +namespaces and entities are both empty. + +\item If \tcode{T} is a class type (including unions), +its associated entities are: +the class itself; +the class of which it is a member, if any; +and its direct and indirect base classes. +Its associated namespaces are +the innermost enclosing namespaces of its associated entities. +Furthermore, if \tcode{T} is a class template specialization, +its associated namespaces and entities also include: +the namespaces and entities +associated with the types of the template arguments +provided for template type parameters +(excluding template template parameters); +the templates used as template template arguments; +the namespaces of which any template template arguments are members; and the classes of which any member templates used as template template -arguments are members. \begin{note} Non-type template arguments do not -contribute to the set of associated namespaces.\end{note} +arguments are members. +\begin{note} +Non-type template arguments do not +contribute to the set of associated namespaces. +\end{note} -\item If \tcode{T} is an enumeration type, its associated namespace is -the innermost enclosing namespace of its declaration. If it is a class member, its -associated class is the member's class; else it has no associated class. +\item If \tcode{T} is an enumeration type, +its associated namespace is +the innermost enclosing namespace of its declaration, and +its associated entities are \tcode{T} +and, if it is a class member, the member's class. \item If \tcode{T} is a pointer to \tcode{U} or an array of \tcode{U}, -its associated namespaces and classes are those associated with +its associated namespaces and entities are those associated with \tcode{U}. \item If \tcode{T} is a function type, its associated namespaces and -classes are those associated with the function parameter types and those +entities are those associated with the function parameter types and those associated with the return type. \item If \tcode{T} is a pointer to a member function of a class -\tcode{X}, its associated namespaces and classes are those associated +\tcode{X}, its associated namespaces and entities are those associated with the function parameter types and return type, together with those associated with \tcode{X}. \item If \tcode{T} is a pointer to a data member of class \tcode{X}, its -associated namespaces and classes are those associated with the member +associated namespaces and entities are those associated with the member type together with those associated with \tcode{X}. \end{itemize} If an associated namespace is an inline namespace\iref{namespace.def}, its @@ -1688,12 +1754,12 @@ directly contains inline namespaces, those inline namespaces are also included in the set. In addition, if the argument is the name or address of a set of -overloaded functions and/or function templates, its associated classes +overloaded functions and/or function templates, its associated entities and namespaces are the union of those associated with each of the -members of the set, i.e., the classes and namespaces associated with its +members of the set, i.e., the entities and namespaces associated with its parameter types and return type. Additionally, if the aforementioned set of overloaded functions is named with -a \grammarterm{template-id}, its associated classes and namespaces also include +a \grammarterm{template-id}, its associated entities and namespaces also include those of its type \grammarterm{template-argument}{s} and its template \grammarterm{template-argument}{s}. @@ -1709,8 +1775,8 @@ then \placeholder{Y} is empty. Otherwise \placeholder{Y} is the set of declarations found in the namespaces associated with the argument types as described below. The set of declarations found by the lookup of the name is the -union of \placeholder{X} and \placeholder{Y}. \begin{note} The namespaces and classes -associated with the argument types can include namespaces and classes +union of \placeholder{X} and \placeholder{Y}. \begin{note} The namespaces and entities +associated with the argument types can include namespaces and entities already considered by the ordinary unqualified lookup. \end{note} \begin{example} @@ -1731,22 +1797,83 @@ \end{example} \pnum -When considering an associated namespace, the lookup is the same as the -lookup performed when the associated namespace is used as a -qualifier\iref{namespace.qual} except that: +When considering an associated namespace \tcode{N}, +the lookup is the same as the +lookup performed when \tcode{N} +is used as a qualifier\iref{namespace.qual} +except that: \begin{itemize} -\item Any \grammarterm{using-directive}{s} in the associated namespace are -ignored. +\item Any \grammarterm{using-directive}{s} in \tcode{N} are ignored. \item Any namespace-scope friend functions or friend function templates\iref{class.friend} -declared in associated classes are visible within their respective +declared in classes with reachable definitions in the set of associated entities +are visible within their respective namespaces even if they are not visible during an ordinary lookup\iref{namespace.memdef}. \item All names except those of (possibly overloaded) functions and function templates are ignored. + +\item +Any declaration \tcode{D} in \tcode{N} +that is in the interface of +a named module \tcode{M}\iref{module.interface} +is visible +if there is an associated entity attached to \tcode{M} +with the same innermost enclosing non-inline namespace as \tcode{D}. + +\item +If the lookup is for a dependent name (\ref{temp.dep}, \ref{temp.dep.candidate}), +any declaration \tcode{D} in \tcode{N} +is visible +if \tcode{D} would be visible to qualified name lookup\iref{namespace.qual} +at any point in the instantiation context\iref{module.context} of the lookup, +unless \tcode{D} is declared in another translation unit, attached to the global module, +and is either discarded\iref{module.global} or has internal linkage. \end{itemize} +\pnum +\begin{example} +\begin{codeblocktu}{Translation unit \#1} +export module M; +namespace R { + export struct X {}; + export void f(X); +} +namespace S { + export void f(X, X); +} +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#2} +export module N; +import M; +export R::X make(); +namespace R { static int g(X); } +template void apply(T t, U u) { + f(t, u); + g(t); +} +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#3} +module Q; +import N; +namespace S { + struct Z { template operator T(); }; +} +void test() { + auto x = make(); // OK, \tcode{decltype(x)} is \tcode{R::X} in module \tcode{M} + R::f(x); // ill-formed: \tcode{R} and \tcode{R::f} are not visible here + f(x); // OK, calls \tcode{R::f} from interface of \tcode{M} + f(x, S::Z()); // ill-formed: \tcode{S::f} in module \tcode{M} not considered + // even though \tcode{S} is an associated namespace + apply(x, S::Z()); // OK, \tcode{S::f} is visible in instantiation context, and + // \tcode{R::g} is visible even though it has internal linkage +} +\end{codeblocktu} +\end{example} + \rSec2[basic.lookup.qual]{Qualified name lookup} \pnum @@ -1945,7 +2072,11 @@ For a namespace \tcode{X} and name \tcode{m}, the namespace-qualified lookup set $S(X, m)$ is defined as follows: Let $S'(X, m)$ be the set of all declarations of \tcode{m} in \tcode{X} and the inline namespace set of -\tcode{X}\iref{namespace.def}. If $S'(X, m)$ is not empty, $S(X, m)$ +\tcode{X}\iref{namespace.def} +whose potential scope\iref{basic.scope.namespace} +would include the namespace in which \tcode{m} is declared +at the location of the \grammarterm{nested-name-specifier}. +If $S'(X, m)$ is not empty, $S(X, m)$ is $S'(X, m)$; otherwise, $S(X, m)$ is the union of $S(N_i, m)$ for all namespaces $N_i$ nominated by \grammarterm{using-directive}{s} in \tcode{X} and its inline namespace set. @@ -2367,9 +2498,42 @@ \begin{bnf} \nontermdef{translation-unit}\br - \opt{declaration-seq} + \opt{top-level-declaration-seq}\br + \opt{global-module-fragment} module-declaration \opt{top-level-declaration-seq} \opt{private-module-fragment} +\end{bnf} + +\begin{bnf} +\nontermdef{private-module-fragment}\br + \terminal{module} \terminal{:} \terminal{private} \terminal{;} \opt{top-level-declaration-seq} \end{bnf} +\begin{bnf} +\nontermdef{top-level-declaration-seq}\br + top-level-declaration\br + top-level-declaration-seq top-level-declaration +\end{bnf} + +\begin{bnf} +\nontermdef{top-level-declaration}\br + module-import-declaration\br + declaration +\end{bnf} + +\pnum +A \grammarterm{private-module-fragment} shall appear only +in a primary module interface unit\iref{module.unit}. +A module unit with a \grammarterm{private-module-fragment} +shall be the only module unit of its module; +no diagnostic is required. + +\pnum +A token sequence beginning with +\opt{\tcode{export}} \tcode{module} or +\opt{\tcode{export}} \tcode{import} +and not immediately followed by \tcode{::} +is never interpreted as the \grammarterm{declaration} +of a \grammarterm{top-level-declaration}. + \pnum \indextext{linkage}% \indextext{translation unit}% @@ -2384,6 +2548,11 @@ can be referred to by names from scopes of other translation units or from other scopes of the same translation unit. +\item When a name has \defnx{module linkage}{linkage!module}, +the entity it denotes +can be referred to by names from other scopes of the same module unit\iref{module.unit} or +from scopes of other module units of that same module. + \item When a name has \indextext{linkage!internal}\defn{internal linkage}, the entity it denotes can be referred to by names from other scopes in the same translation @@ -2405,18 +2574,21 @@ \begin{itemize} \item a variable, variable template, function, or function template that is - explicitly declared \tcode{static}; or, + explicitly declared \tcode{static}; or \item - a non-inline non-template variable of non-volatile const-qualified type - that is - neither explicitly declared \tcode{extern} nor previously - declared to have external linkage; or + a non-template variable of non-volatile const-qualified type, unless + \begin{itemize} + \item it is explicitly declared \tcode{extern}, or + \item it is inline or exported, or + \item it was previously declared and the prior declaration did + not have internal linkage; or + \end{itemize} \item a data member of an anonymous union. \end{itemize} \begin{note} An instantiated variable template that has const-qualified type -can have external linkage, even if not declared \tcode{extern}. +can have external or module linkage, even if not declared \tcode{extern}. \end{note} \pnum @@ -2424,7 +2596,7 @@ unnamed namespace has internal linkage. All other namespaces have external linkage. A name having namespace scope that has not been given internal linkage above -has the same linkage as the enclosing namespace if it is the name of +and that is the name of \begin{itemize} \item a variable; or \item a function; or @@ -2436,7 +2608,22 @@ a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined in a typedef declaration in which the enumeration has the typedef name for linkage purposes\iref{dcl.typedef}; or -\item a template. +\item a template +\end{itemize} +has its linkage determined as follows: +\begin{itemize} +\item +if the enclosing namespace has internal linkage, +the name has internal linkage; +\item +otherwise, +if the declaration of the name is +attached to a named module\iref{module.unit} +and is not exported\iref{module.interface}, +the name has module linkage; +\item +otherwise, +the name has external linkage. \end{itemize} \pnum @@ -2448,8 +2635,12 @@ member. \pnum -The name of a function declared in block scope and the name of a variable declared by a -block scope \tcode{extern} declaration have linkage. If there is a visible declaration +The name of a function declared in block scope and +the name of a variable declared by a block scope \tcode{extern} declaration +have linkage. +If such a declaration is attached to a named module, +the program is ill-formed. +If there is a visible declaration of an entity with linkage, ignoring entities declared outside the innermost enclosing namespace scope, such that the block scope declaration would be @@ -2518,8 +2709,10 @@ in different scopes shall denote the same variable, function, type, template or namespace if \begin{itemize} -\item both names have external linkage or else both names have internal -linkage and are declared in the same translation unit; and +\item both names have external or module linkage +and are declared in declarations attached to the same module, +or else both names have internal linkage +and are declared in the same translation unit; and \item both names refer to members of the same namespace or to members, not by inheritance, of the same class; and @@ -2530,6 +2723,48 @@ \item when both names denote function templates, the signatures\iref{temp.over.link} are the same. \end{itemize} +If multiple declarations of the same name with external linkage +would declare the same entity except that +they are attached to different modules, +the program is ill-formed; no diagnostic is required. +\begin{note} +\grammarterm{using-declaration}{s}, +typedef declarations, +and \grammarterm{alias-declaration}{s} +do not declare entities, but merely introduce synonyms. +Similarly, +\grammarterm{using-directive}{s} +do not declare entities. +\end{note} + +\pnum +If a declaration would redeclare a reachable declaration +attached to a different module, the program is ill-formed. +\begin{example} +\begin{codeblocktu}{\tcode{"decls.h"}} +int f(); // \#1, attached to the global module +int g(); // \#2, attached to the global module +\end{codeblocktu} + +\begin{codeblocktu}{Module interface of \tcode{M}} +module; +#include "decls.h" +export module M; +export using ::f; // OK: does not declare an entity, exports \#1 +int g(); // error: matches \#2, but attached to \tcode{M} +export int h(); // \#3 +export int k(); // \#4 +\end{codeblocktu} + +\begin{codeblocktu}{Other translation unit} +import M; +static int h(); // error: matches \#3 +int k(); // error: matches \#4 +\end{codeblocktu} +\end{example} +As a consequence of these rules, +all declarations of an entity are attached to the same module; +the entity is said to be \defnx{attached}{attached!entity} to that module. \pnum \indextext{consistency!type declaration}% @@ -5717,7 +5952,8 @@ \pnum \indextext{program!start|(}% -A program shall contain a global function called \tcode{main}. +A program shall contain a global function called \tcode{main} +attached to the global module. Executing a program starts a main thread of execution~(\ref{intro.multithread}, \ref{thread.threads}) in which the \tcode{main} function is invoked, and in which variables of static storage duration @@ -5771,9 +6007,11 @@ deleted or that declares \tcode{main} to be \tcode{inline}, \tcode{static}, or \tcode{constexpr} is ill-formed. The \tcode{main} function shall not be declared with a -\grammarterm{linkage-specification}\iref{dcl.link}. A program that -declares a variable \tcode{main} at global scope or that declares the name -\tcode{main} with C language linkage (in any namespace) is ill-formed. +\grammarterm{linkage-specification}\iref{dcl.link}. +A program that declares a variable \tcode{main} at global scope, +or that declares a function \tcode{main} at global scope attached to a named module, +or that declares the name \tcode{main} with C language linkage (in any namespace) +is ill-formed. The name \tcode{main} is not otherwise reserved. \begin{example} Member functions, classes, and enumerations can be called \tcode{main}, as can entities in other diff --git a/source/classes.tex b/source/classes.tex index 2d62692deb..f4ed78d86f 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -2876,7 +2876,7 @@ A bit-field shall not be a static member. \indextext{bit-field!type of}% A bit-field shall have integral or enumeration type; -the bit-field attribute is not part of the type of the class member. +the bit-field semantic property is not part of the type of the class member. The \grammarterm{constant-expression} shall be an integral constant expression with a value greater than or equal to zero and is called the \defn{width} of the bit-field. diff --git a/source/compatibility.tex b/source/compatibility.tex index 1e448b4849..bb53ff732e 100644 --- a/source/compatibility.tex +++ b/source/compatibility.tex @@ -1791,6 +1791,20 @@ \rSec2[diff.cpp17.lex]{\ref{lex}: lexical conventions} +\diffref{lex.header} +\change \grammarterm{header-name} tokens are formed in more contexts. +\rationale Required for new features. +\effect When the identifier \tcode{import} +is followed by a \tcode{<} character, +a \grammarterm{header-name} token may be formed. +\begin{example} +\begin{codeblock} +template class import {}; +import f(); // ill-formed; previously well-formed +::import g(); // OK +\end{codeblock} +\end{example} + \diffref{lex.key} \change New keywords. \rationale Required for new features. @@ -1862,6 +1876,25 @@ \rSec2[diff.cpp17.basic]{\ref{basic}: basics} +\diffref{basic.link,module.unit,module.import} +\change New identifiers with special meaning. +\rationale Required for new features. +\effect Top-level declarations beginning with +\tcode{module} or \tcode{import} may +be either ill-formed or interpreted differently +in this International Standard. +\begin{example} +\begin{codeblock} +class module; +module *m1; // ill-formed; previously well-formed +::module *m2; // OK + +class import {}; +import j1; // was variable declaration; now \grammarterm{import-declaration} +::import j2; // variable declaration +\end{codeblock} +\end{example} + \diffref{intro.races} \change Except for the initial release operation, a release sequence consists solely of atomic read-modify-write operations. diff --git a/source/declarations.tex b/source/declarations.tex index f23d73225e..436abdb33d 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -25,6 +25,7 @@ deduction-guide\br explicit-instantiation\br explicit-specialization\br + export-declaration\br linkage-specification\br namespace-definition\br empty-declaration\br @@ -1031,27 +1032,46 @@ been declared inline. \pnum -An inline function or variable shall be defined in every translation unit in which -it is odr-used and shall have exactly the same definition in every -case\iref{basic.def.odr}. +If an inline function or variable +is odr-used in a translation unit, +a definition of it shall be reachable from the end of that translation unit, +and it shall have exactly the same definition +in every such translation unit\iref{basic.def.odr}. \begin{note} A call to the inline function or a use of the inline variable may be encountered before its definition appears in the translation unit. \end{note} -If the definition of a function or variable appears in a translation unit before its +If a definition of a function or variable is reachable +at the point of its first declaration as inline, the program is ill-formed. If a function or variable -with external linkage is declared inline in one translation unit, it -shall be declared inline in all translation units in which it appears; -no diagnostic is required. An inline function or variable with external -linkage shall have the same address in all translation units. +with external or module linkage +is declared inline in one translation unit, +there shall be a reachable inline declaration +in all translation units in which it is declared; +no diagnostic is required. +An inline function or variable +with external or module linkage +shall have the same address in all translation units. \begin{note} A \tcode{static} local variable in an inline -function with external linkage always refers to the same object. +function with external or module linkage +always refers to the same object. A type defined within the body of an inline -function with external linkage is the +function with external or module linkage is the same type in every translation unit. \end{note} +\pnum +An exported inline function or variable +shall be defined in the translation unit +containing its exported declaration, +outside the \grammarterm{private-module-fragment} (if any). +\begin{note} +There is no restriction on the linkage (or absence thereof) +of entities that the function body of an exported inline function +can reference. A constexpr function\iref{dcl.constexpr} is implicitly inline. +\end{note} + \rSec2[dcl.type]{Type specifiers}% \indextext{specifier!type|see{type specifier}} @@ -1709,6 +1729,17 @@ \end{codeblock} \end{example} +\pnum +An exported function +with a declared return type that uses a placeholder type +shall be defined in the translation unit +containing its exported declaration, +outside the \grammarterm{private-module-fragment} (if any). +\begin{note} +There is no restriction on the linkage of +the deduced return type. +\end{note} + \pnum If the name of an entity with an undeduced placeholder type appears in an expression, the program is ill-formed. Once a @@ -6642,6 +6673,25 @@ the definition of a namespace can be split over several parts of one or more translation units. +\pnum +\begin{note} +A namespace name with external linkage is exported +if any of its \term{namespace-definition}{s} is exported, +or if it contains any +\grammarterm{export-declaration}{s}\iref{module.interface}. +A namespace is never attached to a module, +and never has module linkage +even if it is not exported. +\end{note} +\begin{example} +\begin{codeblock} +export module M; +namespace N1 {} // \tcode{N1} is not exported +export namespace N2 {} // \tcode{N2} is exported +namespace N3 { export int n; } // \tcode{N3} is exported +\end{codeblock} +\end{example} + \pnum The outermost declarative region of a translation unit is a namespace; see~\ref{basic.scope.namespace}. diff --git a/source/lex.tex b/source/lex.tex index b623fef534..acf98690d9 100644 --- a/source/lex.tex +++ b/source/lex.tex @@ -42,8 +42,9 @@ \begin{note} Previously translated translation units and instantiation units can be preserved individually or in libraries. The separate translation units of a program communicate\iref{basic.link} by (for -example) calls to functions whose identifiers have external linkage, -manipulation of objects whose identifiers have external linkage, or +example) +calls to functions whose identifiers have external or module linkage, +manipulation of objects whose identifiers have external or module linkage, or manipulation of data files. Translation units can be separately translated and then later linked to produce an executable program\iref{basic.link}. \end{note}% @@ -139,7 +140,18 @@ semantically analyzed and translated as a translation unit. \begin{note} The process of analyzing and translating the tokens may occasionally result in one token being replaced by a sequence of other -tokens\iref{temp.names}.\end{note} \begin{note} Source files, translation +tokens\iref{temp.names}.\end{note} +It is +\impldef{whether the sources for +module units and header units +on which the current translation unit has an interface +dependency are required to be available during translation} +whether the sources for +module units and header units +on which the current translation unit has an interface +dependency (\ref{module.unit}, \ref{module.import}) +are required to be available. +\begin{note} Source files, translation units and translated translation units need not necessarily be stored as files, nor need there be any one-to-one correspondence between these entities and any external representation. The description is conceptual @@ -324,7 +336,20 @@ characters that could constitute a preprocessing token, even if that would cause further lexical analysis to fail, except that a \grammarterm{header-name}\iref{lex.header} is only formed -within a \tcode{\#include} directive\iref{cpp.include}. +\begin{itemize} +\item +within a \tcode{\#include} directive\iref{cpp.include}, + +\item +within a \grammarterm{has-include-expression}, or + +\item +outside of any preprocessing directive, +if applying phase 4 of translation to the sequence +of preprocessing tokens produced thus far +is valid and +results in an \grammarterm{import-seq}\iref{cpp.module}. +\end{itemize} \end{itemize} \begin{example} @@ -638,14 +663,17 @@ \grammarterm{identifier} has a special meaning is resolved to interpret the token as a regular \grammarterm{identifier}. -\begin{floattable}{Identifiers with special meaning}{tab:identifiers.special} -{llll} -\topline -\tcode{audit} & -\tcode{axiom} & -\tcode{final} & +\begin{multicolfloattable}{Identifiers with special meaning}{tab:identifiers.special} +{lll} +\tcode{audit} \\ +\tcode{axiom} \\ +\columnbreak +\tcode{import} \\ +\tcode{final} \\ +\columnbreak +\tcode{module} \\ \tcode{override} \\ -\end{floattable} +\end{multicolfloattable} \pnum \indextext{\idxcode{_}|see{character, underscore}}% @@ -765,8 +793,8 @@ \tcode{while} \\ \end{multicolfloattable} -\begin{note} The \tcode{export} and \tcode{register} keywords are unused but -are reserved for future use.\end{note} +\begin{note} The \tcode{register} keyword is unused but +is reserved for future use.\end{note} \pnum Furthermore, the alternative representations shown in diff --git a/source/macros.tex b/source/macros.tex index f50fbb775b..39da8a743f 100644 --- a/source/macros.tex +++ b/source/macros.tex @@ -407,6 +407,26 @@ \lstnewenvironment{codeblock}{\CodeBlockSetup}{} +% Left-align listings titles +\makeatletter +\def\lst@maketitle{\@makeleftcaption\lst@title@dropdelim} +\long\def\@makeleftcaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{#1: #2}% + \ifdim \wd\@tempboxa >\hsize + #1: #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{%\hfil -- REMOVED + \box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip}% +\makeatother + +\lstnewenvironment{codeblocktu}[1]{% +\lstset{title={%\parabullnum{Bullets1}{0pt} +#1:}}\CodeBlockSetup}{} + % An environment for command / program output that is not C++ code. \lstnewenvironment{outputblock}{\lstset{language=}}{} diff --git a/source/modules.tex b/source/modules.tex new file mode 100644 index 0000000000..679690a901 --- /dev/null +++ b/source/modules.tex @@ -0,0 +1,982 @@ +%!TEX root = std.tex +\rSec0[module]{Modules}% + +\gramSec[gram.module]{Modules} + +\rSec1[module.unit]{Module units and purviews} + +\begin{bnf} +\nontermdef{module-declaration}\br + \opt{\terminal{export}} \terminal{module} module-name \opt{module-partition} \opt{attribute-specifier-seq} \terminal{;} +\end{bnf} + +\begin{bnf} +\nontermdef{module-name}\br + \opt{module-name-qualifier} identifier +\end{bnf} + +\begin{bnf} +\nontermdef{module-partition}\br + \terminal{:} \opt{module-name-qualifier} identifier +\end{bnf} + +\begin{bnf} +\nontermdef{module-name-qualifier}\br + identifier \terminal{.}\br + module-name-qualifier identifier \terminal{.} +\end{bnf} + +\pnum +A \defn{module unit} is a translation unit that contains +a \grammarterm{module-declaration}. +A \defnadj{named}{module} is the +collection of module units with the same \grammarterm{module-name}. +The identifiers \tcode{module} and \tcode{import} +shall not appear as \grammarterm{identifier}{s} +in a \grammarterm{module-name} or \grammarterm{module-partition}. +The optional \grammarterm{attribute-specifier-seq} +appertains to the \grammarterm{module-declaration}. + +\pnum +A \defn{module interface unit} is a module unit whose +\grammarterm{module-declaration} contains the \tcode{export} keyword; +any other module unit is a \defn{module implementation unit}. +A named module shall contain exactly one module interface unit +with no \grammarterm{module-partition}, known as the +\defn{primary module interface unit} of the module; +no diagnostic is required. + +\pnum +A \defn{module partition} is +a module unit whose \grammarterm{module-declaration} contains +a \grammarterm{module-partition}. +A named module shall not contain multiple module partitions with +the same \grammarterm{module-partition}. +All module partitions of a module +that are module interface units +shall be directly or indirectly exported +by the primary module interface unit\iref{module.import}. +No diagnostic is required for a violation of these rules. +\begin{note} +Module partitions can be imported only by +other module units in the same module. +The division of a module into module units +is not visible outside the module. +\end{note} + +\pnum +\begin{example} +\begin{codeblocktu}{Translation unit \#1} +export module A; +export import :Foo; +export int baz(); +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#2} +export module A:Foo; +import :Internals; +export int foo() { return 2 * (bar() + 1); } +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#3} +module A:Internals; +int bar(); +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#4} +module A; +import :Internals; +int bar() { return baz() - 10; } +int baz() { return 30; } +\end{codeblocktu} + +Module \tcode{A} contains four translation units: +\begin{itemize} +\item a primary module interface unit, +\item a module partition \tcode{A:Foo}, which is a module interface unit +forming part of the interface of module \tcode{A}, +\item a module partition \tcode{A:Internals}, which does not contribute +to the external interface of module \tcode{A}, and +\item a module implementation unit providing +a definition of \tcode{bar} and \tcode{baz}, +which cannot be imported because +it does not have a partition name. +\end{itemize} +\end{example} + +\pnum +A \defnadj{module unit}{purview} is +the sequence of \grammarterm{token}{s} +starting at the \grammarterm{module-declaration} +and extending to the end of the translation unit. +The \defnx{purview}{purview!named module} +of a named module \tcode{M} is the set of module unit purviews +of \tcode{M}'s module units. + +\pnum +The \defnadj{global}{module} is the collection of all +\grammarterm{global-module-fragment}{s} +and all translation units that are not module units. +Declarations appearing in such a context +are said to be in the \defnx{purview}{purview!global module} of the global module. +\begin{note} +The global module has no name, no module interface unit, and is not +introduced by any \grammarterm{module-declaration}. +\end{note} + +\pnum +A \defn{module} is either a named module or the global module. +A declaration is \defnx{attached}{attached!declaration} to a module as follows: +\begin{itemize} +\item If the declaration +\begin{itemize} +\item is a replaceable global allocation or deallocation +function (\ref{new.delete.single}, \ref{new.delete.array}), or +\item is a \grammarterm{namespace-declaration} with external linkage, or +\item appears within a \grammarterm{linkage-specification}, +\end{itemize} +it is attached to the global module. + +\item Otherwise, the declaration is +attached to the module in whose purview it appears. +\end{itemize} + +\pnum +A \grammarterm{module-declaration} +that contains neither \tcode{export} +nor a \grammarterm{module-partition} +implicitly imports the primary module interface unit of the module +as if by a \grammarterm{module-import-declaration}. +\begin{example} +\begin{codeblocktu}{Translation unit \#1} +module B:Y; // does not implicitly import \tcode{B} +int y(); +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#2} +export module B; +import :Y; // OK, does not create interface dependency cycle +int n = y(); +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#3} +module B:X1; // does not implicitly import \tcode{B} +int &a = n; // error: \tcode{n} not visible here +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#4} +module B:X2; // does not implicitly import \tcode{B} +import B; +int &b = n; // OK +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#5} +module B; // implicitly imports \tcode{B} +int &c = n; // OK +\end{codeblocktu} +\end{example} + +\rSec1[module.interface]{Export declaration}% + +\begin{bnf} +\nontermdef{export-declaration}\br + \terminal{export} declaration\br + \terminal{export} \terminal{\{} \opt{declaration-seq} \terminal{\}} +\end{bnf} + +\pnum +An \grammarterm{export-declaration} shall appear only +at namespace scope and only in the purview of a module interface unit. +An \grammarterm{export-declaration} shall not appear directly +or indirectly within an unnamed namespace +or a \grammarterm{private-module-fragment}. +An \grammarterm{export-declaration} +has the declarative effects of its \grammarterm{declaration} +or its \grammarterm{declaration-seq} (if any). +An \grammarterm{export-declaration} does not +establish a scope and its \grammarterm{declaration} +or \grammarterm{declaration-seq} +shall not contain an \grammarterm{export-declaration}. + +\pnum +A declaration is \defnx{exported}{declaration!exported} if it is +\begin{itemize} +\item a namespace-scope declaration declared within an + \grammarterm{export-declaration}, or +\item a \grammarterm{module-import-declaration} declared with + the \tcode{export} keyword\iref{module.import}, or +\item a \grammarterm{namespace-definition} that contains an + exported declaration, or +\item a declaration within a header unit\iref{module.import} + that introduces at least one name. +\end{itemize} +The \defnx{interface}{module!interface} of a module \tcode{M} +is the set of all exported declarations within its purview. +\begin{example} +\begin{codeblock} +export module M; +namespace A { // exported + export int f(); // exported + int g(); // not exported +} +\end{codeblock} +The interface of \tcode{M} comprises \tcode{A} and \tcode{A::f}. +\end{example} + +\pnum +An exported declaration shall declare at least one name. +If the declaration is not within a header unit, +it shall not declare a name with internal linkage. + +\pnum +\begin{example} +\begin{codeblocktu}{Source file \tcode{"a.h"}} +export int x; +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#1} +module; +#include "a.h" // error: declaration of \tcode{x} is not in the + // purview of a module interface unit +export module M; +export namespace {} // error: does not introduce any names +export namespace { + int a1; // error: export of name with internal linkage +} +namespace { + export int a2; // error: export of name with internal linkage +} +export static int b; // error: b explicitly declared static +export int f(); // OK +export namespace N { } // OK +export using namespace N; // error: does not declare a name +\end{codeblocktu} +\end{example} + +\pnum +If the declaration is a \grammarterm{using-declaration}\iref{namespace.udecl} +and is not within a header unit, +all entities to which all of the +\grammarterm{using-declarator}{s} ultimately refer (if any) +shall have been introduced with a name having external linkage. +\begin{example} +\begin{codeblocktu}{Source file \tcode{"b.h"}} +int f(); +\end{codeblocktu} + +\begin{codeblocktu}{Importable header \tcode{"c.h"}} +int g(); +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#1} +export module X; +export int h(); +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#2} +module; +#include "b.h" +export module M; +import "c.h"; +import X; +export using ::f, ::g, ::h; // OK +struct S; +export using ::S; // error: \tcode{S} has module linkage +namespace N { + export int h(); + static int h(int); // \#1 +} +export using N::h; // error: \#1 has internal linkage +\end{codeblocktu} +\end{example} +\begin{note} +These constraints do not apply to +type names introduced by \tcode{typedef} declarations +and \grammarterm{alias-declaration}{s}. +\begin{example} +\begin{codeblock} +export module M; +struct S; +export using T = S; // OK, exports name \tcode{T} denoting type \tcode{S} +\end{codeblock} +\end{example} +\end{note} + +\pnum +A redeclaration of an exported declaration of an entity +is implicitly exported. +An exported redeclaration of a non-exported declaration +of an entity is ill-formed. +\begin{example} +\begin{codeblock} +export module M; +struct S { int n; }; +typedef S S; +export typedef S S; // OK, does not redeclare an entity +export struct S; // error: exported declaration follows non-exported declaration +\end{codeblock} +\end{example} + +\pnum +A name is \defnx{exported}{name!exported} by a module +if it is introduced or redeclared +by an exported declaration in the purview of that module. +\begin{note} +Exported names have either external linkage or no linkage; see \ref{basic.link}. +Namespace-scope names exported by a module are visible to name lookup +in any translation unit importing that module; see \ref{basic.scope.namespace}. +Class and enumeration member names are visible to name lookup in any +context in which a definition of the type is reachable. +\end{note} +\begin{example} +\begin{codeblocktu}{Interface unit of \tcode{M}} +export module M; +export struct X { + static void f(); + struct Y { }; +}; + +namespace { + struct S { }; +} +export void f(S); // OK +struct T { }; +export T id(T); // OK + +export struct A; // \tcode{A} exported as incomplete + +export auto rootFinder(double a) { + return [=](double x) { return (x + a/x)/2; }; +} + +export const int n = 5; // OK, \tcode{n} has external linkage +\end{codeblocktu} + +\begin{codeblocktu}{Implementation unit of \tcode{M}} +module M; +struct A { + int value; +}; +\end{codeblocktu} + +\begin{codeblocktu}{Main program} +import M; +int main() { + X::f(); // OK, \tcode{X} is exported and definition of \tcode{X} is reachable + X::Y y; // OK, \tcode{X::Y} is exported as a complete type + auto f = rootFinder(2); // OK + return A{45}.value; // error: \tcode{A} is incomplete +} +\end{codeblocktu} +\end{example} + +\pnum +\begin{note} +Redeclaring a name in an \grammarterm{export-declaration} +cannot change the linkage of the name\iref{basic.link}. +\begin{example} +\begin{codeblocktu}{Interface unit of \tcode{M}} +export module M; +static int f(); // \#1 +export int f(); // error: \#1 gives internal linkage +struct S; // \#2 +export struct S; // error: \#2 gives module linkage +namespace { + namespace N { + extern int x; // \#3 + } +} +export int N::x; // error: \#3 gives internal linkage +\end{codeblocktu} +\end{example} +\end{note} + +\pnum +\begin{note} +Declarations in an exported \grammarterm{namespace-definition} +or in an exported \grammarterm{linkage-specification}\iref{dcl.link} +are exported and subject to the rules of exported declarations. +\begin{example} +\begin{codeblock} +export module M; +export namespace N { + int x; // OK + static_assert(1 == 1); // error: does not declare a name +} +\end{codeblock} +\end{example} +\end{note} + +\rSec1[module.import]{Import declaration}% + +\begin{bnf} +\nontermdef{module-import-declaration}\br + \opt{\terminal{export}} \terminal{import} module-name \opt{attribute-specifier-seq} \terminal{;}\br + \opt{\terminal{export}} \terminal{import} module-partition \opt{attribute-specifier-seq} \terminal{;}\br + \opt{\terminal{export}} \terminal{import} header-name \opt{attribute-specifier-seq} \terminal{;} +\end{bnf} + +\pnum +In a module unit, all \grammarterm{module-import-declaration}{s} +shall precede all other \grammarterm{top-level-declaration}{s} in +the \grammarterm{top-level-declaration-seq} of the +\grammarterm{translation-unit} +and of the \grammarterm{private-module-fragment} (if any). +The optional \grammarterm{attribute-specifier-seq} +appertains to the \grammarterm{module-import-declaration}. + +\pnum +A \grammarterm{module-import-declaration} \defnx{imports}{import} a set of +translation units determined as described below. +\begin{note} +Namespace-scope names exported by the imported translation units +become visible\iref{basic.scope.namespace} +in the importing translation unit +and declarations within the imported translation units +become reachable\iref{module.reach} +in the importing translation unit +after the import declaration. +\end{note} + +\pnum +A \grammarterm{module-import-declaration} that specifies +a \grammarterm{module-name} \tcode{M} +imports all module interface units of \tcode{M}. + +\pnum +A \grammarterm{module-import-declaration} that specifies +a \grammarterm{module-partition} shall only appear after +the \grammarterm{module-declaration} in a module unit of +some module \tcode{M}. +Such a declaration imports the so-named +module partition of \tcode{M}. + +\pnum +A \grammarterm{module-import-declaration} that specifies +a \grammarterm{header-name} \tcode{H} imports +a synthesized \defn{header unit}, +which is a translation unit formed by applying +phases 1 to 7 of translation\iref{lex.phases} +to the source file or header nominated by \tcode{H}, +which shall not contain a \grammarterm{module-declaration}. +\begin{note} +All declarations within a header unit are implicitly +exported\iref{module.interface}, +and are attached to the global module\iref{module.unit}. +\end{note} +An \defnadj{importable}{header} is a member of an +\impldef{how the set of importable headers is determined} +set of headers. +\tcode{H} shall identify an importable header. +Two +\grammarterm{module-import-declaration}{s} +import the same header unit if and only if +their \grammarterm{header-name}{s} identify the same +header or source file\iref{cpp.include}. +\begin{note} +A \grammarterm{module-import-declaration} nominating +a \grammarterm{header-name} is also recognized by the +preprocessor, and results in macros defined at the +end of phase 4 of translation of the header unit +being made visible as described in \ref{cpp.module}. +\end{note} +A declaration of a name with internal linkage is +permitted within a header unit despite all +declarations being implicitly exported\iref{module.interface}. +If such a declaration declares an entity +that is odr-used outside the +header unit, or by a template +instantiation whose point of instantiation is outside +the header unit, the program is ill-formed. + +\pnum +When a \grammarterm{module-import-declaration} imports +a translation unit $T$, it also imports +all translation units imported by +exported \grammarterm{module-import-declaration}{s} +in $T$; such translation units are +said to be \defnx{exported}{module!exported} by $T$. +When a \grammarterm{module-import-declaration} in a module unit imports +another module unit of the same module, it also imports +all translation units imported by +all \grammarterm{module-import-declaration}{s} +in that module unit. +These rules may in turn lead to the importation of yet more +translation units. + +\pnum +A module implementation unit shall not be exported. +\begin{example} +\begin{codeblocktu}{Translation unit \#1} +module M:Part; +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#2} +export module M; +export import :Part; // error: exported partition \tcode{:Part} is an implementation unit +\end{codeblocktu} +\end{example} + +\pnum +A module implementation unit of a module \tcode{M} +that is not a module partition +shall not contain a \grammarterm{module-import-declaration} +nominating \tcode{M}. +\begin{example} +\begin{codeblock} +module M; +import M; // error: cannot import \tcode{M} in its own unit +\end{codeblock} +\end{example} + +\pnum +A translation unit has an \defn{interface dependency} on a module unit \tcode{U} +if it contains a \grammarterm{module-declaration} or +\grammarterm{module-import-declaration} that imports \tcode{U} or if it has +an interface dependency on a module unit that has an interface dependency on \tcode{U}. +A translation unit shall not have an interface dependency on itself. +\begin{example} +\begin{codeblocktu}{Interface unit of \tcode{M1}} +export module M1; +import M2; +\end{codeblocktu} + +\begin{codeblocktu}{Interface unit of \tcode{M2}} +export module M2; +import M3; +\end{codeblocktu} + +\begin{codeblocktu}{Interface unit of \tcode{M3}} +export module M3; +import M1; // error: cyclic interface dependency $\mathtt{M3} \rightarrow \mathtt{M1} \rightarrow \mathtt{M2} \rightarrow \mathtt{M3}$ +\end{codeblocktu} +\end{example} + +\rSec1[module.global]{Global module fragment} + +\begin{bnf} +\nontermdef{global-module-fragment}\br + \terminal{module} \terminal{;} \opt{top-level-declaration-seq} +\end{bnf} + +\pnum +A \grammarterm{global-module-fragment} specifies the contents of the +\defn{global module fragment} for a module unit. +The global module fragment can be used to provide declarations +that are attached to the global module and usable within the module unit. +\begin{note} +Prior to phase 4 of translation, +only preprocessing directives can appear +in the global module fragment\iref{cpp.glob.frag}. +\end{note} + +\pnum +A declaration $D$ is \defn{decl-reachable} from a declaration $S$ +in the same translation unit if: +\begin{itemize} +\item +$D$ does not declare a function or function template and +$S$ contains an +\grammarterm{id-expression}, +\grammarterm{namespace-name}, +\grammarterm{type-name}, +\grammarterm{template-name}, or +\grammarterm{concept-name} +naming $D$, or + +\item +$D$ declares a function or function template that +is named by an expression\iref{basic.def.odr} +appearing in $S$, or + +\item +$S$ contains an expression \tcode{E} of the form + +\begin{ncsimplebnf} +postfix-expression \terminal{(} \opt{expression-list} \terminal{)} +\end{ncsimplebnf} +whose \grammarterm{postfix-expression} denotes a dependent name, +or for an operator expression whose operator denotes a dependent name, +and $D$ is found by name lookup for the corresponding name +in an expression synthesized from \tcode{E} +by replacing each type-dependent argument or operand +with a value of a placeholder type +with no associated namespaces or entities, or + +\item +$S$ contains an expression that +takes the address of an overloaded function\iref{over.over} +whose set of overloads contains $D$ and +for which the target type is dependent, or + +\item +there exists a declaration $M$ that is not a \grammarterm{namespace-definition} +for which $M$ is decl-reachable from $S$ and either +\begin{itemize} +\item +$D$ is decl-reachable from $M$, or +\item +$D$ redeclares the entity declared by $M$ or +$M$ redeclares the entity declared by $D$, +and $D$ is neither a friend declaration +nor a block-scope declaration, or +\item +$D$ declares a namespace $N$ and $M$ is a member of $N$, or +\item +one of $M$ and $D$ declares a class or class template $C$ +and the other declares a member or friend of $C$, or +\item +one of $D$ and $M$ declares an enumeration $E$ +and the other declares an enumerator of $E$, or +\item +$D$ declares a function or variable and $M$ is declared in $D$,% +\footnote{A declaration can appear within a \grammarterm{lambda-expression} +in the initializer of a variable.} or +\item +one of $M$ and $D$ declares a template and the other declares +a partial or explicit specialization or +an implicit or explicit instantiation of that template, or +\item +one of $M$ and $D$ declares a class or enumeration type +and the other introduces a typedef name for linkage purposes for that type. +\end{itemize} +\end{itemize} +In this determination, it is unspecified +\begin{itemize} +\item +whether a reference to an +\grammarterm{alias-declaration}, +\tcode{typedef} declaration, +\grammarterm{using-declaration}, or +\grammarterm{namespace-alias-declaration} +is replaced by the declarations they name +prior to this determination, + +\item +whether a \grammarterm{simple-template-id} +that does not denote a dependent type +and whose \grammarterm{template-name} names an alias template +is replaced by its denoted type +prior to this determination, + +\item +whether a \grammarterm{decltype-specifier} +that does not denote a dependent type +is replaced by its denoted type +prior to this determination, +and + +\item +whether a non-value-dependent constant expression +is replaced by the result of constant evaluation +prior to this determination. +\end{itemize} + +\pnum +A declaration \tcode{D} in a global module fragment of a module unit +is \defnx{discarded}{discarded!declaration} if \tcode{D} +is not decl-reachable from any \grammarterm{top-level-declaration} +in the \grammarterm{top-level-declaration-seq} +of the \grammarterm{translation unit}. +\begin{note} +A discarded declaration is neither reachable +nor visible to name lookup outside the module unit, +nor in template instantiations whose points of instantiation\iref{temp.point} +are outside the module unit, +even when the instantiation context\iref{module.context} +includes the module unit. +\end{note} + +\pnum +\begin{example} +\begin{codeblock} +const int size = 2; +int ary1[size]; // unspecified whether \tcode{size} is decl-reachable from \tcode{ary1} +constexpr int identity(int x) { return x; } +int ary2[identity(2)]; // unspecified whether \tcode{identity} is decl-reachable from \tcode{ary2} + +template struct S; +template struct S2; +constexpr int g(int); + +template +S> f(); // \tcode{S}, \tcode{S2}, \tcode{g}, and \tcode{::} are decl-reachable from \tcode{f} + +template +void h() noexcept(g(N) == N); // \tcode{g} and \tcode{::} are decl-reachable from \tcode{h} +\end{codeblock} +\end{example} + +\pnum +\begin{example} +\begin{codeblocktu}{Source file \tcode{"foo.h"}} +namespace N { + struct X {}; + int d(); + int e(); + inline int f(X, int = d()) { return e(); } + int g(X); + int h(X); +} +\end{codeblocktu} + +\begin{codeblocktu}{Module \tcode{M} interface} +module; +#include "foo.h" +export module M; +template int use_f() { + N::X x; // \tcode{N::X}, \tcode{N}, and \tcode{::} are decl-reachable from \tcode{use_f} + return f(x, 123); // \tcode{N::f} is decl-reachable from \tcode{use_f}, + // \tcode{N::e} is indirectly decl-reachable from \tcode{use_f} + // because it is decl-reachable from \tcode{N::f}, and + // \tcode{N::d} is decl-reachable from \tcode{use_f} + // because it is decl-reachable from \tcode{N::f} + // even though it is not used in this call +} +template int use_g() { + N::X x; // \tcode{N::X}, \tcode{N}, and \tcode{::} are decl-reachable from \tcode{use_f} + return g((T(), x)); // \tcode{N::g} is not decl-reachable from \tcode{use_g} +} +template int use_h() { + N::X x; // \tcode{N::X}, \tcode{N}, and \tcode{::} are decl-reachable from \tcode{use_h} + return h((T(), x)); // \tcode{N::h} is not decl-reachable from \tcode{use_h}, but + // \tcode{N::h} is decl-reachable from \tcode{use_h} +} +int k = use_h(); + // \tcode{use_h} is decl-reachable from \tcode{k}, so + // \tcode{N::h} is decl-reachable from \tcode{k} +\end{codeblocktu} + +\begin{codeblocktu}{Module \tcode{M} implementation} +module M; +int a = use_f(); // OK +int b = use_g(); // error: no viable function for call to \tcode{g}; + // \tcode{g} is not decl-reachable from purview of + // module \tcode{M}{'s} interface, so is discarded +int c = use_h(); // OK +\end{codeblocktu} +\end{example} + +\rSec1[module.context]{Instantiation context} + +\pnum +The \defn{instantiation context} is a set of points within the program +that determines which names are visible +to argument-dependent name lookup\iref{basic.lookup.argdep} +and which declarations are reachable\iref{module.reach} +in the context of a particular declaration or template instantiation. + +\pnum +During the implicit definition of +a defaulted special member function\iref{special}, +the instantiation context is the union of +the instantiation context from the definition of the class and +the instantiation context of the program construct that +resulted in the implicit definition of the special member function. + +\pnum +During the implicit instantiation of a template +whose point of instantiation is specified as +that of an enclosing specialization\iref{temp.point}, +the instantiation context is the union of +the instantiation context of the enclosing specialization and, +if the template is defined in a module interface unit of a module $M$ +and the point of instantiation is not in a module interface unit of $M$, +the point at the end of the +\grammarterm{top-level-declaration-seq} of the +primary module interface unit of $M$ +(prior to the \grammarterm{private-module-fragment}, if any). + +\pnum +During the implicit instantiation of a template +that is implicitly instantiated because it is referenced +from within the implicit definition of a defaulted special member function, +the instantiation context is the instantiation context of +the defaulted special member function. + +\pnum +During the instantiation of any other template specialization, +the instantiation context comprises the point of instantiation +of the template. + +\pnum +In any other case, the instantiation context +at a point within the program +comprises that point. + +\pnum +\begin{example} +\begin{codeblocktu}{Translation unit \#1} +export module stuff; +export template void foo(T, U u) { auto v = u; } +export template void bar(T, U u) { auto v = *u; } +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#2} +export module M1; +import "defn.h"; // provides \tcode{struct X \{\};} +import stuff; +export template void f(T t) { + X x; + foo(t, x); +} +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#3} +export module M2; +import "decl.h"; // provides \tcode{struct X;} (not a definition) +import stuff; +export template void g(T t) { + X *x; + bar(t, x); +} +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#4} +import M1; +import M2; +void test() { + f(0); + g(0); +} +\end{codeblocktu} +The call to \tcode{f(0)} is valid; +the instantiation context of \tcode{foo} comprises +\begin{itemize} +\item the point at the end of translation unit \#1, +\item the point at the end of translation unit \#2, and +\item the point of the call to \tcode{f(0)}, +\end{itemize} +so the definition of \tcode{X} is reachable (\ref{module.reach}). + +It is unspecified whether the call to \tcode{g(0)} is valid: +the instantiation context of \tcode{bar} comprises +\begin{itemize} +\item the point at the end of translation unit \#1, +\item the point at the end of translation unit \#3, and +\item the point of the call to \tcode{g(0)}, +\end{itemize} +so the definition of \tcode{X} is not necessarily reachable, +as described in \ref{module.reach}. +\end{example} + +\rSec1[module.reach]{Reachability} + +\indextext{necessarily reachable|see{reachable!necessarily}} +\pnum +A translation unit $U$ is +\defnx{necessarily reachable}{reachable!necessarily!translation unit} +from a point $P$ if +$U$ is a module interface unit on which the translation unit containing $P$ +has an interface dependency, or +the translation unit containing $P$ imports $U$, +in either case prior to $P$ (\ref{module.import}). +\begin{note} +While module interface units are reachable even when they are only +transitively imported via a non-exported import declaration, +namespace-scope names from such module interface units are not visible +to name lookup\iref{basic.scope.namespace}. +\end{note} + +\pnum +All translation units that are necessarily reachable are +\defnx{reachable}{reachable!translation unit}. +It is unspecified whether additional translation units on which the +point within the program has an interface dependency are considered reachable, +and under what circumstances.% +\footnote{Implementations are therefore not required to prevent the semantic +effects of additional translation units involved in the compilation from being +observed.} +\begin{note} +It is advisable to avoid +depending on the reachability of any additional translation units +in programs intending to be portable. +\end{note} + +\pnum +A declaration $D$ is +\defnx{reachable}{reachable!declaration} or +\defnx{necessarily reachable}{reachable!necessarily!declaration}, +respectively, if, +for any point $P$ in the +instantiation context\iref{module.context}, +\begin{itemize} +\item $D$ appears prior to $P$ in the same translation unit, or +\item $D$ is not discarded\iref{module.global}, +appears in a translation unit that is +reachable or necessarily reachable from $P$, respectively, +and +either does not appear within a \grammarterm{private-module-fragment} +or appears in a \grammarterm{private-module-fragment} +of the module containing $P$. +\end{itemize} +\begin{note} +Whether a declaration is exported has no bearing on whether it is reachable. +\end{note} + +\pnum +The accumulated properties of all reachable declarations of +an entity within a context +determine the behavior of the entity within that context. +\begin{note} +These reachable semantic properties include type completeness, +type definitions, initializers, +default arguments of functions or template declarations, attributes, +visibility of class or enumeration member names to ordinary lookup, +etc. +Since default arguments are evaluated in the context of the call expression, +the reachable semantic properties of the corresponding parameter types apply in +that context. +\begin{example} +\begin{codeblocktu}{Translation unit \#1} +export module M:A; +export struct B; +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#2} +module M:B; +struct B { + operator int(); +}; +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#3} +module M:C; +import :A; +B b1; // error: no reachable definition of \tcode{struct B} +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#4} +export module M; +export import :A; +import :B; +B b2; +export void f(B b = B()); +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit \#5} +module X; +import M; +B b3; // error: no reachable definition of \tcode{struct B} +void g() { f(); } // error: no reachable definition of \tcode{struct B} +\end{codeblocktu} +\end{example} +\end{note} + +\pnum +\begin{note} +An entity can have reachable declarations +even if it is not visible to name lookup. +\end{note} +\begin{example} +\begin{codeblock} +export module A; +struct X {}; +export using Y = X; + +module B; +import A; +Y y; // OK, definition of \tcode{X} is reachable +X x; // ill-formed: \tcode{X} not visible to unqualified lookup +\end{codeblock} +\end{example} diff --git a/source/overloading.tex b/source/overloading.tex index 2e1b9b2e32..26a6c0013a 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -3583,8 +3583,9 @@ the constraints described above, they are ordinary namespace-scope functions and function templates. In particular, they are looked up like ordinary functions and function templates and they follow the same overload resolution rules. Also, -they can be declared \tcode{inline} or \tcode{constexpr}, they may have internal -or external linkage, they can be called explicitly, their addresses can be +they can be declared \tcode{inline} or \tcode{constexpr}, +they may have internal, module, or external linkage, +they can be called explicitly, their addresses can be taken, etc. \end{note} \pnum diff --git a/source/preprocessor.tex b/source/preprocessor.tex index 8bc6ecba14..50696f5bcc 100644 --- a/source/preprocessor.tex +++ b/source/preprocessor.tex @@ -161,6 +161,7 @@ The implementation can process and skip sections of source files conditionally, include other source files, +import macros from header units, and replace macros. These capabilities are called \defn{preprocessing}, @@ -205,13 +206,17 @@ h-pp-tokens h-preprocessing-token \end{bnf} +\begin{bnf} +\nontermdef{header-name-tokens}\br + string-literal\br + \terminal{<} h-pp-tokens \terminal{>} +\end{bnf} + \indextext{\idxxname{has_include}}% \begin{bnf} \nontermdef{has-include-expression}\br - \terminal{\xname{has_include} ( <} h-char-sequence \terminal{> )}\br - \terminal{\xname{has_include} ( "} q-char-sequence \terminal{" )}\br - \terminal{\xname{has_include} (} string-literal \terminal{)}\br - \terminal{\xname{has_include} ( <} h-pp-tokens \terminal{> )} + \terminal{\xname{has_include}} \terminal{(} header-name \terminal{)}\br + \terminal{\xname{has_include}} \terminal{(} header-name-tokens \terminal{)} \end{bnf} \indextext{\idxxname{has_cpp_attribute}}% @@ -238,7 +243,9 @@ if the identifier is currently defined as a macro name (that is, if it is predefined -or if it has been the subject of a +or if it has one or more active macro definitions\iref{cpp.module}, +for example because +it has been the subject of a \tcode{\#define} preprocessing directive without an intervening @@ -246,8 +253,8 @@ directive with the same subject identifier), \tcode{0} if it is not. \pnum -The third and fourth forms of \grammarterm{has-include-expression} -are considered only if neither of the first or second forms matches, +The second form of \grammarterm{has-include-expression} +is considered only if the first form does not match, in which case the preprocessing tokens are processed just as in normal text. \pnum @@ -611,6 +618,15 @@ directive in another file, up to an \impldef{nesting limit for \tcode{\#include} directives} nesting limit. +\pnum +If the header identified by the \grammarterm{header-name} +denotes an importable header\iref{module.import}, +the preprocessing directive +is instead replaced by the \grammarterm{preprocessing-token}{s} +\begin{ncbnf} +\terminal{import} header-name \terminal{;} +\end{ncbnf} + \pnum \begin{note} Although an implementation may provide a mechanism for making arbitrary @@ -646,6 +662,188 @@ \end{codeblock} \end{example} +\rSec1[cpp.glob.frag]{Global module fragment} + +\begin{bnf} +\nontermdef{pp-global-module-fragment}\br + \terminal{module} \terminal{;} pp-balanced-token-seq \terminal{module} +\end{bnf} + +\pnum +If the first two preprocessing tokens at the start of phase 4 of translation +are \tcode{module} \tcode{;}, +the result of preprocessing shall begin with +a \grammarterm{pp-global-module-fragment} +for which all \grammarterm{preprocessing-token}{s} +in the \grammarterm{pp-balanced-token-seq} +were produced directly or indirectly by source file inclusion\iref{cpp.include}, +and for which the second \tcode{module} \grammarterm{preprocessing-token} +was not produced by source file inclusion or +macro replacement\iref{cpp.replace}. +Otherwise, +the first two preprocessing tokens at the end of phase 4 of translation +shall not be \tcode{module} \tcode{;}. + +\rSec1[cpp.module]{Header units} +\indextext{header unit!preprocessing}% +\indextext{macro import|(}% + +\begin{bnf} +\nontermdef{import-seq}\br + \opt{top-level-token-seq} \opt{\terminal{export}} \terminal{import} +\end{bnf} + +\begin{bnf} +\nontermdef{top-level-token-seq}\br + \descr{any \grammarterm{pp-balanced-token-seq} ending in \terminal{;} or \terminal{\}}} +\end{bnf} + +\begin{bnf} +\nontermdef{pp-import}\br + \terminal{import} header-name \opt{pp-import-suffix} \terminal{;}\br + \terminal{import} header-name-tokens \opt{pp-import-suffix} \terminal{;} +\end{bnf} + +\begin{bnf} +\nontermdef{pp-import-suffix}\br + pp-import-suffix-token\br + pp-import-suffix pp-import-suffix-token +\end{bnf} + +\begin{bnf} +\nontermdef{pp-import-suffix-token}\br + \descr{any \grammarterm{pp-balanced-token} other than \terminal{;}} +\end{bnf} + +\begin{bnf} +\nontermdef{pp-balanced-token-seq}\br + pp-balanced-token\br + pp-balanced-token-seq pp-balanced-token +\end{bnf} + +\begin{bnf} +\nontermdef{pp-balanced-token}\br + pp-ldelim \opt{pp-balanced-token-seq} pp-rdelim\br + \descr{any \grammarterm{preprocessing-token} other than a \grammarterm{pp-ldelim} or \grammarterm{pp-rdelim}} +\end{bnf} + +\begin{bnf} +\nontermdef{pp-ldelim} \descr{one of}\br + \terminal{( [ \{ <: <\%} +\end{bnf} + +\begin{bnf} +\nontermdef{pp-rdelim} \descr{one of}\br + \terminal{) ] \} :> \%>} +\end{bnf} + +\pnum +A sequence of \grammarterm{preprocessing-token}{s} +matching the form of a \grammarterm{pp-import} +instructs the preprocessor to import macros +from the header unit\iref{module.import} +denoted by the \grammarterm{header-name}. +A \grammarterm{pp-import} is only recognized +when the sequence of tokens +produced by phase 4 of translation +up to the \tcode{import} token +forms an \grammarterm{import-seq}, +and the \tcode{import} token is not within +the \grammarterm{header-name-tokens} or \grammarterm{pp-import-suffix} +of another \grammarterm{pp-import}. +The \tcode{;} \grammarterm{preprocessing-token} +terminating a \grammarterm{pp-import} +shall not have been produced by +macro replacement\iref{cpp.replace}. +The \defnadj{point of}{macro import} for a \grammarterm{pp-import} is +immediately after the \tcode{;} terminating the \grammarterm{pp-import}. + +\pnum +In the second form of \grammarterm{pp-import}, +a \grammarterm{header-name} token is formed as if +the \grammarterm{header-name-tokens} +were the \grammarterm{pp-tokens} of a \tcode{\#include} directive. +The \grammarterm{header-name-tokens} are replaced by +the \grammarterm{header-name} token. +\begin{note} +This ensures that imports are treated consistently by +the preprocessor and later phases of translation. +\end{note} + +\pnum +Each \tcode{\#define} directive encountered when preprocessing +each translation unit in a program results in a distinct +\defn{macro definition}. +Importing macros from a header unit makes macro definitions +from a translation unit visible in other translation units. +Each macro definition has at most one point of definition in +each translation unit and at most one point of undefinition, as follows: +\begin{itemize} +\item +The \defnx{point of definition}{macro definition!point of definition} +of a macro definition within a translation unit +is the point at which its \tcode{\#define} directive occurs (in the translation +unit containing the \tcode{\#define} directive), or, +if the macro name is not lexically identical to a keyword\iref{lex.key} +or to the \grammarterm{identifier}{s} \tcode{module} or \tcode{import}, +the first point +of macro import of a translation unit containing a point of definition for the +macro definition, if any (in any other translation unit). + +\item +The \defnx{point of undefinition}{macro definition!point of undefinition} +of a macro definition within a translation unit +is the first point at which a \tcode{\#undef} directive naming the macro occurs +after its point of definition, or the first point +of macro import of a translation unit containing a point of undefinition for the +macro definition, whichever (if any) occurs first. +\end{itemize} + +\pnum +A macro directive is \defnx{active}{macro definition!active} at a source location +if it has a point of definition in that translation unit preceding the location, +and does not have a point of undefinition in that translation unit preceding +the location. + +\pnum +If a macro would be replaced or redefined, and multiple macro definitions +are active for that macro name, the active macro definitions shall all be +valid redefinitions of the same macro\iref{cpp.replace}. +\begin{note} +The relative order of \grammarterm{pp-import}{s} has no bearing on whether a +particular macro definition is active. +\end{note} + +\pnum +\begin{example} +\begin{codeblocktu}{Importable header \tcode{"a.h"}} +#define X 123 // \#1 +#define Y 45 // \#2 +#define Z a // \#3 +#undef X // point of undefinition of \#1 in \tcode{"a.h"} +\end{codeblocktu} + +\begin{codeblocktu}{Importable header \tcode{"b.h"}} +import "a.h"; // point of definition of \#1, \#2, and \#3, point of undefinition of \#1 in \tcode{"b.h"} +#define X 456 // OK, \#1 is not active +#define Y 6 // error: \#2 is active +\end{codeblocktu} + +\begin{codeblocktu}{Importable header \tcode{"c.h"}} +#define Y 45 // \#4 +#define Z c // \#5 +\end{codeblocktu} + +\begin{codeblocktu}{Importable header \tcode{"d.h"}} +import "a.h"; // point of definition of \#1, \#2, and \#3, point of undefinition of \#1 in \tcode{"d.h"} +import "c.h"; // point of definition of \#4 and \#5 in \tcode{"d.h"} +int a = Y; // OK, active macro definitions \#2 and \#3 are valid redefinitions +int c = Z; // error: active macro definitions \#2 and \#3 are not valid redefinitions of \tcode{Z} +\end{codeblocktu} +\end{example} + +\indextext{macro import|)}% + \rSec1[cpp.replace]{Macro replacement}% \indextext{macro!replacement|(}% \indextext{replacement!macro|see{macro, replacement}}% diff --git a/source/std.tex b/source/std.tex index a87c75c129..1d9c01fb5a 100644 --- a/source/std.tex +++ b/source/std.tex @@ -106,6 +106,7 @@ \include{expressions} \include{statements} \include{declarations} +\include{modules} \include{classes} \include{overloading} \include{templates} diff --git a/source/templates.tex b/source/templates.tex index 1af8343a13..9643f0ab24 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -130,6 +130,8 @@ A \grammarterm{template-declaration} can appear only as a namespace scope or class scope declaration. +Its \grammarterm{declaration} shall not be an +\grammarterm{export-declaration}. In a function template declaration, the last component of the \grammarterm{declarator-id} shall not be a @@ -5391,19 +5393,28 @@ point for the specialization or specializations specified by the explicit instantiation. -\pnum -The instantiation context of an expression that depends on the template -arguments is the set of declarations with external linkage declared prior to the -point of instantiation of the template specialization in the same translation -unit. - \pnum A specialization for a function template, a member function template, or of a member function or static data member of a class template may have multiple points of instantiations within a translation unit, and in addition -to the points of instantiation described above, for any such specialization -that has a point of instantiation within the translation unit, the end of the -translation unit is also considered a point of instantiation. +to the points of instantiation described above, +\begin{itemize} +\item +for any such +specialization that has a point of instantiation within the +\grammarterm{top-level-declaration-seq} of the +translation unit, +prior to the \grammarterm{private-module-fragment} (if any), +the point after the \grammarterm{top-level-declaration-seq} +of the \grammarterm{translation-unit} +is also considered a point of instantiation, +and +\item +for any such specialization that has a point of instantiation +within the \grammarterm{private-module-fragment}, +the end of the translation unit is also +considered a point of instantiation. +\end{itemize} A specialization for a class template has at most one point of instantiation within a translation unit. A specialization for any template may have points of instantiation in multiple @@ -5419,19 +5430,13 @@ For a function call where the \grammarterm{postfix-expression} is a dependent name, the candidate functions are found using the usual lookup -rules~(\ref{basic.lookup.unqual}, \ref{basic.lookup.argdep}) except that: - -\begin{itemize} -\item -For the part of the lookup using unqualified name lookup\iref{basic.lookup.unqual}, -only function declarations -from the template definition context are found. -\item +rules from the template definition context +(\ref{basic.lookup.unqual}, \ref{basic.lookup.argdep}). +\begin{note} For the part of the lookup using associated namespaces\iref{basic.lookup.argdep}, -only function declarations found in either the template -definition context or the template instantiation context are found. -\end{itemize} - +function declarations found in the template instantiation context +are found by this lookup, as described in \ref{basic.lookup.argdep}. +\end{note} If the call would be ill-formed or would find a better match had the lookup within the associated namespaces considered all the function declarations with @@ -5439,6 +5444,166 @@ not just considering those declarations found in the template definition and template instantiation contexts, then the program has undefined behavior. +\pnum +\begin{example} +\begin{codeblocktu}{Source file \tcode{"X.h"}} +namespace Q { + struct X { }; +} +\end{codeblocktu} + +\begin{codeblocktu}{Source file \tcode{"G.h"}} +namespace Q { + void g_impl(X, X); +} +\end{codeblocktu} + +\begin{codeblocktu}{Module interface unit of \tcode{M1}} +module; +#include "X.h" +#include "G.h" +export module M1; +export template +void g(T t) { + g_impl(t, Q::X{ }); // ADL in definition context finds \tcode{Q::g_impl}, \tcode{g_impl} not discarded +} +\end{codeblocktu} + +\begin{codeblocktu}{Module interface unit of \tcode{M2}} +module; +#include "X.h" +export module M2; +import M1; +void h(Q::X x) { + g(x); // OK +} +\end{codeblocktu} +\end{example} + +\pnum +\begin{example} +\begin{codeblocktu}{Module interface unit of \tcode{Std}} +export module Std; +export template +void indirect_swap(Iter lhs, Iter rhs) +{ + swap(*lhs, *rhs); // \tcode{swap} not found by unqualified lookup, can be found only via ADL +} +\end{codeblocktu} + +\begin{codeblocktu}{Module interface unit of \tcode{M}} +export module M; +import Std; + +struct S { /* ...*/ }; +void swap(S&, S&); // \#1 + +void f(S* p, S* q) +{ + indirect_swap(p, q); // finds \#1 via ADL in instantiation context +} +\end{codeblocktu} +\end{example} + +\pnum +\begin{example} +\begin{codeblocktu}{Source file \tcode{"X.h"}} +struct X { /* ... */ }; +X operator+(X, X); +\end{codeblocktu} + +\begin{codeblocktu}{Module interface unit of \tcode{F}} +export module F; +export template +void f(T t) { + t + t; +} +\end{codeblocktu} + +\begin{codeblocktu}{Module interface unit of \tcode{M}} +module; +#include "X.h" +export module M; +import F; +void g(X x) { + f(x); // OK: instantiates \tcode{f} from \tcode{F}, + // \tcode{operator+} is visible in instantiation context +} +\end{codeblocktu} +\end{example} + +\pnum +\begin{example} +\begin{codeblocktu}{Module interface unit of \tcode{A}} +export module A; +export template +void f(T t) { + cat(t, t); // \#1 + dog(t, t); // \#2 +} +\end{codeblocktu} + +\begin{codeblocktu}{Module interface unit of \tcode{B}} +export module B; +import A; +export template +void g(T t, U u) { + f(t); +} +\end{codeblocktu} + +\begin{codeblocktu}{Source file \tcode{"foo.h"}, not an importable header} +struct foo { + friend int cat(foo, foo); +}; +int dog(foo, foo); +\end{codeblocktu} + +\begin{codeblocktu}{Module interface unit of \tcode{C1}} +module; +#include "foo.h" // \tcode{dog} not referenced, discarded +export module C1; +import B; +export template +void h(T t) { + g(foo{ }, t); +} +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit} +import C1; +void i() { + h(0); // error: \tcode{dog} not found at \#2 +} +\end{codeblocktu} + +\begin{codeblocktu}{Importable header \tcode{"bar.h"}} +struct bar { + friend int cat(bar, bar); +}; +int dog(bar, bar); +\end{codeblocktu} + +\begin{codeblocktu}{Module interface unit of \tcode{C2}} +module; +#include "bar.h" // imports header unit \tcode{"bar.h"} +export module C2; +import B; +export template +void j(T t) { + g(bar{ }, t); +} +\end{codeblocktu} + +\begin{codeblocktu}{Translation unit} +import C2; +void k() { + j(0); // OK, \tcode{dog} found in instantiation context: + // visible at end of module interface unit of \tcode{C2} +} +\end{codeblocktu} +\end{example} + \rSec2[temp.inject]{Friend names declared within a class template} \pnum From 925daa0d6aa8f8c41a291dc3ef75b94569427aa0 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Mon, 4 Mar 2019 13:27:15 +0100 Subject: [PATCH 064/148] P1185R2 <=> != == --- source/classes.tex | 133 +++++++++++++++++++++++++++++++++-------- source/overloading.tex | 35 ++++++++--- source/templates.tex | 13 ++-- 3 files changed, 139 insertions(+), 42 deletions(-) diff --git a/source/classes.tex b/source/classes.tex index f4ed78d86f..f344933558 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -6642,28 +6642,51 @@ declared in the \grammarterm{member-specification} of \tcode{C} that is \begin{itemize} -\item a non-static member of \tcode{C} having one parameter of type \tcode{const C\&}, or +\item a non-static const member of \tcode{C} having one parameter of type \tcode{const C\&}, or \item a friend of \tcode{C} having two parameters of type \tcode{const C\&}. \end{itemize} \pnum -\indextext{structural comparison operator|see{operator, structural comparison}}% -A three-way comparison operator for a class type \tcode{C} -is a \defnadj{structural comparison}{operator} -if it is defined as defaulted in the definition of \tcode{C}, -and all three-way comparison operators it invokes -are structural comparison operators. -\indextext{strong structural equality|see{equality, strong structural}}% -A type \tcode{T} -has \defnadj{strong structural}{equality} -if, for a glvalue \tcode{x} of type \tcode{const T}, -\tcode{x <=> x} is a valid expression -of type \tcode{std::strong_ordering} or \tcode{std::strong_equality} -and either does not invoke a three-way comparison operator -or invokes a structural comparison operator. +If the class definition +does not explicitly declare an \tcode{==} operator function, +but declares a defaulted three-way comparison operator function, +an \tcode{==} operator function is declared implicitly +with the same access as the three-way comparison operator function. +The implicitly-declared \tcode{==} operator for a class \tcode{X} +is an inline member and is defined as defaulted in the definition of \tcode{X}. +If the three-way comparison operator function +is declared as a non-static const member, +the implicitly-declared \tcode{==} operator function is a member of the form +\begin{codeblock} +bool X::operator==(const X&) const; +\end{codeblock} +Otherwise, the implicitly-declared \tcode{==} operator function is of the form +\begin{codeblock} +friend bool operator==(const X&, const X&); +\end{codeblock} +The operator is a \tcode{constexpr} function if its definition +would satisfy the requirements for a \tcode{constexpr} function. +\begin{note} +The \tcode{==} operator function is declared implicitly even if +the defaulted three-way comparison operator function is defined as deleted. +\end{note} -\rSec2[class.spaceship]{Three-way comparison} -\indextext{operator!three-way comparison!defaulted}% +\pnum +\indextext{structural comparison operator|see{operator, structural comparison}}% +A type \tcode{C} has \defnadj{strong structural}{equality} if, +given a glvalue \tcode{x} of type \tcode{const C}, either: +\begin{itemize} +\item + \tcode{C} is a non-class type and \tcode{x <=> x} is a valid expression + of type \tcode{std::strong_ordering} or \tcode{std::strong_equality}, or +\item + \tcode{C} is a class type with an \tcode{==} operator + defined as defaulted in the definition of \tcode{C}, + \tcode{x == x} is well-formed when contextually converted to \tcode{bool}, + all of \tcode{C}'s base class subobjects and non-static data members + have strong structural equality, and + \tcode{C} has no \tcode{mutable} or \tcode{volatile} subobjects. +\end{itemize} \pnum The direct base class subobjects of \tcode{C}, @@ -6681,12 +6704,73 @@ derived-to-base conversions\iref{over.best.ics}, class member access expressions\iref{expr.ref}, and array subscript expressions\iref{expr.sub} applied to \tcode{x}. -The type of the expression $\tcode{x}_i$ \tcode{<=>} $\tcode{x}_i$ -is denoted by $\tcode{R}_i$. -It is unspecified -whether virtual base class subobjects are compared more than once. +It is unspecified whether virtual base class subobjects +appear more than once in the expanded list of subobjects. + +\rSec2[class.eq]{Equality operators} +\indextext{operator!equality!defaulted}% +\indextext{operator!inequality!defaulted}% \pnum +A defaulted equality operator\iref{expr.eq} function +shall have a declared return type \tcode{bool}. + +\pnum +A defaulted \tcode{==} operator function for a class \tcode{C} +is defined as deleted +unless, for each $\tcode{x}_i$ in the expanded list of subobjects +for an object \tcode{x} of type \tcode{C}, +$\tcode{x}_i\tcode{ == }\tcode{x}_i$ is a valid expression and +contextually convertible to \tcode{bool}. + +\pnum +The return value \tcode{V} of a defaulted \tcode{==} operator function +with parameters \tcode{x} and \tcode{y} is determined +by comparing corresponding elements $\tcode{x}_i$ and $\tcode{y}_i$ +in the expanded lists of subobjects for \tcode{x} and \tcode{y} +until the first index $i$ +where $\tcode{x}_i\tcode{ == }\tcode{y}_i$ yields a result value which, +when contextually converted to \tcode{bool}, yields \tcode{false}. +If no such index exists, \tcode{V} is \tcode{true}. +Otherwise, \tcode{V} is \tcode{false}. + +\pnum +A defaulted \tcode{!=} operator function for a class \tcode{C} +with parameters \tcode{x} and \tcode{y} is defined as deleted if +\begin{itemize} +\item + overload resolution\iref{over.match}, as applied to \tcode{x == y} + (also considering synthesized candidates + with reversed order of parameters\iref{over.match.oper}), + results in an ambiguity or a function + that is deleted or inaccessible from the operator function, or +\item + \tcode{x == y} or \tcode{y == x} + cannot be contextually converted to \tcode{bool}. +\end{itemize} +Otherwise, the operator function yields \tcode{(x == y) ? false : true} +if an operator \tcode{==} with the original order of parameters was selected, +or \tcode{(y == x) ? false : true} otherwise. + +\pnum +\begin{example} +\begin{codeblock} +struct D { + int i; + friend bool operator==(const D& x, const D& y) = default; + // OK, returns \tcode{x.i == y.i} + bool operator!=(const D& z) const = default; // OK, returns \tcode{(*this == z) ?\ false :\ true} +}; +\end{codeblock} +\end{example} + +\rSec2[class.spaceship]{Three-way comparison} +\indextext{operator!three-way comparison!defaulted}% + +\pnum +Given an expanded list of subobjects for an object \tcode{x} of type \tcode{C}, +the type of the expression $\tcode{x}_i$ \tcode{<=>} $\tcode{x}_i$ +is denoted by $\tcode{R}_i$. If the declared return type of a defaulted three-way comparison operator function is \tcode{auto}, @@ -6756,13 +6840,11 @@ \end{note} \end{itemize} -\rSec2[class.rel.eq]{Other comparison operators} +\rSec2[class.rel]{Relational operators} \indextext{operator!relational!defaulted}% -\indextext{operator!equality!defaulted}% -\indextext{operator!inequality!defaulted}% \pnum -A defaulted relational\iref{expr.rel} or equality\iref{expr.eq} operator function +A defaulted relational\iref{expr.rel} operator function for some operator \tcode{@} shall have a declared return type \tcode{bool}. @@ -6796,7 +6878,6 @@ \begin{codeblock} struct C { friend std::strong_equality operator<=>(const C&, const C&); - friend bool operator==(const C&, const C&) = default; // OK, returns \tcode{x <=> y == 0} bool operator<(const C&) const = default; // OK, function is deleted }; \end{codeblock} diff --git a/source/overloading.tex b/source/overloading.tex index 26a6c0013a..071495eadb 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -1072,18 +1072,14 @@ \end{itemize} \item -For the -relational\iref{expr.rel} and -equality\iref{expr.eq} operators, +For the relational\iref{expr.rel} operators, the rewritten candidates include all member, non-member, and built-in candidates for the operator \tcode{<=>} for which the rewritten expression \tcode{(x <=> y) @ 0} is well-formed using that \tcode{operator<=>}. For the -relational\iref{expr.rel}, -equality\iref{expr.eq}, -and +relational\iref{expr.rel} and three-way comparison\iref{expr.spaceship} operators, the rewritten candidates also include @@ -1093,6 +1089,18 @@ for the operator \tcode{<=>} for which the rewritten expression \tcode{0 @ (y <=> x)} is well-formed using that \tcode{operator<=>}. +For the \tcode{!=} operator\iref{expr.eq}, +the rewritten candidates +include all member, non-member, and built-in candidates +for the operator \tcode{==} +for which the rewritten expression \tcode{(x == y)} is well-formed +when contextually converted to \tcode{bool} using that operator \tcode{==}. +For the equality operators, +the rewritten candidates also include a synthesized candidate, +with the order of the two parameters reversed, +for each member, non-member, and built-in candidate for the operator \tcode{==} +for which the rewritten expression \tcode{(y == x)} is well-formed +when contextually converted to \tcode{bool} using that operator \tcode{==}. \begin{note} A candidate synthesized from a member candidate has its implicit object parameter as the second parameter, thus implicit conversions @@ -1151,8 +1159,8 @@ \end{example} \pnum -If a rewritten candidate -is selected by overload resolution for an operator \tcode{@}, +If a rewritten candidate is selected by overload resolution +for a relational or three-way comparison operator \tcode{@}, \tcode{x @ y} is interpreted as the rewritten expression: \tcode{0 @ (y <=> x)} @@ -1160,6 +1168,17 @@ with reversed order of parameters, or \tcode{(x <=> y) @ 0} otherwise, using the selected rewritten \tcode{operator<=>} candidate. +If a rewritten candidate is selected by overload resolution +for a \tcode{!=} operator, +\tcode{x != y} is interpreted as \tcode{(y == x) ?\ false :\ true} +if the selected candidate is a synthesized candidate +with reversed order of parameters, or +\tcode{(x == y) ?\ false :\ true} otherwise, +using the selected rewritten \tcode{operator==} candidate. +If a rewritten candidate is selected by overload resolution +for an \tcode{==} operator, +\tcode{x == y} is interpreted as \tcode{(y == x) ?\ true :\ false} +using the selected rewritten \tcode{operator==} candidate. \pnum If a built-in candidate is selected by overload resolution, the diff --git a/source/templates.tex b/source/templates.tex index 9643f0ab24..6ff9d6482b 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -371,11 +371,8 @@ shall have one of the following (optionally cv-qualified) types: \begin{itemize} -\item a type that is literal, -has strong structural equality\iref{class.compare.default}, -has no \tcode{mutable} or \tcode{volatile} subobjects, -and in which if there is a defaulted member \tcode{operator<=>}, -then it is declared public, +\item a type that is literal and + has strong structural equality\iref{class.compare.default}, \item an lvalue reference type, @@ -418,7 +415,7 @@ \end{note} \begin{example} \begin{codeblock} -struct A { friend auto operator<=>(const A&, const A&) = default; }; +struct A { friend bool operator==(const A&, const A&) = default; }; template void f() { i++; // error: change of template-parameter value @@ -1282,7 +1279,7 @@ struct A { constexpr A(const char*) {} - friend auto operator<=>(const A&, const A&) = default; + friend bool operator==(const A&, const A&) = default; }; X z; // OK, string literal is a constructor argument to \tcode{A} @@ -1947,7 +1944,7 @@ have the same type and value after conversion to the type of the \grammarterm{template-parameter}, where they are considered to have the same value if they compare equal -with \tcode{operator<=>}, and} +with \tcode{operator==}, and} \item {their corresponding template \grammarterm{template-argument}{s} refer to the same template.} \end{itemize} From caa5c8aedecdf68cfda4f5d95ec9d20451953117 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 5 Mar 2019 19:05:25 +0100 Subject: [PATCH 065/148] [class.compare.default] Add a note that friends are found by ADL only. --- source/classes.tex | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/classes.tex b/source/classes.tex index f344933558..b5c639d482 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -6664,6 +6664,11 @@ \begin{codeblock} friend bool operator==(const X&, const X&); \end{codeblock} +\begin{note} +Such a friend function is visible +to argument-dependent lookup\iref{basic.lookup.argdep} +only\iref{namespace.memdef}. +\end{note} The operator is a \tcode{constexpr} function if its definition would satisfy the requirements for a \tcode{constexpr} function. \begin{note} From 007c0c1a619417f94c2c4efb57be71c09f2c2870 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Wed, 6 Mar 2019 21:32:09 +0100 Subject: [PATCH 066/148] [temp.type] Do not refer to operator==, which excludes built-in ==. --- source/templates.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/templates.tex b/source/templates.tex index 6ff9d6482b..e97a4afb3a 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -1944,7 +1944,7 @@ have the same type and value after conversion to the type of the \grammarterm{template-parameter}, where they are considered to have the same value if they compare equal -with \tcode{operator==}, and} +with the \tcode{==} operator\iref{expr.eq}, and} \item {their corresponding template \grammarterm{template-argument}{s} refer to the same template.} \end{itemize} From c0058816fdfe079095ca8717ad692dc2d498d6a3 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 11 Mar 2019 20:11:46 -0700 Subject: [PATCH 067/148] [class.eq] Remove redundant repetition of the operator== symmetry rule. --- source/classes.tex | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/source/classes.tex b/source/classes.tex index b5c639d482..a181523a20 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -6750,12 +6750,9 @@ results in an ambiguity or a function that is deleted or inaccessible from the operator function, or \item - \tcode{x == y} or \tcode{y == x} - cannot be contextually converted to \tcode{bool}. + \tcode{x == y} cannot be contextually converted to \tcode{bool}. \end{itemize} -Otherwise, the operator function yields \tcode{(x == y) ? false : true} -if an operator \tcode{==} with the original order of parameters was selected, -or \tcode{(y == x) ? false : true} otherwise. +Otherwise, the operator function yields \tcode{(x == y) ?\ false :\ true}. \pnum \begin{example} From d69814f61077f7e549ccc39a21fc3b90db4223d6 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 11 Mar 2019 20:12:17 -0700 Subject: [PATCH 068/148] [temp.param] "a type that is literal" -> "a literal type". --- source/templates.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/templates.tex b/source/templates.tex index e97a4afb3a..9d725db851 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -371,7 +371,7 @@ shall have one of the following (optionally cv-qualified) types: \begin{itemize} -\item a type that is literal and +\item a literal type that has strong structural equality\iref{class.compare.default}, \item an lvalue reference type, From 0a5aa3190a4b7f7674e51bd9db74215a522e601c Mon Sep 17 00:00:00 2001 From: GorNishanov Date: Tue, 5 Mar 2019 12:11:09 -0800 Subject: [PATCH 069/148] .gitignore: add .synctex* exclusion --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index bfe502c1da..bcaa1569dd 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ std-gram.ext .tags_sorted_by_file tools/sections *.synctex.gz +*.synctex* From 5ea21817b8198e472ee6638de1344938596e30b1 Mon Sep 17 00:00:00 2001 From: GorNishanov Date: Mon, 25 Feb 2019 16:20:02 -1000 Subject: [PATCH 070/148] P0912R5 Merge Coroutines TS --- source/basic.tex | 7 +- source/classes.tex | 25 +- source/compatibility.tex | 5 + source/declarations.tex | 227 ++++++++++++++++++ source/expressions.tex | 225 +++++++++++++++++- source/lex.tex | 9 +- source/lib-intro.tex | 1 + source/overloading.tex | 16 +- source/preprocessor.tex | 1 + source/statements.tex | 52 ++++- source/support.tex | 490 +++++++++++++++++++++++++++++++++++++++ 11 files changed, 1040 insertions(+), 18 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 1fe27cfb6a..46b76af04a 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -3656,7 +3656,9 @@ \pnum A global allocation function is only called as the result of a new expression\iref{expr.new}, or called directly using the function call -syntax\iref{expr.call}, or called indirectly through calls to the +syntax\iref{expr.call}, or called indirectly to allocate storage for +a coroutine state\iref{dcl.fct.def.coroutine}, +or called indirectly through calls to the functions in the \Cpp{} standard library. \begin{note} In particular, a global allocation function is not called to allocate storage for objects with static storage duration\iref{basic.stc.static}, for objects or references @@ -5103,7 +5105,7 @@ duration\iref{basic.stc.auto} is associated with each entry into its block. Such an object exists and retains its last-stored value during the execution of the block and while the block is suspended (by a call -of a function or receipt of a signal). +of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal). \pnum A \defn{constituent expression} is defined as follows: @@ -6006,6 +6008,7 @@ \impldef{linkage of \tcode{main}}. A program that defines \tcode{main} as deleted or that declares \tcode{main} to be \tcode{inline}, \tcode{static}, or \tcode{constexpr} is ill-formed. +The function \tcode{main} shall not be a coroutine\iref{dcl.fct.def.coroutine}. The \tcode{main} function shall not be declared with a \grammarterm{linkage-specification}\iref{dcl.link}. A program that declares a variable \tcode{main} at global scope, diff --git a/source/classes.tex b/source/classes.tex index a181523a20..0672ace2ff 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -1306,6 +1306,9 @@ \indextext{constructor!address of}% The address of a constructor shall not be taken. +\pnum +A constructor shall not be a coroutine. + \rSec3[class.default.ctor]{Default constructors} \pnum @@ -2395,6 +2398,9 @@ \end{codeblock} \end{note} +\pnum +A destructor shall not be a coroutine. + \rSec2[class.conv]{Conversions} \pnum @@ -6495,6 +6501,11 @@ operand to the exception object\iref{except.throw} can be omitted by constructing the automatic object directly into the exception object +\item in a coroutine\iref{dcl.fct.def.coroutine}, a copy of a coroutine parameter +can be omitted and references to that copy replaced with references to the +corresponding parameter if the meaning of the program will be unchanged except for +the execution of a constructor and destructor for the parameter copy object + \item when the \grammarterm{exception-declaration} of an exception handler\iref{except} declares an object of the same type (except for cv-qualification) as the exception @@ -6572,7 +6583,7 @@ \pnum In the following copy-initialization contexts, a move operation might be used instead of a copy operation: \begin{itemize} -\item If the \grammarterm{expression} in a \tcode{return} statement\iref{stmt.return} +\item If the \grammarterm{expression} in a \tcode{return} or \tcode{co_return} statement\iref{stmt.return} is a (possibly parenthesized) \grammarterm{id-expression} that names an object with automatic storage duration declared in the body or \grammarterm{parameter-declaration-clause} of the innermost enclosing @@ -6585,16 +6596,20 @@ \grammarterm{try-block} (if there is one), \end{itemize} overload resolution to select the constructor -for the copy is first performed as if the object were designated by an +for the copy or the \tcode{return_value} overload to call +is first performed as if the object were designated by an rvalue. If the first overload resolution fails or was not performed, or if the type of the first parameter of the selected -constructor is not an rvalue reference to the object's type (possibly cv-qualified), +constructor or the \tcode{return_value} overload +is not an rvalue reference to the object's type (possibly cv-qualified), overload resolution is performed again, considering the object as an lvalue. \begin{note} This two-stage overload resolution must be performed regardless -of whether copy elision will occur. It determines the constructor to be called if -elision is not performed, and the selected constructor must be accessible even if +of whether copy elision will occur. It determines the constructor +or the \tcode{return_value} overload to be called if +elision is not performed, and the selected constructor +or the \tcode{return_value} overload must be accessible even if the call is elided. \end{note} diff --git a/source/compatibility.tex b/source/compatibility.tex index bb53ff732e..33e70c15ed 100644 --- a/source/compatibility.tex +++ b/source/compatibility.tex @@ -1819,6 +1819,9 @@ The \tcode{consteval} keyword is added to declare immediate functions\iref{dcl.constexpr}. \item +The \tcode{co_await}, \tcode{co_yield}, and \tcode{co_return} keywords are added +to enable the definition of coroutines \iref{dcl.fct.def.coroutine}. +\item The \tcode{requires} keyword is added to introduce constraints through a \grammarterm{requires-clause} or a \grammarterm{requires-expression}. @@ -1828,6 +1831,7 @@ \tcode{char8_t}, \tcode{concept}, \tcode{consteval}, +\tcode{co_await}, \tcode{co_yield}, \tcode{co_return}, or \tcode{requires} as an identifier is not valid in this International Standard. @@ -2062,6 +2066,7 @@ \tcode{}, \tcode{}, \tcode{}, +\tcode{}, \tcode{}, \tcode{}, \tcode{}, and diff --git a/source/declarations.tex b/source/declarations.tex index 436abdb33d..d83d080c0a 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -816,6 +816,9 @@ \item each of its parameter types shall be a literal type; +\item +it shall not be a coroutine\iref{dcl.fct.def.coroutine}; + \item its \grammarterm{function-body} shall not enclose\iref{stmt.stmt} \begin{itemize} @@ -1817,6 +1820,10 @@ A function declared with a return type that uses a placeholder type shall not be \tcode{virtual}\iref{class.virtual}. +\pnum +A function declared with a return type that uses a placeholder type shall not +be a coroutine\iref{dcl.fct.def.coroutine}. + \pnum An explicit instantiation declaration\iref{temp.explicit} does not cause the instantiation of an entity declared using a placeholder type, but it also does @@ -6208,6 +6215,226 @@ \end{example}% \indextext{definition!function|)} +\rSec2[dcl.fct.def.coroutine]{Coroutine definitions}% +\indextext{definition!coroutine}% + +\pnum +A function is a \defn{coroutine} if it contains a +\grammarterm{coroutine-return-statement}\iref{stmt.return.coroutine}, +an \grammarterm{await-expression}\iref{expr.await}, +or a \grammarterm{yield-expression}\iref{expr.yield}. +The \grammarterm{parameter-declaration-clause} of the coroutine shall not +terminate with an ellipsis that is not part of +a \grammarterm{parameter-declaration}. + +\pnum +\begin{example} +\begin{codeblock} +task f(); + +task g1() { + int i = co_await f(); + std::cout << "f() => " << i << std::endl; +} + +template +task g2(Args&&...) { // OK, ellipsis is a pack expansion + int i = co_await f(); + std::cout << "f() => " << i << std::endl; +} + +task g3(int a, ...) { // error: variable parameter list not allowed + int i = co_await f(); + std::cout << "f() => " << i << std::endl; +} +\end{codeblock} +\end{example} + +\pnum +For a coroutine \placeholder{f} that is a non-static member function, let +$\placeholder{P}_1$ denote the type of the implicit object +parameter\iref{over.match.funcs} and +$\placeholder{P}_2 \dotsc \placeholder{P}_n$ be the types of the function +parameters; +otherwise let $\placeholder{P}_1 \dotsc \placeholder{P}_n$ be the types of +the function parameters. +Let $\placeholder{p}_1 \dotsc \placeholder{p}_n$ be lvalues denoting those +objects. +Let \placeholder{R} be the return type and \placeholder{F} be the +\grammarterm{function-body} of \placeholder{f}, \placeholder{T} be the type +\tcode{std::coroutine_traits<$\placeholder{R}$, $\placeholder{P}_1$, $\dotsc$, $\placeholder{P}_n$>}, +and \placeholder{S} be the class type denoted by +\placeholder{T}\tcode{::promise_type}. +Then, the coroutine behaves as if its body were: +\begin{codeblock} +{ + @\placeholder{S} \placeholder{s} \placeholder{promise-constructor-arguments}@; + co_await @\placeholder{s}@.initial_suspend(); // initial suspend point + try { @\placeholder{F}@ } catch(...) { @\placeholder{s}@.unhandled_exception(); } +@\placeholder{final-suspend}@: + co_await @\placeholdernc{p}@.final_suspend(); // final suspend point +} +\end{codeblock} +where an object denoted as \placeholder{s} is the \defn{promise object} of +the coroutine and its type \placeholder{S} is the \defn{promise type} +of the coroutine, +and \placeholder{promise-constructor-arguments} is determined as follows: +overload resolution is performed on a promise constructor call created by +assembling an argument list with lvalues $p_1 \dotsc p_n$. If a viable +constructor is found\iref{over.match.viable}, then +\placeholder{promise-constructor-arguments} is +\tcode{($\placeholder{p}_1$, $\dotsc$, $\placeholder{p}_n$)}, otherwise +\placeholder{promise-constructor-arguments} is empty. + +\pnum +The \grammarterm{unqualified-id}{s} \tcode{return_void} +and \tcode{return_value} are looked up in the scope of class \placeholder{S}. +If both are found, the program is ill-formed. +\begin{note} +If the \grammarterm{unqualified-id} \tcode{return_void} is found, flowing off +the end of a coroutine is equivalent to a \tcode{co_return} with no operand. +Otherwise, flowing off the end of a coroutine +results in undefined behavior\iref{stmt.return.coroutine}. +\end{note} + +\pnum +When a coroutine returns to its caller, the return value is produced by a call +to \mbox{\tcode{\placeholder{s}.get_return_object()}}. A call to a +\tcode{get_return_object} is sequenced before the call to +\mbox{\tcode{initial_suspend}} and is invoked at most once. + +\pnum +A suspended coroutine can be resumed to continue execution by invoking +a resumption member function\iref{coroutine.handle.resumption} of an object of +type \tcode{coroutine_handle<\placeholder{S}>} associated with this instance +of the coroutine. The function that invoked a resumption member function is +called the \term{resumer}. Invoking a resumption member function for a coroutine +that is not suspended results in undefined behavior. + +\pnum +An implementation may need to allocate additional storage for a coroutine. +This storage is known as the \defn{coroutine state} and is obtained by calling +a non-array allocation function\iref{basic.stc.dynamic.allocation}. +The allocation function's name is looked up in the scope of \placeholder{S}. +If this lookup fails, the allocation function's name is looked up in the +global scope. +If the lookup finds an allocation function in the scope of \placeholder{S}, +overload resolution is performed on a function call created by assembling an +argument list. The first argument is the amount of space requested, and has +type \tcode{std::size_t}. The lvalues $p_1 \dotsc p_n$ are the succeeding +arguments. If no viable function is found\iref{over.match.viable}, overload +resolution is performed again on a function call created by passing just the +amount of space required as an argument of type \tcode{std::size_t}. + +\pnum +The \grammarterm{unqualified-id} \tcode{get_return_object_on_allocation_failure} +is looked up in the scope of class \placeholder{S} by class member access +lookup\iref{basic.lookup.classref}. If a declaration is found, then the result +of a call to an allocation function used to obtain storage for the coroutine +state is assumed to return \tcode{nullptr} if it fails to obtain storage, and +if a global allocation function is selected, the +\tcode{::operator new(size_t, nothrow_t)} form shall be used. +If an allocation function returns \tcode{nullptr}, the coroutine returns +control to the caller of the coroutine and the return value is obtained by a +call to \placeholder{S}\tcode{::get_return_object_on_allocation_failure()}. +The allocation function used in this case must have a non-throwing +\grammarterm{noexcept-specification}. + +\begin{example} +\begin{codeblock} +#include +#include + +// \tcode{::operator new(size_t, nothrow_t)} will be used if allocation is needed +struct generator { + struct promise_type; + using handle = std::coroutine_handle; + struct promise_type { + int current_value; + static auto get_return_object_on_allocation_failure() { return generator{nullptr}; } + auto get_return_object() { return generator{handle::from_promise(*this)}; } + auto initial_suspend() { return std::suspend_always{}; } + auto final_suspend() { return std::suspend_always{}; } + void unhandled_exception() { std::terminate(); } + void return_void() {} + auto yield_value(int value) { + current_value = value; + return std::suspend_always{}; + } + }; + bool move_next() { return coro ? (coro.resume(), !coro.done()) : false; } + int current_value() { return coro.promise().current_value; } + generator(generator const&) = delete; + generator(generator && rhs) : coro(rhs.coro) { rhs.coro = nullptr; } + ~generator() { if (coro) coro.destroy(); } +private: + generator(handle h) : coro(h) {} + handle coro; +}; +generator f() { co_yield 1; co_yield 2; } +int main() { + auto g = f(); + while (g.move_next()) std::cout << g.current_value() << std::endl; +} +\end{codeblock} +\end{example} + +\pnum +The coroutine state is destroyed when control flows off the end of the +coroutine or the \tcode{destroy} member +function\iref{coroutine.handle.resumption} of an object of type +\tcode{std::coroutine_handle<\placeholder{S}>} associated with this coroutine +is invoked. In the latter case objects with automatic storage duration that +are in scope at the suspend point are destroyed in the reverse order of the +construction. The storage for the coroutine state is released by calling a +non-array deallocation function\iref{basic.stc.dynamic.deallocation}. +If \tcode{destroy} is called for a coroutine that is not suspended, the +program has undefined behavior. + +\pnum +The deallocation function's name is looked up in the scope of \placeholder{S}. +If this lookup fails, the deallocation function's name is looked up in the +global scope. If deallocation function lookup finds both a usual deallocation +function with only a pointer parameter and a usual deallocation function with +both a pointer parameter and a size parameter, then the selected deallocation +function shall be the one with two parameters. Otherwise, the selected +deallocation function shall be the function with one parameter. If no usual +deallocation function is found, the program is ill-formed. +The selected deallocation function shall be called with the address of the +block of storage to be reclaimed as its first argument. If a deallocation +function with a parameter of type \tcode{std::size_t} is used, the size of +the block is passed as the corresponding argument. + +\pnum +When a coroutine is invoked, a copy is created for each coroutine parameter. +Each such copy is an object with automatic storage duration that is +direct-initialized from an lvalue referring to the corresponding parameter if +the parameter is an lvalue reference, and from an xvalue referring to it +otherwise. A reference to a parameter in the function-body of the coroutine +and in the call to the coroutine promise constructor is replaced by a +reference to its copy. +The initialization and destruction of each parameter copy occurs in the +context of the called coroutine. +Initializations of parameter copies are sequenced before the call to the +coroutine promise constructor and indeterminately sequenced with respect to +each other. +The lifetime of parameter copies ends immediately after the lifetime of the +coroutine promise object ends. +\begin{note} +If a coroutine has a parameter passed by reference, resuming the coroutine +after the lifetime of the entity referred to by that parameter has ended is +likely to result in undefined behavior. +\end{note} + +\pnum +If the evaluation of the expression +\placeholdernc{p}\tcode{.unhandled_exception()} exits via an exception, +the coroutine is considered suspended at the final suspend point. + +\pnum +The expression \tcode{co_await} \placeholdernc{p}\tcode{.final_suspend()} +shall not be potentially-throwing\iref{except.spec}. + \rSec1[dcl.struct.bind]{Structured binding declarations}% \indextext{structured binding declaration}% \indextext{declaration!structured binding|see{structured binding declaration}}% diff --git a/source/expressions.tex b/source/expressions.tex index 4e21d1c139..250d626e63 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -4089,9 +4089,10 @@ \begin{bnf} \nontermdef{unary-expression}\br postfix-expression\br + unary-operator cast-expression\br \terminal{++} cast-expression\br \terminal{-{-}} cast-expression\br - unary-operator cast-expression\br + await-expression\br \terminal{sizeof} unary-expression\br \terminal{sizeof (} type-id \terminal{)}\br \terminal{sizeof ...} \terminal{(} identifier \terminal{)}\br @@ -4291,6 +4292,167 @@ For postfix increment and decrement, see~\ref{expr.post.incr}. \end{note} +\rSec3[expr.await]{Await} +\indextext{expression!await}% +\indextext{\idxcode{co_await}}% + +\pnum +The \tcode{co_await} expression is used to suspend evaluation of a +coroutine\iref{dcl.fct.def.coroutine} while awaiting completion of +the computation represented by the operand expression. + +\begin{bnf} +\nontermdef{await-expression}\br + \terminal{co_await} cast-expression +\end{bnf} + +\pnum +An \grammarterm{await-expression} shall appear only in a potentially-evaluated +expression within the \grammarterm{compound-statement} of a +\grammarterm{function-body} outside of a \grammarterm{handler}\iref{except}. +In a \grammarterm{declaration-statement} or in the +\grammarterm{simple-declaration} (if any) +of a \grammarterm{for-init-statement}, an \grammarterm{await-expression} +shall appear only in an \grammarterm{initializer} of that +\grammarterm{declaration-statement} or \grammarterm{simple-declaration}. +An \grammarterm{await-expression} shall not appear in a +default argument\iref{dcl.fct.default}. +An \grammarterm{await-expression} shall not appear in the initializer of +a block-scope variable with static or thread storage duration. +A context within a function where an \grammarterm{await-expression} can appear +is called a \term{suspension context} of the function. + +\pnum +Evaluation of an \grammarterm{await-expression} involves the following +auxiliary types, expressions, and objects: + +\begin{itemize} +\item +\placeholder{p} is an lvalue naming the promise +object\iref{dcl.fct.def.coroutine} +of the enclosing coroutine and \placeholder{P} is the type of that object. + +\item \placeholder{a} is the \grammarterm{cast-expression} if +the \grammarterm{await-expression} was implicitly produced by a +\grammarterm{yield-expression}\iref{expr.yield}, an initial suspend point, +or a final suspend point\iref{dcl.fct.def.coroutine}. +Otherwise, the \grammarterm{unqualified-id} \tcode{await_transform} is +looked up within the scope of \placeholder{P} by class member access +lookup\iref{basic.lookup.classref}, +and if this lookup finds at least one declaration, then \placeholder{a} is +\mbox{\tcode{\placeholder{p}.await_transform(\grammarterm{cast-expression});}} +otherwise, \placeholder{a} is the \grammarterm{cast-expression}. + +\item +\placeholder{o} is determined by enumerating the applicable +\tcode{operator co_await} functions for an argument +\placeholder{a}\iref{over.match.oper}, and choosing the best one through +overload resolution\iref{over.match}. If overload resolution is ambiguous, +the program is ill-formed. +If no viable functions are found, \placeholder{o} is \placeholder{a}. +Otherwise, \placeholder{o} is a call to the selected function. + +\item +\placeholder{e} is a temporary object copy-initialized from \placeholder{o} +if \placeholder{o} is a prvalue; otherwise \placeholder{e} is an lvalue +referring to the result of evaluating \placeholder{o}. + +\item +\placeholder{h} is an object of type +\tcode{std::coroutine_handle<\placeholder{P}>} +referring to the enclosing coroutine. + +\item +\placeholder{await-ready} is the expression +\tcode{\placeholder{e}.await_ready()}, +contextually converted to \tcode{bool}. + +\item +\placeholder{await-suspend} is the expression +\tcode{\placeholder{e}.await_suspend(\placeholder{h})}, +which shall be a prvalue of type \tcode{void}, \tcode{bool}, or +\tcode{std::coroutine_handle<\placeholder{Z}>} for some type \placeholder{Z}. + +\item +\placeholder{await-resume} is the expression +\tcode{\placeholder{e}.await_resume()}. +\end{itemize} + +\pnum +The \grammarterm{await-expression} has the same type and value category +as the \placeholder{await-resume} expression. + +\pnum +The \grammarterm{await-expression} evaluates +the \placeholder{await-ready} expression, then: +\begin{itemize} +\item +If the result is \tcode{false}, the coroutine is considered suspended. +Then, the \placeholder{await-suspend} expression is evaluated. +If that expression has type \tcode{std::coroutine_handle<\placeholdernc{Z}>} +and evaluates to a value \placeholder{s}, the coroutine referred to by +\placeholder{s} +is resumed as if by a call \placeholder{s}\tcode{.resume()}. +\begin{note} +Any number of coroutines may be successively resumed in this fashion, +eventually returning control flow to the current coroutine caller or +resumer\iref{dcl.fct.def.coroutine}. +\end{note} +If that expression has type \tcode{bool} and evaluates to \tcode{false}, +the coroutine is resumed. +If that expression exits via an exception, the exception is caught, +the coroutine is resumed, and the exception is immediately +re-thrown\iref{except.throw}. Otherwise, control flow returns +to the current coroutine caller or resumer\iref{dcl.fct.def.coroutine} +without exiting any scopes\iref{stmt.jump}. + +\item +If the result is \tcode{true}, or when the coroutine is resumed, +the \placeholder{await-resume} expression is evaluated, and +its result is the result of the \grammarterm{await-expression}. +\end{itemize} + +\pnum +\begin{example} +\begin{codeblock} +template +struct my_future { + ... + bool await_ready(); + void await_suspend(std::coroutine_handle<>); + T await_resume(); +}; + +template +auto operator co_await(std::chrono::duration d) { + struct awaiter { + std::chrono::system_clock::duration duration; + ... + awaiter(std::chrono::system_clock::duration d) : duration(d){} + bool await_ready() const { return duration.count() <= 0; } + void await_resume() {} + void await_suspend(std::coroutine_handle<> h){...} + }; + return awaiter{d}; +} + +using namespace std::chrono; + +my_future h(); + +my_future g() { + std::cout << "just about go to sleep...\n"; + co_await 10ms; + std::cout << "resumed\n"; + co_await h(); +} + +auto f(int x = co_await h()); // error: await-expression outside of function suspension context +int a[] = { co_await h() }; // error: await-expression outside of function suspension context + +\end{codeblock} +\end{example} + \rSec3[expr.sizeof]{Sizeof} \pnum @@ -6316,6 +6478,60 @@ \end{itemize} +\rSec2[expr.yield]{Yielding a value}% +\indextext{expression!yield}% +\indextext{\idxcode{co_yield}}% + +\begin{bnf} + \nontermdef{yield-expression}\br + \terminal{co_yield} assignment-expression\br + \terminal{co_yield} braced-init-list +\end{bnf} + +\pnum +A \grammarterm{yield-expression} shall appear only within a suspension context +of a function\iref{expr.await}. +Let \placeholder{e} be the operand of the \grammarterm{yield-expression} and +\placeholder{p} be an lvalue naming the promise object of the enclosing +coroutine\iref{dcl.fct.def.coroutine}, then the \grammarterm{yield-expression} +is equivalent to the expression +\tcode{co_await }\placeholder{p}\tcode{.yield_value(}\placeholder{e}\tcode{)}. + +\begin{example} +\begin{codeblock} +template +struct my_generator { + struct promise_type { + T current_value; + @\commentellip@ + auto yield_value(T v) { + current_value = std::move(v); + return std::suspend_always{}; + } + }; + struct iterator { @\commentellip@ }; + iterator begin(); + iterator end(); +}; + +my_generator> g1() { + for (int i = i; i < 10; ++i) co_yield {i,i}; +} +my_generator> g2() { + for (int i = i; i < 10; ++i) co_yield make_pair(i,i); +} + +auto f(int x = co_yield 5); // error: \grammarterm{yield-expression} outside of function suspension context +int a[] = { co_yield 1 }; // error: \grammarterm{yield-expression} outside of function suspension context + +int main() { + auto r1 = g1(); + auto r2 = g2(); + assert(std::equal(r1.begin(), r1.end(), r2.begin(), r2.end())); +} +\end{codeblock} +\end{example} + \rSec2[expr.throw]{Throwing an exception}% \indextext{expression!\idxcode{throw}}% \indextext{exception handling!throwing}% @@ -6410,6 +6626,7 @@ \nontermdef{assignment-expression}\br conditional-expression\br logical-or-expression assignment-operator initializer-clause\br + yield-expression\br throw-expression \end{bnf} @@ -6725,6 +6942,12 @@ \item a \grammarterm{delete-expression}\iref{expr.delete}; +\item +an \grammarterm{await-expression}\iref{expr.await}; + +\item +a \grammarterm{yield-expression}\iref{expr.yield}; + \item a three-way comparison\iref{expr.spaceship}, relational\iref{expr.rel}, or equality\iref{expr.eq} diff --git a/source/lex.tex b/source/lex.tex index acf98690d9..f969a89c0b 100644 --- a/source/lex.tex +++ b/source/lex.tex @@ -730,6 +730,9 @@ \tcode{constexpr} \\ \tcode{const_cast} \\ \tcode{continue} \\ +\tcode{co_await} \\ +\tcode{co_return} \\ +\tcode{co_yield} \\ \tcode{decltype} \\ \tcode{default} \\ \tcode{delete} \\ @@ -740,10 +743,10 @@ \tcode{enum} \\ \tcode{explicit} \\ \tcode{export} \\ +\columnbreak \tcode{extern} \\ \tcode{false} \\ \tcode{float} \\ -\columnbreak \tcode{for} \\ \tcode{friend} \\ \tcode{goto} \\ @@ -757,10 +760,10 @@ \tcode{noexcept} \\ \tcode{nullptr} \\ \tcode{operator} \\ +\columnbreak \tcode{private} \\ \tcode{protected} \\ \tcode{public} \\ -\columnbreak \tcode{register} \\ \tcode{reinterpret_cast} \\ \tcode{requires} \\ @@ -774,10 +777,10 @@ \tcode{struct} \\ \tcode{switch} \\ \tcode{template} \\ +\columnbreak \tcode{this} \\ \tcode{thread_local} \\ \tcode{throw} \\ -\columnbreak \tcode{true} \\ \tcode{try} \\ \tcode{typedef} \\ diff --git a/source/lib-intro.tex b/source/lib-intro.tex index 5ecb503d8b..aa75ebad27 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -1497,6 +1497,7 @@ \ref{support.rtti} & Type identification & \tcode{} \\ \rowsep \ref{support.exception} & Exception handling & \tcode{} \\ \rowsep \ref{support.initlist} & Initializer lists & \tcode{} \\ \rowsep +\ref{support.coroutine} & Coroutines support & \tcode{} \\ \rowsep \ref{support.runtime} & Other runtime support & \tcode{} \\ \rowsep \ref{concepts} & Concepts library & \tcode{} \\ \rowsep \ref{meta} & Type traits & \tcode{} \\ \rowsep diff --git a/source/overloading.tex b/source/overloading.tex index 071495eadb..5a4a0d33a9 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -3126,11 +3126,11 @@ %% Ed. note: character protrusion would misalign various operators. \microtypesetup{protrusion=false}\obeyspaces \nontermdef{operator} \textnormal{one of}\br - \terminal{new delete new[] delete[] (\rlap{\,)} [\rlap{\,]} -> ->* \~}\br - \terminal{! + - * / \% \caret{} \& |}\br - \terminal{= += -= *= /= \%= \caret{}= \&= |=}\br - \terminal{== != < > <= >= <=> \&\& ||}\br - \terminal{<< >> <<= >>= ++ -- ,}\br + \terminal{new delete new[] delete[] co_await (\rlap{\,)} [\rlap{\,]} -> ->*}\br + \terminal{\~ ! + - * / \% \caret{} \&}\br + \terminal{| = += -= *= /= \%= \caret{}= \&=}\br + \terminal{|= == != < > <= >= <=> \&\&}\br + \terminal{|| << >> <<= >>= ++ -- ,}\br \end{bnf} \begin{note} The operators @@ -3195,6 +3195,12 @@ found in the rest of this subclause do not apply to them unless explicitly stated in~\ref{basic.stc.dynamic}. +\pnum +The \tcode{co_await} operator is described completely in~\ref{expr.await}. +The attributes and restrictions +found in the rest of this subclause do not apply to it unless explicitly +stated in~\ref{expr.await}. + \pnum \indextext{restriction!overloading}% An operator function diff --git a/source/preprocessor.tex b/source/preprocessor.tex index 50696f5bcc..f371967fba 100644 --- a/source/preprocessor.tex +++ b/source/preprocessor.tex @@ -1682,6 +1682,7 @@ \defnxname{cpp_char8_t} & \tcode{201811L} \\ \rowsep \defnxname{cpp_conditional_explicit} & \tcode{201806L} \\ \rowsep \defnxname{cpp_constexpr} & \tcode{201603L} \\ \rowsep +\defnxname{cpp_coroutines} & \tcode{201902L} \\ \rowsep \defnxname{cpp_decltype} & \tcode{200707L} \\ \rowsep \defnxname{cpp_decltype_auto} & \tcode{201304L} \\ \rowsep \defnxname{cpp_deduction_guides} & \tcode{201703L} \\ \rowsep diff --git a/source/statements.tex b/source/statements.tex index e065fced45..e2acdebfdf 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -727,6 +727,7 @@ \terminal{break ;}\br \terminal{continue ;}\br \terminal{return} \opt{expr-or-braced-init-list} \terminal{;}\br + coroutine-return-statement\br \terminal{goto} identifier \terminal{;} \end{bnf} @@ -752,6 +753,9 @@ \tcode{std::abort()}\iref{support.start.term}, for example) without destroying objects with automatic storage duration. \end{note} +\begin{note} +A suspension of a coroutine\iref{expr.await} is not considered to be an exit from a scope. +\end{note} \rSec2[stmt.break]{The \tcode{break} statement}% \indextext{statement!\idxcode{break}} @@ -852,10 +856,10 @@ Flowing off the end of a constructor, a destructor, or -a function with a \cv{}~\tcode{void} return type is +a non-coroutine function with a \cv{}~\tcode{void} return type is equivalent to a \tcode{return} with no operand. Otherwise, flowing off the end of a function -other than \tcode{main}\iref{basic.start.main} +other than \tcode{main}\iref{basic.start.main} or a coroutine\iref{dcl.fct.def.coroutine} results in undefined behavior. \pnum @@ -865,6 +869,50 @@ before the destruction of local variables\iref{stmt.jump} of the block enclosing the \tcode{return} statement. +\rSec3[stmt.return.coroutine]{The \tcode{co_return} statement}% +\indextext{\idxcode{co_return}}% +\indextext{coroutine return|see{\tcode{co_return}}}% + +\begin{bnf} +\nontermdef{coroutine-return-statement}\br + \terminal{co_return} \opt{expr-or-braced-init-list} \terminal{;} +\end{bnf} + +\pnum +A coroutine returns to its caller or resumer\iref{dcl.fct.def.coroutine} +by the \tcode{co_return} statement or when suspended\iref{expr.await}. +A coroutine shall not return to its caller or resumer +by a \tcode{return} statement\iref{stmt.return}. + +\pnum +The \grammarterm{expr-or-braced-init-list} of a \tcode{co_return} statement is +called its operand. +Let \placeholder{p} be an lvalue naming the coroutine +promise object\iref{dcl.fct.def.coroutine}. +A \tcode{co_return} statement is equivalent to: +\begin{ncsimplebnf} +\terminal{\{} S\terminal{; goto} final-suspend\terminal{; \}} +\end{ncsimplebnf} + +where \placeholdernc{final-suspend} is as defined in\iref{dcl.fct.def.coroutine} +and \placeholder{S} is defined as follows: + +\begin{itemize} +\item +\placeholder{S} is \placeholder{p}\tcode{.return_value(}\grammarterm{expr-or-braced-init-list}{}\tcode{)}, +if the operand is a \grammarterm{braced-init-list} or an expression of non-\tcode{void} type; + +\item +\placeholder{S} is \tcode{\{}{ }\opt{\grammarterm{expression}} \tcode{;} \placeholder{p}\tcode{.return_void()}\tcode{;{ }\}}, otherwise; +\end{itemize} + +\placeholder{S} shall be a prvalue of type \tcode{void}. + +\pnum +If \placeholder{p}\tcode{.return_void()} is a valid expression, +flowing off the end of a coroutine is equivalent to a \tcode{co_return} with no operand; +otherwise flowing off the end of a coroutine results in undefined behavior. + \rSec2[stmt.goto]{The \tcode{goto} statement}% \indextext{statement!\idxcode{goto}} diff --git a/source/support.tex b/source/support.tex index 00f6e5aa08..3d05684757 100644 --- a/source/support.tex +++ b/source/support.tex @@ -37,6 +37,7 @@ \ref{support.exception} & Exception handling & \tcode{} \\ \rowsep \ref{support.initlist} & Initializer lists & \tcode{} \\ \rowsep \ref{cmp} & Comparisons & \tcode{} \\ \rowsep +\ref{support.coroutine} & Coroutines & \tcode{} \\ \rowsep \ref{support.runtime} & Other runtime support & \tcode{} \\ & & \tcode{} \\ & & \tcode{} \\ @@ -4960,6 +4961,493 @@ \end{itemize} \end{itemdescr} +\rSec1[support.coroutine]{Coroutines} + +\pnum +The header +\tcode{} +defines several types providing +compile and run-time support for +coroutines in a \Cpp{} program. + +\rSec2[coroutine.syn]{Header \tcode{} synopsis} + +\indextext{\idxhdr{coroutine}}% +\indexlibrary{\idxhdr{coroutine}}% +\indexlibrary{\idxcode{noop_coroutine_handle}}% +\begin{codeblock} +namespace std { + // \ref{coroutine.traits}, coroutine traits + template + struct coroutine_traits; + + // \ref{coroutine.handle}, coroutine handle + template + struct coroutine_handle; + + // \ref{coroutine.handle.compare}, comparison operators + constexpr bool operator==(coroutine_handle<> x, coroutine_handle<> y) noexcept; + constexpr bool operator!=(coroutine_handle<> x, coroutine_handle<> y) noexcept; + constexpr bool operator<(coroutine_handle<> x, coroutine_handle<> y) noexcept; + constexpr bool operator>(coroutine_handle<> x, coroutine_handle<> y) noexcept; + constexpr bool operator<=(coroutine_handle<> x, coroutine_handle<> y) noexcept; + constexpr bool operator>=(coroutine_handle<> x, coroutine_handle<> y) noexcept; + + // \ref{coroutine.handle.hash}, hash support + template struct hash; + template struct hash>; + + // \ref{coroutine.noop}, no-op coroutines + struct noop_coroutine_promise; + + template<> struct coroutine_handle; + using noop_coroutine_handle = coroutine_handle; + + noop_coroutine_handle noop_coroutine() noexcept; + + // \ref{coroutine.trivial.awaitables}, trivial awaitables + struct suspend_never; + struct suspend_always; +} +\end{codeblock} + +\rSec2[coroutine.traits]{Coroutine traits} + +\pnum +This subclause defines requirements on classes representing +\term{coroutine traits}, +and defines the class template +\tcode{coroutine_traits} +that satisfies those requirements. + +\rSec3[coroutine.traits.primary]{Class template \tcode{coroutine_traits}} + +\pnum +The header \tcode{} defines the primary template +\tcode{coroutine_traits} such that +if \tcode{ArgTypes} is a parameter pack of types and +if the \grammarterm{qualified-id} \tcode{R::promise_type} is valid and +denotes a type\iref{temp.deduct}, +then \tcode{coroutine_traits} has the following publicly +accessible member: + +\begin{codeblock} + using promise_type = typename R::promise_type; +\end{codeblock} + +Otherwise, \tcode{coroutine_traits} has no members. + +\pnum +Program defined specializations of this template shall define a publicly +accessible nested type named \tcode{promise_type}. + +\rSec2[coroutine.handle]{Class template \tcode{coroutine_handle}} + +\indexlibrary{\idxcode{coroutine_handle}}% +\begin{codeblock} +namespace std { + template<> + struct coroutine_handle + { + // \ref{coroutine.handle.con}, construct/reset + constexpr coroutine_handle() noexcept; + constexpr coroutine_handle(nullptr_t) noexcept; + coroutine_handle& operator=(nullptr_t) noexcept; + + // \ref{coroutine.handle.export.import}, export/import + constexpr void* address() const noexcept; + constexpr static coroutine_handle from_address(void* addr); + + // \ref{coroutine.handle.observers}, observers + constexpr explicit operator bool() const noexcept; + bool done() const; + + // \ref{coroutine.handle.resumption}, resumption + void operator()() const; + void resume() const; + void destroy() const; + + private: + void* ptr; // exposition only + }; + + template + struct coroutine_handle : coroutine_handle<> + { + // \ref{coroutine.handle.con}, construct/reset + using coroutine_handle<>::coroutine_handle; + static coroutine_handle from_promise(Promise&); + coroutine_handle& operator=(nullptr_t) noexcept; + + // \ref{coroutine.handle.export.import}, export/import + constexpr static coroutine_handle from_address(void* addr); + + // \ref{coroutine.handle.promise}, promise access + Promise& promise() const; + }; +} +\end{codeblock} + +\pnum +An object of type +\tcode{coroutine_handle} is called a \term{coroutine handle} +and can be used to refer to a suspended or executing coroutine. +A default-constructed \tcode{coroutine_handle} object does not refer to any +coroutine. + +\pnum +If a program declares an explicit or partial specialization of +\tcode{coroutine_handle}, the behavior is undefined. + +\rSec3[coroutine.handle.con]{Construct/reset} + +\indexlibrary{\idxcode{coroutine_handle}!constructor}% +\begin{itemdecl} +constexpr coroutine_handle() noexcept; +constexpr coroutine_handle(nullptr_t) noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\ensures \tcode{address() == nullptr}. +\end{itemdescr} + +\indexlibrarymember{from_promise}{coroutine_handle}% +\begin{itemdecl} +static coroutine_handle from_promise(Promise& p); +\end{itemdecl} + +\begin{itemdescr} +\pnum +\requires \tcode{p} is a reference to a promise object of a coroutine. + +\pnum +\returns A coroutine handle \tcode{h} referring to the coroutine. + +\pnum +\ensures \tcode{addressof(h.promise()) == addressof(p)}. +\end{itemdescr} + +\indexlibrarymember{operator=}{coroutine_handle}% +\begin{itemdecl} +coroutine_handle& operator=(nullptr_t) noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\ensures \tcode{address() == nullptr}. + +\pnum +\returns \tcode{*this}. +\end{itemdescr} + +\rSec3[coroutine.handle.export.import]{Export/import} + +\indexlibrarymember{address}{coroutine_handle}% +\begin{itemdecl} +constexpr void* address() const noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns \tcode{ptr}. +\end{itemdescr} + +\indexlibrarymember{from_address}{coroutine_handle}% +\begin{itemdecl} +constexpr static coroutine_handle<> coroutine_handle<>::from_address(void* addr); +constexpr static coroutine_handle coroutine_handle::from_address(void* addr); +\end{itemdecl} + +\begin{itemdescr} +\pnum +\requires \tcode{addr} was obtained via a prior call to \tcode{address}. + +\pnum +\ensures \tcode{from_address(address()) == *this}. +\end{itemdescr} + +\rSec3[coroutine.handle.observers]{Observers} + +\indexlibrarymember{operator bool}{coroutine_handle}% +\begin{itemdecl} +constexpr explicit operator bool() const noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns \tcode{address() != nullptr}. +\end{itemdescr} + +\indexlibrarymember{done}{coroutine_handle}% +\begin{itemdecl} +bool done() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\requires \tcode{*this} refers to a suspended coroutine. + +\pnum +\returns \tcode{true} if the coroutine is suspended at its +final suspend point, otherwise \tcode{false}. +\end{itemdescr} + +\rSec3[coroutine.handle.resumption]{Resumption} + +\pnum +Resuming a coroutine via \tcode{resume}, \tcode{operator()}, or \tcode{destroy} +on an execution agent other than the one on which it was suspended +has implementation-defined behavior unless +each execution agent is either +an instance of \tcode{std::thread} or +the thread that executes \tcode{main}. +\begin{note} +A coroutine that is resumed on a different execution agent should +avoid relying on consistent thread identity throughout, such as holding +a mutex object across a suspend point. +\end{note} +\begin{note} +A concurrent resumption of the coroutine may result in a data race. +\end{note} + +\indexlibrarymember{operator()}{coroutine_handle}% +\indexlibrarymember{resume}{coroutine_handle}% +\begin{itemdecl} +void operator()() const; +void resume() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\requires \tcode{*this} refers to a suspended coroutine. + +\pnum +\effects Resumes the execution of the coroutine. If the coroutine +was suspended at its final suspend point, behavior is undefined. +\end{itemdescr} + +\indexlibrarymember{destroy}{coroutine_handle}% +\begin{itemdecl} +void destroy() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\requires \tcode{*this} refers to a suspended coroutine. + +\pnum +\effects Destroys the coroutine\iref{dcl.fct.def.coroutine}. +\end{itemdescr} + +\rSec3[coroutine.handle.promise]{Promise access} + +\indexlibrarymember{promise}{coroutine_handle}% +\begin{itemdecl} +Promise& promise() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\requires \tcode{*this} refers to a coroutine. + +\pnum +\returns A reference to the promise of the coroutine. +\end{itemdescr} + +\rSec3[coroutine.handle.compare]{Comparison operators} + +\indexlibrarymember{operator==}{coroutine_handle}% +\indexlibrarymember{operator"!=}{coroutine_handle}% +\begin{itemdecl} +constexpr bool operator==(coroutine_handle<> x, coroutine_handle<> y) noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum \returns \tcode{x.address() == y.address()}. +\end{itemdescr} + +\indexlibrarymember{operator<}{coroutine_handle}% +\indexlibrarymember{operator>}{coroutine_handle}% +\indexlibrarymember{operator<=}{coroutine_handle}% +\indexlibrarymember{operator>=}{coroutine_handle}% +\begin{itemdecl} +constexpr bool operator<(coroutine_handle<> x, coroutine_handle<> y) noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum \returns \tcode{less<>()(x.address(), y.address())}. +\end{itemdescr} + +\rSec3[coroutine.handle.hash]{Hash support} + +\indexlibrary{\idxcode{hash}!\idxcode{coroutine_handle}}% +\begin{itemdecl} +template struct hash>; +\end{itemdecl} + +\begin{itemdescr} +\pnum The specialization is enabled\iref{unord.hash}. +\end{itemdescr} + +\rSec2[coroutine.noop]{No-op coroutines} + +\rSec3[coroutine.promise.noop]{Class \tcode{noop_coroutine_promise}} + +\indexlibrary{\idxcode{noop_coroutine_promise}}% +\begin{itemdecl} +struct noop_coroutine_promise {}; +\end{itemdecl} + +\begin{itemdescr} +\pnum The class \tcode{noop_coroutine_promise} defines the promise type for +the coroutine referred to +by \tcode{noop_coroutine_handle}\iref{coroutine.syn}. +\end{itemdescr} + +\rSec3[coroutine.handle.noop]{Class \tcode{coroutine_handle}} + +\indexlibrary{\idxcode{coroutine_handle}}% +\begin{codeblock} +namespace std { + template<> + struct coroutine_handle : coroutine_handle<> + { + // \ref{coroutine.handle.noop.observers}, observers + constexpr explicit operator bool() const noexcept; + constexpr bool done() const noexcept; + + // \ref{coroutine.handle.noop.resumption}, resumption + constexpr void operator()() const noexcept; + constexpr void resume() const noexcept; + constexpr void destroy() const noexcept; + + // \ref{coroutine.handle.noop.promise}, promise access + noop_coroutine_promise& promise() const noexcept; + + // \ref{coroutine.handle.noop.address}, address + constexpr void* address() const noexcept; + private: + coroutine_handle(@\unspec@); + }; +} +\end{codeblock} + +\rSec4[coroutine.handle.noop.observers]{Observers} + +\indexlibrarymember{operator bool}{coroutine_handle}% +\begin{itemdecl} +constexpr explicit operator bool() const noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum \returns \tcode{true}. +\end{itemdescr} + +\indexlibrarymember{done}{coroutine_handle}% +\begin{itemdecl} +constexpr bool done() const noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum \returns \tcode{false}. +\end{itemdescr} + +\rSec4[coroutine.handle.noop.resumption]{Resumption} + +\indexlibrarymember{operator()}{coroutine_handle}% +\indexlibrarymember{resume}{coroutine_handle}% +\indexlibrarymember{destroy}{coroutine_handle}% +\begin{itemdecl} +constexpr void operator()() const noexcept; +constexpr void resume() const noexcept; +constexpr void destroy() const noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum \effects None. + +\pnum +\remarks +If \tcode{noop_coroutine_handle} is converted to \tcode{coroutine_handle<>}, +calls to \tcode{operator()}, \tcode{resume} and \tcode{destroy} on that handle +will also have no observable effects. +\end{itemdescr} + +\rSec4[coroutine.handle.noop.promise]{Promise access} + +\indexlibrarymember{promise}{coroutine_handle}% +\begin{itemdecl} +noop_coroutine_promise& promise() const noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum \returns A reference to the promise object associated with this +coroutine handle. +\end{itemdescr} + +\rSec4[coroutine.handle.noop.address]{Address} + +\indexlibrarymember{address}{coroutine_handle}% +\begin{itemdecl} +constexpr void* address() const noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum \returns \tcode{ptr}. + +\pnum \remarks A \tcode{noop_coroutine_handle}'s \tcode{ptr} is always a +non-null pointer value. +\end{itemdescr} + +\rSec3[coroutine.noop.coroutine]{Function \tcode{noop_coroutine}} + +\indexlibrary{noop_coroutine}% +\begin{itemdecl} +noop_coroutine_handle noop_coroutine() noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum \returns A handle to a coroutine that has no observable effects +when resumed or destroyed. + +\pnum \remarks A handle returned from \tcode{noop_coroutine} may or may not +compare equal to a handle returned from another invocation +of \tcode{noop_coroutine}. +\end{itemdescr} + +\rSec2[coroutine.trivial.awaitables]{Trivial awaitables} + +\indexlibrary{\idxcode{suspend_never}}% +\indexlibrarymember{await_ready}{suspend_never}% +\indexlibrarymember{await_suspend}{suspend_never}% +\indexlibrarymember{await_resume}{suspend_never}% +\indexlibrary{\idxcode{suspend_always}}% +\indexlibrarymember{await_ready}{suspend_always}% +\indexlibrarymember{await_suspend}{suspend_always}% +\indexlibrarymember{await_resume}{suspend_always}% +\begin{codeblock} +namespace std { + struct suspend_never { + constexpr bool await_ready() const noexcept { return true; } + constexpr void await_suspend(coroutine_handle<>) const noexcept {} + constexpr void await_resume() const noexcept {} + }; + struct suspend_always { + constexpr bool await_ready() const noexcept { return false; } + constexpr void await_suspend(coroutine_handle<>) const noexcept {} + constexpr void await_resume() const noexcept {} + }; +} +\end{codeblock} + +\pnum +\begin{note} +The types \tcode{suspend_never} and \tcode{suspend_always} can be used +to indicate that an \grammarterm{await-expression} should either never +suspend or always suspend, and in either case not produce a value. +\end{note} + \rSec1[support.runtime]{Other runtime support} \pnum @@ -5078,6 +5566,8 @@ behavior if replacing the \tcode{setjmp} and \tcode{longjmp} by \tcode{catch} and \tcode{throw} would invoke any non-trivial destructors for any automatic objects. +A call to \tcode{setjmp} or \tcode{longjmp} has undefined +behavior if invoked in a suspension context of a coroutine\iref{expr.await}. \xrefc{7.13} From 8dd4539b24473677809163f5e6d399ba6aa0b27d Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Tue, 12 Mar 2019 18:15:59 -0700 Subject: [PATCH 071/148] [expr.await] Rephrase and modernize wording. Invoke temporary materialization conversion directly rather than handwaving about a temporary object. Specify that the o expression is evaluated. Bulletize description of the three different ways that await-suspend is called. Fix wording that uses values and objects on the left-hand side of a class member access to instead consistently use expressions. Fixes #2774. --- source/expressions.tex | 78 +++++++++++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 28 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 250d626e63..5316defb12 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -4330,17 +4330,17 @@ \item \placeholder{p} is an lvalue naming the promise object\iref{dcl.fct.def.coroutine} -of the enclosing coroutine and \placeholder{P} is the type of that object. +of the enclosing coroutine and \tcode{P} is the type of that object. \item \placeholder{a} is the \grammarterm{cast-expression} if the \grammarterm{await-expression} was implicitly produced by a \grammarterm{yield-expression}\iref{expr.yield}, an initial suspend point, or a final suspend point\iref{dcl.fct.def.coroutine}. Otherwise, the \grammarterm{unqualified-id} \tcode{await_transform} is -looked up within the scope of \placeholder{P} by class member access +looked up within the scope of \tcode{P} by class member access lookup\iref{basic.lookup.classref}, and if this lookup finds at least one declaration, then \placeholder{a} is -\mbox{\tcode{\placeholder{p}.await_transform(\grammarterm{cast-expression});}} +\mbox{\placeholder{p}\tcode{.await_transform(}\grammarterm{cast-expression}\tcode{)}}; otherwise, \placeholder{a} is the \grammarterm{cast-expression}. \item @@ -4350,32 +4350,39 @@ overload resolution\iref{over.match}. If overload resolution is ambiguous, the program is ill-formed. If no viable functions are found, \placeholder{o} is \placeholder{a}. -Otherwise, \placeholder{o} is a call to the selected function. +Otherwise, \placeholder{o} is a call to the selected function +with the argument \placeholder{a}. +If \placeholder{o} would be a prvalue, +the temporary materialization conversion\iref{conv.rval} is applied. \item -\placeholder{e} is a temporary object copy-initialized from \placeholder{o} -if \placeholder{o} is a prvalue; otherwise \placeholder{e} is an lvalue -referring to the result of evaluating \placeholder{o}. +\placeholder{e} is an lvalue +referring to the result of evaluating +the (possibly-converted) \placeholder{o}. \item +% FIXME: h needs to be an expression so we can use it as an argument +% to await_suspend. What should its value category be? +% Don't forget to remove "and objects" from the intro sentence when +% this is fixed. \placeholder{h} is an object of type -\tcode{std::coroutine_handle<\placeholder{P}>} +\tcode{std::coroutine_handle

} referring to the enclosing coroutine. \item \placeholder{await-ready} is the expression -\tcode{\placeholder{e}.await_ready()}, +\placeholder{e}\tcode{.await_ready()}, contextually converted to \tcode{bool}. \item \placeholder{await-suspend} is the expression -\tcode{\placeholder{e}.await_suspend(\placeholder{h})}, +\placeholder{e}\tcode{.await_suspend(}\placeholder{h}\tcode{)}, which shall be a prvalue of type \tcode{void}, \tcode{bool}, or -\tcode{std::coroutine_handle<\placeholder{Z}>} for some type \placeholder{Z}. +\tcode{std::coroutine_handle} for some type \tcode{Z}. \item \placeholder{await-resume} is the expression -\tcode{\placeholder{e}.await_resume()}. +\placeholder{e}\tcode{.await_resume()}. \end{itemize} \pnum @@ -4384,30 +4391,45 @@ \pnum The \grammarterm{await-expression} evaluates +the (possibly-converted) \placeholder{o} expression and the \placeholder{await-ready} expression, then: \begin{itemize} \item -If the result is \tcode{false}, the coroutine is considered suspended. -Then, the \placeholder{await-suspend} expression is evaluated. -If that expression has type \tcode{std::coroutine_handle<\placeholdernc{Z}>} -and evaluates to a value \placeholder{s}, the coroutine referred to by -\placeholder{s} -is resumed as if by a call \placeholder{s}\tcode{.resume()}. +If the result of \placeholder{await-ready} is \tcode{false}, +the coroutine is considered suspended. +Then: +\begin{itemize} +\item +If the type of \placeholder{await-suspend} +is \tcode{std::coroutine_handle}, +\placeholder{await-suspend}\tcode{.resume()} is evaluated. \begin{note} +This resumes the coroutine referred to +by the result of \placeholder{await-suspend}. Any number of coroutines may be successively resumed in this fashion, eventually returning control flow to the current coroutine caller or resumer\iref{dcl.fct.def.coroutine}. \end{note} -If that expression has type \tcode{bool} and evaluates to \tcode{false}, -the coroutine is resumed. -If that expression exits via an exception, the exception is caught, + +\item +Otherwise, if the type of \placeholder{await-suspend} +is \tcode{bool}, +\placeholder{await-suspend} is evaluated, +and the coroutine is resumed if the result is \tcode{false}. + +\item +Otherwise, \placeholder{await-suspend} is evaluated. +\end{itemize} +If the evaluation of \placeholder{await-suspend} +exits via an exception, the exception is caught, the coroutine is resumed, and the exception is immediately re-thrown\iref{except.throw}. Otherwise, control flow returns to the current coroutine caller or resumer\iref{dcl.fct.def.coroutine} without exiting any scopes\iref{stmt.jump}. \item -If the result is \tcode{true}, or when the coroutine is resumed, +If the result of \placeholder{await-ready} is \tcode{true}, +or when the coroutine is resumed, the \placeholder{await-resume} expression is evaluated, and its result is the result of the \grammarterm{await-expression}. \end{itemize} @@ -4417,7 +4439,7 @@ \begin{codeblock} template struct my_future { - ... + @\commentellip@ bool await_ready(); void await_suspend(std::coroutine_handle<>); T await_resume(); @@ -4427,11 +4449,11 @@ auto operator co_await(std::chrono::duration d) { struct awaiter { std::chrono::system_clock::duration duration; - ... - awaiter(std::chrono::system_clock::duration d) : duration(d){} + @\commentellip@ + awaiter(std::chrono::system_clock::duration d) : duration(d) {} bool await_ready() const { return duration.count() <= 0; } void await_resume() {} - void await_suspend(std::coroutine_handle<> h){...} + void await_suspend(std::coroutine_handle<> h) { @\commentellip@ } }; return awaiter{d}; } @@ -4447,8 +4469,8 @@ co_await h(); } -auto f(int x = co_await h()); // error: await-expression outside of function suspension context -int a[] = { co_await h() }; // error: await-expression outside of function suspension context +auto f(int x = co_await h()); // error: \grammarterm{await-expression} outside of function suspension context +int a[] = { co_await h() }; // error: \grammarterm{await-expression} outside of function suspension context \end{codeblock} \end{example} From 2956ba37186d7e9cbe728cc3870a2a26fb1f0168 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Mar 2019 14:14:43 -0700 Subject: [PATCH 072/148] [dcl.fct.def.coroutine] Update wording to align with current editorial conventions. Reorder and rearrange to reduce the number of variables with long scopes that we define in the wording. Fix mismatch between core and library wording where library permits coroutine_handle to resume a coroutine with any promise type, and the core language does not. --- source/declarations.tex | 160 +++++++++++++++++++++++++--------------- source/statements.tex | 5 +- 2 files changed, 103 insertions(+), 62 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index d83d080c0a..9c39aa890b 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -6251,44 +6251,73 @@ \end{example} \pnum -For a coroutine \placeholder{f} that is a non-static member function, let -$\placeholder{P}_1$ denote the type of the implicit object -parameter\iref{over.match.funcs} and -$\placeholder{P}_2 \dotsc \placeholder{P}_n$ be the types of the function -parameters; -otherwise let $\placeholder{P}_1 \dotsc \placeholder{P}_n$ be the types of -the function parameters. -Let $\placeholder{p}_1 \dotsc \placeholder{p}_n$ be lvalues denoting those -objects. -Let \placeholder{R} be the return type and \placeholder{F} be the -\grammarterm{function-body} of \placeholder{f}, \placeholder{T} be the type -\tcode{std::coroutine_traits<$\placeholder{R}$, $\placeholder{P}_1$, $\dotsc$, $\placeholder{P}_n$>}, -and \placeholder{S} be the class type denoted by -\placeholder{T}\tcode{::promise_type}. -Then, the coroutine behaves as if its body were: -\begin{codeblock} -{ - @\placeholder{S} \placeholder{s} \placeholder{promise-constructor-arguments}@; - co_await @\placeholder{s}@.initial_suspend(); // initial suspend point - try { @\placeholder{F}@ } catch(...) { @\placeholder{s}@.unhandled_exception(); } -@\placeholder{final-suspend}@: - co_await @\placeholdernc{p}@.final_suspend(); // final suspend point -} -\end{codeblock} -where an object denoted as \placeholder{s} is the \defn{promise object} of -the coroutine and its type \placeholder{S} is the \defn{promise type} -of the coroutine, -and \placeholder{promise-constructor-arguments} is determined as follows: +\indextext{promise type|see{coroutine!promise type}}% +The \defnx{promise type}{coroutine!promise type} of a coroutine is +\tcode{std::coroutine_traits::promise_type}, +where +\tcode{R} is the return type of the function, and +$\tcode{P}_1 \dotsc \tcode{P}_n$ are the sequence of types of the function parameters, +preceded by the type of the implicit object parameter\iref{over.match.funcs} +if the coroutine is a non-static member function. +The promise type shall be a class type. + +\pnum +In the following, $\tcode{p}_i$ is an lvalue of type $\tcode{P}_i$, +where +$\tcode{p}_1$ denotes \tcode{*this} and +$\tcode{p}_{i+1}$ denotes the $i^\textrm{th}$ function parameter +for a non-static member function, and +$\tcode{p}_i$ denotes +the $i^\textrm{th}$ function parameter otherwise. + +\pnum +A coroutine behaves as if its \grammarterm{function-body} were replaced by: +\begin{ncsimplebnf} +\terminal{\{}\br +\bnfindent promise-type \terminal{__promise} promise-constructor-arguments \terminal{;}\br +% FIXME: \bnfindent \terminal{__promise.get_return_object()} \terminal{;} +% ... except that it's not a discarded-value expression +\bnfindent \terminal{co_await} \terminal{__promise.initial_suspend()} \terminal{;}\br +\bnfindent \terminal{try \{}\br +\bnfindent\bnfindent function-body\br +\bnfindent \terminal{\} catch ( ... ) \{}\br +\bnfindent\bnfindent \terminal{__promise.unhandled_exception()} \terminal{;}\br +\bnfindent \terminal{\}}\br +\terminal{__final_suspend} \terminal{:}\br +\bnfindent \terminal{co_await} \terminal{__promise.final_suspend()} \terminal{;}\br +\terminal{\}} +\end{ncsimplebnf} +where +\begin{itemize} +\item +the \grammarterm{await-expression} containing +the call to \tcode{initial_suspend} +is the \defn{initial suspend point}, and +\item +the \grammarterm{await-expression} containing +the call to \tcode{final_suspend} +is the \defn{final suspend point}, and +\item +\placeholder{promise-type} denotes the promise type, and +\item +the object denoted by the exposition-only name \tcode{__promise} +is the \defn{promise object} of the coroutine, and +\item +the label denoted by the name \tcode{__final_suspend} +is defined for exposition only\iref{stmt.return.coroutine}, and +\item +\placeholder{promise-constructor-arguments} is determined as follows: overload resolution is performed on a promise constructor call created by -assembling an argument list with lvalues $p_1 \dotsc p_n$. If a viable +assembling an argument list with lvalues $\tcode{p}_1 \dotsc \tcode{p}_n$. If a viable constructor is found\iref{over.match.viable}, then \placeholder{promise-constructor-arguments} is -\tcode{($\placeholder{p}_1$, $\dotsc$, $\placeholder{p}_n$)}, otherwise +\tcode{(p$_1$, $\dotsc$, p$_n$)}, otherwise \placeholder{promise-constructor-arguments} is empty. +\end{itemize} \pnum The \grammarterm{unqualified-id}{s} \tcode{return_void} -and \tcode{return_value} are looked up in the scope of class \placeholder{S}. +and \tcode{return_value} are looked up in the scope of the promise type. If both are found, the program is ill-formed. \begin{note} If the \grammarterm{unqualified-id} \tcode{return_void} is found, flowing off @@ -6298,47 +6327,56 @@ \end{note} \pnum -When a coroutine returns to its caller, the return value is produced by a call -to \mbox{\tcode{\placeholder{s}.get_return_object()}}. A call to a -\tcode{get_return_object} is sequenced before the call to -\mbox{\tcode{initial_suspend}} and is invoked at most once. +The expression \tcode{__promise.get_return_object()} is used +to initialize +the glvalue result or prvalue result object of a call to a coroutine. +The call to \tcode{get_return_object} +is sequenced before +the call to \tcode{initial_suspend} +and is invoked at most once. \pnum A suspended coroutine can be resumed to continue execution by invoking -a resumption member function\iref{coroutine.handle.resumption} of an object of -type \tcode{coroutine_handle<\placeholder{S}>} associated with this instance -of the coroutine. The function that invoked a resumption member function is -called the \term{resumer}. Invoking a resumption member function for a coroutine +a resumption member function\iref{coroutine.handle.resumption} +of a coroutine handle\iref{coroutine.handle} +that refers to the coroutine. +The function that invoked a resumption member function is +called the \defnx{resumer}{coroutine!resumer}. +Invoking a resumption member function for a coroutine that is not suspended results in undefined behavior. \pnum An implementation may need to allocate additional storage for a coroutine. This storage is known as the \defn{coroutine state} and is obtained by calling a non-array allocation function\iref{basic.stc.dynamic.allocation}. -The allocation function's name is looked up in the scope of \placeholder{S}. +The allocation function's name is looked up in the scope of the promise type. If this lookup fails, the allocation function's name is looked up in the global scope. -If the lookup finds an allocation function in the scope of \placeholder{S}, +If the lookup finds an allocation function in the scope of the promise type, overload resolution is performed on a function call created by assembling an argument list. The first argument is the amount of space requested, and has -type \tcode{std::size_t}. The lvalues $p_1 \dotsc p_n$ are the succeeding -arguments. If no viable function is found\iref{over.match.viable}, overload -resolution is performed again on a function call created by passing just the -amount of space required as an argument of type \tcode{std::size_t}. +type \tcode{std::size_t}. +The lvalues $\tcode{p}_1 \dotsc \tcode{p}_n$ are the succeeding arguments. +If no viable function is found\iref{over.match.viable}, +overload resolution is performed again +on a function call created by passing just +the amount of space required as an argument of type \tcode{std::size_t}. \pnum The \grammarterm{unqualified-id} \tcode{get_return_object_on_allocation_failure} -is looked up in the scope of class \placeholder{S} by class member access -lookup\iref{basic.lookup.classref}. If a declaration is found, then the result +is looked up in the scope of the promise type by class member access +lookup\iref{basic.lookup.classref}. +If any declarations are found, then the result of a call to an allocation function used to obtain storage for the coroutine -state is assumed to return \tcode{nullptr} if it fails to obtain storage, and -if a global allocation function is selected, the -\tcode{::operator new(size_t, nothrow_t)} form shall be used. -If an allocation function returns \tcode{nullptr}, the coroutine returns -control to the caller of the coroutine and the return value is obtained by a -call to \placeholder{S}\tcode{::get_return_object_on_allocation_failure()}. -The allocation function used in this case must have a non-throwing +state is assumed to return \tcode{nullptr} if it fails to obtain storage, +and if a global allocation function is selected, +the \tcode{::operator new(size_t, nothrow_t)} form is used. +The allocation function used in this case shall have a non-throwing \grammarterm{noexcept-specification}. +If the allocation function returns \tcode{nullptr}, the coroutine returns +control to the caller of the coroutine and the return value is obtained by a +call to \tcode{T::get_return_object_on_allocation_failure()}, where \tcode{T} +is the promise type. \begin{example} \begin{codeblock} @@ -6382,9 +6420,11 @@ \pnum The coroutine state is destroyed when control flows off the end of the coroutine or the \tcode{destroy} member -function\iref{coroutine.handle.resumption} of an object of type -\tcode{std::coroutine_handle<\placeholder{S}>} associated with this coroutine -is invoked. In the latter case objects with automatic storage duration that +function\iref{coroutine.handle.resumption} +of a coroutine handle\iref{coroutine.handle} +that refers to the coroutine +is invoked. +In the latter case objects with automatic storage duration that are in scope at the suspend point are destroyed in the reverse order of the construction. The storage for the coroutine state is released by calling a non-array deallocation function\iref{basic.stc.dynamic.deallocation}. @@ -6392,7 +6432,7 @@ program has undefined behavior. \pnum -The deallocation function's name is looked up in the scope of \placeholder{S}. +The deallocation function's name is looked up in the scope of the promise type. If this lookup fails, the deallocation function's name is looked up in the global scope. If deallocation function lookup finds both a usual deallocation function with only a pointer parameter and a usual deallocation function with @@ -6428,11 +6468,11 @@ \pnum If the evaluation of the expression -\placeholdernc{p}\tcode{.unhandled_exception()} exits via an exception, +\tcode{__promise.unhandled_exception()} exits via an exception, the coroutine is considered suspended at the final suspend point. \pnum -The expression \tcode{co_await} \placeholdernc{p}\tcode{.final_suspend()} +The expression \tcode{co_await} \tcode{__promise.final_suspend()} shall not be potentially-throwing\iref{except.spec}. \rSec1[dcl.struct.bind]{Structured binding declarations}% diff --git a/source/statements.tex b/source/statements.tex index e2acdebfdf..15220d86aa 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -891,10 +891,11 @@ promise object\iref{dcl.fct.def.coroutine}. A \tcode{co_return} statement is equivalent to: \begin{ncsimplebnf} -\terminal{\{} S\terminal{; goto} final-suspend\terminal{; \}} +\terminal{\{} S\terminal{; goto} \terminal{__final_suspend; \}} \end{ncsimplebnf} -where \placeholdernc{final-suspend} is as defined in\iref{dcl.fct.def.coroutine} +where \tcode{__final_suspend} is the exposition-only label +defined in \ref{dcl.fct.def.coroutine} and \placeholder{S} is defined as follows: \begin{itemize} From 2f28726abcc9a9facbfe178ac6a6c62c562bcb6c Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Mon, 18 Feb 2019 14:14:55 -1000 Subject: [PATCH 073/148] LWG3012 atomic is unimplementable for non-is_trivially_copy_constructible T Replace CopyConstructible and CopyAssignable with Cpp17CopyConstructible and Cpp17CopyAssignable. --- source/atomics.tex | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/source/atomics.tex b/source/atomics.tex index ff4339ec92..51a8c0668c 100644 --- a/source/atomics.tex +++ b/source/atomics.tex @@ -1350,8 +1350,18 @@ \indexlibrary{\idxcode{atomic}}% \pnum -The template argument for -\tcode{T} shall be trivially copyable\iref{basic.types}. \begin{note} Type arguments that are +The template argument for \tcode{T} shall meet the +\oldconcept{CopyConstructible} and \oldconcept{CopyAssignable} requirements. +The program is ill-formed if any of +\begin{itemize} +\item \tcode{is_trivially_copyable_v}, +\item \tcode{is_copy_constructible_v}, +\item \tcode{is_move_constructible_v}, +\item \tcode{is_copy_assignable_v}, or +\item \tcode{is_move_assignable_v} +\end{itemize} +is \tcode{false}. +\begin{note} Type arguments that are not also statically initializable may be difficult to use. \end{note} \pnum From 2f099fa69cb0789d801784b6bcc7a29ac9bbccb5 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Mon, 18 Feb 2019 13:56:54 -1000 Subject: [PATCH 074/148] LWG3040 basic_string_view::starts_with Effects are incorrect --- source/strings.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/strings.tex b/source/strings.tex index 364a553219..d710ad56e3 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -4539,7 +4539,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return compare(0, npos, x) == 0;} +Equivalent to: \tcode{return substr(0, x.size()) == x;} \end{itemdescr} \indexlibrarymember{starts_with}{basic_string_view}% @@ -4550,7 +4550,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return starts_with(basic_string_view(addressof(x), 1));} +Equivalent to: \tcode{return !empty() \&\& traits::eq(front(), x);} \end{itemdescr} \indexlibrarymember{starts_with}{basic_string_view}% @@ -4586,7 +4586,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return ends_with(basic_string_view(addressof(x), 1));} +Equivalent to: \tcode{return !empty() \&\& traits::eq(back(), x);} \end{itemdescr} \indexlibrarymember{ends_with}{basic_string_view}% From daf51016db0991a23ebf2f4b887de161fb8b621b Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Mon, 18 Feb 2019 14:42:03 -1000 Subject: [PATCH 075/148] LWG3077 (push|emplace)_back should invalidate the end iterator --- source/containers.tex | 51 ++++++++++++++++++++++++++++++------------- source/strings.tex | 8 ++++--- 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index 02a4ac451b..a1d890727f 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -3790,15 +3790,23 @@ but does not change the size of the sequence. \begin{note} The request is non-binding to allow latitude for implementation-specific optimizations. \end{note} -If an exception is thrown other than by the move constructor -of a non-\oldconcept{CopyInsertable} \tcode{T} there are no effects. +If the size is equal to the old capacity, or +if an exception is thrown other than by the move constructor +of a non-\oldconcept{CopyInsertable} \tcode{T}, +then there are no effects. \pnum -\complexity Linear in the size of the sequence. +\complexity +If the size is not equal to the old capacity, +linear in the size of the sequence; +otherwise constant. \pnum -\remarks \tcode{shrink_to_fit} invalidates all the references, pointers, and iterators -referring to the elements in the sequence as well as the past-the-end iterator. +\remarks +If the size is not equal to the old capacity, +then invalidates all the references, pointers, and iterators +referring to the elements in the sequence, +as well as the past-the-end iterator. \end{itemdescr} \rSec3[deque.modifiers]{Modifiers} @@ -5620,13 +5628,14 @@ \pnum \remarks Reallocation invalidates all the references, pointers, and iterators -referring to the elements in the sequence. +referring to the elements in the sequence, as well as the past-the-end iterator. +\begin{note} +If no reallocation happens, they remain valid. +\end{note} No reallocation shall take place during insertions that happen -after a call to -\tcode{reserve()} -until the time when an insertion would make the size of the vector -greater than the value of -\tcode{capacity()}. +after a call to \tcode{reserve()} +until an insertion would make the size of the vector +greater than the value of \tcode{capacity()}. \end{itemdescr} \indexlibrary{\idxcode{shrink_to_fit}!\idxcode{vector}}% @@ -5649,12 +5658,16 @@ of a non-\oldconcept{CopyInsertable} \tcode{T} there are no effects. \pnum -\complexity Linear in the size of the sequence. +\complexity +If reallocation happens, +linear in the size of the sequence. \pnum \remarks Reallocation invalidates all the references, pointers, and iterators referring to the elements in the sequence as well as the past-the-end iterator. +\begin{note} If no reallocation happens, they remain valid. +\end{note} \end{itemdescr} \indexlibrary{\idxcode{swap}!\idxcode{vector}}% @@ -5758,8 +5771,13 @@ \remarks Causes reallocation if the new size is greater than the old capacity. Reallocation invalidates all the references, pointers, and iterators -referring to the elements in the sequence. -If no reallocation happens, all the iterators and references before the insertion point remain valid. +referring to the elements in the sequence, as well as the past-the-end iterator. +If no reallocation happens, then +references, pointers, and iterators +before the insertion point remain valid +but those at or after the insertion point, +including the past-the-end iterator, +are invalidated. If an exception is thrown other than by the copy constructor, move constructor, assignment operator, or move assignment operator of @@ -5773,7 +5791,10 @@ \pnum \complexity -The complexity is linear in the number of elements inserted plus the distance +If reallocation happens, +linear in the number of elements of the resulting vector; +otherwise, +linear in the number of elements inserted plus the distance to the end of the vector. \end{itemdescr} diff --git a/source/strings.tex b/source/strings.tex index d710ad56e3..a9bd3e87a1 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -1653,12 +1653,14 @@ by causing reallocation. \pnum -\complexity Linear in the size of the sequence. +\complexity If the size is not equal to the old capacity, +linear in the size of the sequence; +otherwise constant. \pnum \remarks Reallocation invalidates all the references, pointers, and iterators -referring to the elements in the sequence as well as the past-the-end iterator. -If no reallocation happens, they remain valid. +referring to the elements in the sequence, as well as the past-the-end iterator. +\begin{note} If no reallocation happens, they remain valid. \end{note} \end{itemdescr} \indexlibrarymember{clear}{basic_string}% From b87887015b2a892bd21279dd85b10edf5503af34 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Mon, 18 Feb 2019 13:48:17 -1000 Subject: [PATCH 076/148] LWG3087 One final &x in [list.ops] --- source/containers.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/containers.tex b/source/containers.tex index a1d890727f..206ff35929 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -5149,7 +5149,7 @@ \pnum \complexity Constant time if -\tcode{\&x == this}; +\tcode{addressof(x) == this}; otherwise, linear time. \end{itemdescr} From 6b597f1c0aa9796b32687e83dbe1ffb4c4ad1516 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Mon, 18 Feb 2019 14:19:16 -1000 Subject: [PATCH 077/148] LWG3101 span's Container constructors need another constraint [span.cons] Appended "is true" to form a complete sentence. --- source/containers.tex | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index 206ff35929..822ed706b0 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -10515,8 +10515,6 @@ \pnum \requires \range{data(cont)}{data(cont) + size(cont)} shall be a valid range. -If \tcode{extent} is not equal to \tcode{dynamic_extent}, -then \tcode{size(cont)} shall be equal to \tcode{extent}. \pnum \effects @@ -10534,6 +10532,7 @@ \remarks These constructors shall not participate in overload resolution unless: \begin{itemize} +\item \tcode{extent == dynamic_extent} is \tcode{true}, \item \tcode{Container} is not a specialization of \tcode{span}, \item \tcode{Container} is not a specialization of \tcode{array}, \item \tcode{is_array_v} is \tcode{false}, From 7e832aaf06dee354a0121671d47ca2e6680eef60 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 13:54:00 -0800 Subject: [PATCH 078/148] LWG3112 system_error and filesystem_error constructors taking a string may not be able to meet their postconditions --- source/diagnostics.tex | 10 +++++----- source/iostreams.tex | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/source/diagnostics.tex b/source/diagnostics.tex index 29b67330c1..845daa0338 100644 --- a/source/diagnostics.tex +++ b/source/diagnostics.tex @@ -1702,8 +1702,8 @@ \effects Constructs an object of class \tcode{system_error}. \pnum -\ensures \tcode{code() == ec} and -\tcode{string(what()).find(what_arg) != string::npos}. +\ensures \tcode{code() == ec} and\newline +\tcode{string_view(what()).find(what_arg.c_str()) != string_view::npos}. \end{itemdescr} \indexlibrary{\idxcode{system_error}!constructor}% @@ -1717,7 +1717,7 @@ \pnum \ensures \tcode{code() == ec} and -\tcode{string(what()).find(what_arg) != string::npos}. +\tcode{string_view(what()).find(what_arg) != string_view::npos}. \end{itemdescr} \indexlibrary{\idxcode{system_error}!constructor}% @@ -1744,7 +1744,7 @@ \pnum \ensures \raggedright \tcode{code() == error_code(ev, ecat)} and\linebreak -\tcode{string(what()).find(what_arg) != string::npos}. +\tcode{string_view(what()).find(what_arg.c_str()) != string_view::npos}. \end{itemdescr} \indexlibrary{\idxcode{system_error}!constructor}% @@ -1758,7 +1758,7 @@ \pnum \ensures \raggedright \tcode{code() == error_code(ev, ecat)} and\linebreak -\tcode{string(what()).find(what_arg) != string::npos}. +\tcode{string_view(what()).find(what_arg) != string_view::npos}. \end{itemdescr} \indexlibrary{\idxcode{system_error}!constructor}% diff --git a/source/iostreams.tex b/source/iostreams.tex index ae814c4881..ca22f412e2 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -12904,7 +12904,7 @@ \item \tcode{code() == ec}, \item \tcode{path1().empty() == true}, \item \tcode{path2().empty() == true}, and -\item \tcode{string_view(what()).find(what_arg)} \tcode{!= string_view::npos}. +\item \tcode{string_view(what()).find(what_arg.c_str())} \tcode{!= string_view::npos}. \end{itemize} \end{itemdescr} @@ -12920,7 +12920,7 @@ \item \tcode{code() == ec}, \item \tcode{path1()} returns a reference to the stored copy of \tcode{p1}, \item \tcode{path2().empty() == true}, and -\item \tcode{string_view(what()).find(what_arg)} \tcode{!= string_view::npos}. +\item \tcode{string_view(what()).find(what_arg.c_str())} \tcode{!= string_view::npos}. \end{itemize} \end{itemdescr} @@ -12936,7 +12936,7 @@ \item \tcode{code() == ec}, \item \tcode{path1()} returns a reference to the stored copy of \tcode{p1}, \item \tcode{path2()} returns a reference to the stored copy of \tcode{p2}, and -\item \tcode{string_view(what()).find(what_arg)} \tcode{!= string_view::npos}. +\item \tcode{string_view(what()).find(what_arg.c_str())} \tcode{!= string_view::npos}. \end{itemize} \end{itemdescr} From 7ab33aa6967ae71c1ab84a56dc61e44b4efe6968 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Mon, 18 Feb 2019 14:28:45 -1000 Subject: [PATCH 079/148] LWG3119 Program-definedness of closure types --- source/lib-intro.tex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/lib-intro.tex b/source/lib-intro.tex index aa75ebad27..4e0ce002fa 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -319,9 +319,10 @@ \definition{program-defined type}{defns.prog.def.type} \indexdefn{type!program-defined}% -class type or enumeration type +non-closure class type or enumeration type that is not part of the C++ standard library and not defined by the implementation, +or a closure type of a non-implementation-provided lambda expression, or an instantiation of a program-defined specialization \begin{defnote} From e4497cc723e820d63301deb21cfc1cdf85937cf6 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 14:10:08 -0800 Subject: [PATCH 080/148] LWG3133 Modernizing numeric type requirements --- source/numerics.tex | 69 +++++++-------------------------------------- 1 file changed, 10 insertions(+), 59 deletions(-) diff --git a/source/numerics.tex b/source/numerics.tex index 7f85dc7b2e..bc0482db60 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -36,10 +36,15 @@ and \tcode{valarray} components are parameterized by the type of information they contain and manipulate. -A \Cpp{} program shall instantiate these components only with a type -\tcode{T} +A \Cpp{} program shall instantiate these components only with +a cv-unqualified object type \tcode{T} that satisfies the -following requirements:\footnote{In other words, value types. +\oldconcept{DefaultConstructible}, +\oldconcept{CopyConstructible}, +\oldconcept{CopyAssignable}, and +\oldconcept{Destructible} +requirements\iref{utility.arg.requirements}.% +\footnote{In other words, value types. These include arithmetic types, pointers, the library class \tcode{complex}, @@ -47,60 +52,6 @@ \tcode{valarray} for value types.} -\begin{itemize} -\item \tcode{T} is not an abstract class (it has no pure virtual member functions); -\item \tcode{T} is not a reference type; -\item \tcode{T} is not cv-qualified; -\item If \tcode{T} is a class, it has a public default constructor; -\item If \tcode{T} is a class, it has a public copy constructor with the signature \tcode{T::T(const T\&)} -\item If \tcode{T} is a class, it has a public destructor; -\item If \tcode{T} is a class, it has a public assignment operator whose signature is either -\tcode{T\& T::operator=(const T\&)} -or -\tcode{T\& T::operator=(T)} -\item If \tcode{T} is a class, its assignment operator, copy and default constructors, -and destructor shall correspond to each other in the following sense: - \begin{itemize} - \item Initialization of raw storage using the copy constructor - on the value of \tcode{T()}, however obtained, - is semantically equivalent to value-initialization of the same raw storage. - \item Initialization of raw storage using the default constructor, - followed by assignment, - is semantically equivalent to initialization of raw storage using the copy constructor. - \item Destruction of an object, - followed by initialization of its raw storage using the copy constructor, - is semantically equivalent to assignment to the original object. - \end{itemize} - -\begin{note} -This rule states, in part, that there shall not be any subtle differences in the semantics -of initialization versus assignment. -This gives an implementation -considerable flexibility in how arrays are initialized. - -\begin{example} -An implementation is allowed to initialize a -\tcode{valarray} -by allocating storage using the -\tcode{new} -operator (which -implies a call to the default constructor for each element) and then -assigning each element its value. -Or the implementation can allocate raw -storage and use the copy constructor to initialize each element. -\end{example} - -If the distinction between initialization and assignment is important -for a class, or if it fails to satisfy any of -the other conditions listed above, the programmer should use -\tcode{vector}\iref{vector} instead of -\tcode{valarray} -for that class. -\end{note} -\item If \tcode{T} is a class, it does not overload unary -\tcode{operator\&}. -\end{itemize} - \pnum If any operation on \tcode{T} throws an exception the effects are undefined. @@ -7026,12 +6977,12 @@ \pnum \remarks -The expression \tcode{\&a[i+j] == \&a[i] + j} +The expression \tcode{addressof(a[i+j]) == addressof(a[i]) + j} evaluates to \tcode{true} for all \tcode{size_t i} and \tcode{size_t j} such that \tcode{i+j < a.size()}. \pnum -The expression \tcode{\&a[i] != \&b[j]} +The expression \tcode{addressof(a[i]) != addressof(b[j])} evaluates to \tcode{true} for any two arrays \tcode{a} and \tcode{b} and for any \tcode{size_t i} and \tcode{size_t j} From 7eb7a9dfe1aa200e96a027d0b69ac4734e629c6a Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 14:13:36 -0800 Subject: [PATCH 081/148] LWG3144 span does not have a const_pointer typedef --- source/containers.tex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/containers.tex b/source/containers.tex index 822ed706b0..3689664b8b 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -10327,7 +10327,9 @@ using index_type = ptrdiff_t; using difference_type = ptrdiff_t; using pointer = element_type*; + using const_pointer = const element_type*; using reference = element_type&; + using const_reference = const element_type&; using iterator = @\impdefx{type of \tcode{span::iterator}}@; using const_iterator = @\impdefx{type of \tcode{span::const_iterator}}@; using reverse_iterator = std::reverse_iterator; From 2337bacd298287ed040e8c90276320c5b78f6d4d Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Mon, 18 Feb 2019 14:48:30 -1000 Subject: [PATCH 082/148] LWG3173 Enable CTAD for ref-view [ranges.view.ref] Removed italics from template ref_view. --- source/ranges.tex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/ranges.tex b/source/ranges.tex index 6a1313fad0..68f25634b8 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -2387,6 +2387,8 @@ friend constexpr sentinel_t end(@\placeholder{ref-view}@ r) { return r.end(); } }; + template + @\placeholder{ref-view}@(R&) -> @\placeholder{ref-view}@; } \end{codeblock} From 187538c39f0790ec9b1fafd8972a7d3c621d9aa2 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 14:21:24 -0800 Subject: [PATCH 083/148] LWG3179 subrange should always model Range --- source/ranges.tex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/ranges.tex b/source/ranges.tex index 68f25634b8..d694a9cae8 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -1253,6 +1253,9 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects \range{i}{s} is a valid range. + \pnum \effects Initializes \tcode{begin_} with \tcode{i} and \tcode{end_} with \tcode{s}. @@ -1266,7 +1269,8 @@ \begin{itemdescr} \pnum -\expects \tcode{n == ranges::distance(i, s)}. +\expects \range{i}{s} is a valid range, and +\tcode{n == ranges::distance(i, s)}. \pnum \effects Initializes \tcode{begin_} with \tcode{i} and \tcode{end_} with From e33be08f8ca49a9a139aa81b7a1ba9787d85f4fc Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 14:29:40 -0800 Subject: [PATCH 084/148] LWG3180 Inconsistently named return type for ranges::minmax_element --- source/algorithms.tex | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index 20a8ced131..05a60ed5fa 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -2662,13 +2662,16 @@ ForwardIterator first, ForwardIterator last, Compare comp); namespace ranges { + template + using minmax_element_result = minmax_result; + template S, class Proj = identity, IndirectStrictWeakOrder> Comp = ranges::less<>> - constexpr minmax_result + constexpr minmax_element_result minmax_element(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> - constexpr minmax_result> + constexpr minmax_element_result> minmax_element(R&& r, Comp comp = {}, Proj proj = {}); } From 47534868ac52cc875f7d02dc8c17458bb480261b Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 14:37:41 -0800 Subject: [PATCH 085/148] LWG3182 Specification of Same could be clearer --- source/concepts.tex | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/concepts.tex b/source/concepts.tex index c7ef715175..18763fc951 100644 --- a/source/concepts.tex +++ b/source/concepts.tex @@ -273,13 +273,18 @@ \indexlibrary{\idxcode{Same}}% \begin{itemdecl} template - concept Same = is_same_v; + concept @\placeholdernc{same-impl}@ = is_same_v; // \expos + +template + concept Same = @\placeholdernc{same-impl}@ && @\placeholdernc{same-impl}@; \end{itemdecl} \begin{itemdescr} \pnum +\begin{note} \tcode{\libconcept{Same}} subsumes \tcode{\libconcept{Same}} and vice versa. +\end{note} \end{itemdescr} \rSec2[concept.derivedfrom]{Concept \libconcept{DerivedFrom}} From f368e6a25cf719e54f986c9407ddbbdde9aedc70 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 14 Mar 2019 12:55:05 -0700 Subject: [PATCH 086/148] [coroutine.handle] Use proper macro for "exposition only" --- source/support.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/support.tex b/source/support.tex index 3d05684757..59a7dceafe 100644 --- a/source/support.tex +++ b/source/support.tex @@ -5068,7 +5068,7 @@ void destroy() const; private: - void* ptr; // exposition only + void* ptr; // \expos }; template From e054e6b9737946ffdf88e2c878c1698aacbffaab Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 3 Mar 2019 23:41:44 +0100 Subject: [PATCH 087/148] P0339R6 polymorphic_allocator<> as a vocabulary type --- source/utilities.tex | 122 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 121 insertions(+), 1 deletion(-) diff --git a/source/utilities.tex b/source/utilities.tex index f68c9f9442..8ff59c4143 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -12369,7 +12369,7 @@ \indexlibrarymember{value_type}{polymorphic_allocator}% \begin{codeblock} namespace std::pmr { - template class polymorphic_allocator { + template class polymorphic_allocator { memory_resource* memory_rsrc; // \expos public: @@ -12390,6 +12390,13 @@ [[nodiscard]] Tp* allocate(size_t n); void deallocate(Tp* p, size_t n); + void* allocate_bytes(size_t nbytes, size_t alignment = alignof(max_align_t)); + void deallocate_bytes(void* p, size_t nbytes, size_t alignment = alignof(max_align_t)); + template T* allocate_object(size_t n = 1); + template void deallocate_object(T* p, size_t n = 1); + template T* new_object(CtorArgs&&... ctor_args); + template void delete_object(T* p); + template void construct(T* p, Args&&... args); @@ -12490,6 +12497,119 @@ Nothing. \end{itemdescr} +\indexlibrarymember{allocate_bytes}{polymorphic_allocator}% +\begin{itemdecl} +void* allocate_bytes(size_t nbytes, size_t alignment = alignof(max_align_t)); +\end{itemdecl} + +\begin{itemdescr} +\pnum +\effects +Equivalent to: \tcode{return memory_rsrc->allocate(nbytes, alignment);} + +\pnum +\begin{note} +The return type is \tcode{void*} (rather than, e.g., \tcode{byte*}) +to support conversion to an arbitrary pointer type \tcode{U*} +by \tcode{static_cast}, thus facilitating construction of a \tcode{U} +object in the allocated memory. +\end{note} +\end{itemdescr} + +\indexlibrarymember{deallocate_bytes}{polymorphic_allocator}% +\begin{itemdecl} +void deallocate_bytes(void* p, size_t nbytes, size_t alignment = alignof(max_align_t)); +\end{itemdecl} + +\begin{itemdescr} +\pnum +\effects +Equivalent to \tcode{memory_rsrc->deallocate(p, nbytes, alignment)}. +\end{itemdescr} + +\indexlibrarymember{allocate_object}{polymorphic_allocator}% +\begin{itemdecl} +template + T* allocate_object(size_t n = 1); +\end{itemdecl} + +\begin{itemdescr} +\pnum +\effects +Allocates memory suitable for holding +an array of \tcode{n} objects of type \tcode{T}, as follows: +\begin{itemize} +\item + if \tcode{SIZE_MAX / sizeof(T) < n}, throws \tcode{length_error}, +\item + otherwise equivalent to: +\begin{codeblock} +return static_cast(allocate_bytes(n*sizeof(T), alignof(T))); +\end{codeblock} +\end{itemize} + +\pnum +\begin{note} +\tcode{T} is not deduced and must therefore be provided as a template argument. +\end{note} +\end{itemdescr} + +\indexlibrarymember{deallocate_object}{polymorphic_allocator}% +\begin{itemdecl} +template + void deallocate_object(T* p, size_t n = 1); +\end{itemdecl} + +\begin{itemdescr} +\pnum +\effects +Equivalent to \tcode{deallocate_bytes(p, n*sizeof(T), alignof(T))}. +\end{itemdescr} + +\indexlibrarymember{new_object}{polymorphic_allocator}% +\begin{itemdecl} +template + T* new_object(CtorArgs&&... ctor_args); +\end{itemdecl} + +\begin{itemdescr} +\pnum +\effects +Allocates and constructs an object of type \tcode{T}, as follows: +equivalent to: +\begin{codeblock} +T* p = allocate_object(); +try { + construct(p, std::forward(ctor_args)...); +} catch (...) { + deallocate_object(p); + throw; +} +return p; +\end{codeblock} + +\pnum +\begin{note} +\tcode{T} is not deduced and must therefore be provided as a template argument. +\end{note} +\end{itemdescr} + +\indexlibrarymember{new_object}{polymorphic_allocator}% +\begin{itemdecl} +template + void delete_object(T* p); +\end{itemdecl} + +\begin{itemdescr} +\pnum +\effects +Equivalent to: +\begin{codeblock} +destroy(p); +deallocate_object(p); +\end{codeblock} +\end{itemdescr} + \indexlibrarymember{construct}{polymorphic_allocator}% \begin{itemdecl} template From e11e27a7873953f0c078901f7ddbb0d7d701c5f7 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Wed, 6 Mar 2019 21:15:37 +0100 Subject: [PATCH 088/148] [mem.poly.allocator.mem] Avoid duplicate colons. --- source/utilities.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 8ff59c4143..97098e959a 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -12575,8 +12575,8 @@ \begin{itemdescr} \pnum \effects -Allocates and constructs an object of type \tcode{T}, as follows: -equivalent to: +Allocates and constructs an object of type \tcode{T}, as follows.\newline +Equivalent to: \begin{codeblock} T* p = allocate_object(); try { From d21b0b3b893e64bbe84e9b03406a87ac255bf598 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 3 Mar 2019 23:13:37 +0100 Subject: [PATCH 089/148] P0340R3 Making std::underlying_type SFINAE-friendly --- source/utilities.tex | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 97098e959a..707ed0f998 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -18183,9 +18183,10 @@ \tcode{template}\br \tcode{struct underlying_type;} & - The member typedef \tcode{type} names the underlying type - of \tcode{T}.\br - \requires{} \tcode{T} shall be a complete enumeration type\iref{dcl.enum} \\ \rowsep + If \tcode{T} is an enumeration type, the member typedef \tcode{type} names + the underlying type of \tcode{T}\iref{dcl.enum}; + otherwise, there is no member \tcode{type}.\br + \mandates \tcode{T} is not an incomplete enumeration type. \\ \rowsep \tcode{template}\br From 5ec9daaeb41e4f02e7a577c05077ff798a04fb47 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Wed, 27 Feb 2019 15:20:58 -0800 Subject: [PATCH 090/148] P0738R2 I Stream, You Stream, We All Stream for istream_iterator Fixes #2697. --- source/iterators.tex | 113 ++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 70 deletions(-) diff --git a/source/iterators.tex b/source/iterators.tex index a2bba557d6..69dda5b975 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -5569,51 +5569,9 @@ \pnum \indexlibrary{\idxcode{istream_iterator}}% -The class template -\tcode{istream_iterator} -is an input iterator\iref{input.iterators} that -reads (using -\tcode{operator>>}) -successive elements from the input stream for which it was constructed. -After it is constructed, and every time -\tcode{++} -is used, the iterator reads and stores a value of -\tcode{T}. -If the iterator fails to read and store a value of \tcode{T} -(\tcode{fail()} -on the stream returns -\tcode{true}), -the iterator becomes equal to the -\term{end-of-stream} -iterator value. -The constructor with no arguments -\tcode{istream_iterator()} -always constructs -an end-of-stream input iterator object, which is the only legitimate iterator to be used -for the end condition. -The result of -\tcode{operator*} -on an end-of-stream iterator is not defined. -For any other iterator value a -\tcode{const T\&} -is returned. -The result of -\tcode{operator->} -on an end-of-stream iterator is not defined. -For any other iterator value a -\tcode{const T*} -is returned. -The behavior of a program that applies \tcode{operator++()} to an end-of-stream -iterator is undefined. -It is impossible to store things into istream iterators. -The type \tcode{T} shall satisfy the \oldconcept{DefaultConstructible}, -\oldconcept{CopyConstructible}, and \oldconcept{CopyAssignable} requirements. - -\pnum -Two end-of-stream iterators are always equal. -An end-of-stream iterator is not -equal to a non-end-of-stream iterator. -Two non-end-of-stream iterators are equal when they are constructed from the same stream. +The class template \tcode{istream_iterator} +is an input iterator\iref{input.iterators} that reads successive elements +from the input stream for which it was constructed. \begin{codeblock} namespace std { @@ -5654,6 +5612,10 @@ } \end{codeblock} +\pnum +The type \tcode{T} shall meet the \oldconcept{DefaultConstructible}, +\oldconcept{CopyConstructible}, and \oldconcept{CopyAssignable} requirements. + \rSec3[istream.iterator.cons]{Constructors and destructor} \indexlibrary{\idxcode{istream_iterator}!constructor}% @@ -5665,12 +5627,16 @@ \begin{itemdescr} \pnum \effects -Constructs the end-of-stream iterator. -If \tcode{is_trivially_default_constructible_v} is \tcode{true}, -then these constructors are constexpr constructors. +Constructs the end-of-stream iterator, value-initializing \tcode{value}. \pnum -\ensures \tcode{in_stream == nullptr}. +\ensures \tcode{in_stream == nullptr} is \tcode{true}. + +\pnum +\remarks +If the initializer \tcode{T()} in the declaration \tcode{auto x = T();} +is a constant initializer\iref{expr.const}, +then these constructors are \tcode{constexpr} constructors. \end{itemdescr} @@ -5682,12 +5648,9 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{in_stream} with \tcode{addressof(s)}. -\tcode{value} may be initialized during -construction or the first time it is referenced. - -\pnum -\ensures \tcode{in_stream == addressof(s)}. +Initializes \tcode{in_stream} with \tcode{addressof(s)}, +value-initializes \tcode{value}, +and then calls \tcode{operator++()}. \end{itemdescr} @@ -5700,11 +5663,14 @@ \pnum \effects Constructs a copy of \tcode{x}. -If \tcode{is_trivially_copy_constructible_v} is \tcode{true}, -then this constructor is a trivial copy constructor. \pnum -\ensures \tcode{in_stream == x.in_stream}. +\ensures \tcode{in_stream == x.in_stream} is \tcode{true}. + +\pnum +\remarks +If \tcode{is_trivially_copy_constructible_v} is \tcode{true}, +then this constructor is trivial. \end{itemdescr} \indexlibrary{\idxcode{istream_iterator}!destructor}% @@ -5714,8 +5680,7 @@ \begin{itemdescr} \pnum -\effects -The iterator is destroyed. +\remarks If \tcode{is_trivially_destructible_v} is \tcode{true}, then this destructor is trivial. \end{itemdescr} @@ -5728,6 +5693,10 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects +\tcode{in_stream != nullptr} is \tcode{true}. + \pnum \returns \tcode{value}. @@ -5739,9 +5708,13 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects +\tcode{in_stream != nullptr} is \tcode{true}. + \pnum \returns -\tcode{addressof(operator*())}. +\tcode{addressof(value)}. \end{itemdescr} \indexlibrarymember{operator++}{istream_iterator}% @@ -5751,11 +5724,15 @@ \begin{itemdescr} \pnum -\requires \tcode{in_stream != nullptr}. +\expects +\tcode{in_stream != nullptr} is \tcode{true}. \pnum -\effects -As if by: \tcode{*in_stream >> value;} +\effects Equivalent to: +\begin{codeblock} +if (!(*in_stream >> value)) + in_stream = nullptr; +\end{codeblock} \pnum \returns @@ -5769,14 +5746,10 @@ \begin{itemdescr} \pnum -\requires \tcode{in_stream != nullptr}. - -\pnum -\effects -As if by: +\effects Equivalent to: \begin{codeblock} istream_iterator tmp = *this; -*in_stream >> value; +++*this; return tmp; \end{codeblock} \end{itemdescr} From aee92a7215bb19548d45504b9f9eb2abaa972efb Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 5 Mar 2019 10:12:39 +0100 Subject: [PATCH 091/148] P1458R1 Mandating the Standard Library: Clause 16 - Language support library --- source/support.tex | 256 +++++++++++---------------------------------- 1 file changed, 62 insertions(+), 194 deletions(-) diff --git a/source/support.tex b/source/support.tex index 59a7dceafe..729f9eb56d 100644 --- a/source/support.tex +++ b/source/support.tex @@ -350,11 +350,10 @@ \end{itemdecl} \begin{itemdescr} +\pnum \constraints \tcode{is_integral_v} is \tcode{true}. + \pnum \effects Equivalent to: \tcode{return b = b << shift;} - -\pnum \remarks This function shall not participate in overload resolution unless -\tcode{is_integral_v} is \tcode{true}. \end{itemdescr} \indexlibrarymember{operator<<}{byte}% @@ -364,14 +363,13 @@ \end{itemdecl} \begin{itemdescr} +\pnum \constraints \tcode{is_integral_v} is \tcode{true}. + \pnum \effects Equivalent to: \begin{codeblock} return static_cast(static_cast( static_cast(b) << shift)); \end{codeblock} - -\pnum \remarks This function shall not participate in overload resolution unless -\tcode{is_integral_v} is \tcode{true}. \end{itemdescr} \indexlibrarymember{operator>>=}{byte}% @@ -381,11 +379,10 @@ \end{itemdecl} \begin{itemdescr} +\pnum \constraints \tcode{is_integral_v} is \tcode{true}. + \pnum \effects Equivalent to: \tcode{return b >> shift;} - -\pnum \remarks This function shall not participate in overload resolution unless -\tcode{is_integral_v} is \tcode{true}. \end{itemdescr} \indexlibrarymember{operator>>}{byte}% @@ -395,14 +392,13 @@ \end{itemdecl} \begin{itemdescr} +\pnum \constraints \tcode{is_integral_v} is \tcode{true}. + \pnum \effects Equivalent to: \begin{codeblock} return static_cast(static_cast( static_cast(b) >> shift)); \end{codeblock} - -\pnum \remarks This function shall not participate in overload resolution unless -\tcode{is_integral_v} is \tcode{true}. \end{itemdescr} \indexlibrarymember{operator"|=}{byte}% @@ -491,10 +487,9 @@ \end{itemdecl} \begin{itemdescr} -\pnum \effects Equivalent to: \tcode{return static_cast(b);} +\pnum \constraints \tcode{is_integral_v} is \tcode{true}. -\pnum \remarks This function shall not participate in overload resolution unless -\tcode{is_integral_v} is \tcode{true}. +\pnum \effects Equivalent to: \tcode{return static_cast(b);} \end{itemdescr} \rSec1[support.limits]{Implementation properties} @@ -2251,9 +2246,9 @@ \end{note} \pnum -\requires -\tcode{ptr} shall be a null pointer or -its value shall represent the address of +\expects +\tcode{ptr} is a null pointer or +its value represents the address of a block of memory allocated by an earlier call to a (possibly replaced) \tcode{operator new(std::size_t)} @@ -2263,20 +2258,20 @@ \tcode{operator delete}. \pnum -\requires +\expects If an implementation has strict pointer safety\iref{basic.stc.dynamic.safety} -then \tcode{ptr} shall be a safely-derived pointer. +then \tcode{ptr} is a safely-derived pointer. \pnum -\requires +\expects If the \tcode{alignment} parameter is not present, -\tcode{ptr} shall have been returned by an allocation function +\tcode{ptr} was returned by an allocation function without an \tcode{alignment} parameter. If present, the \tcode{alignment} argument -shall equal the \tcode{alignment} argument +is equal to the \tcode{alignment} argument passed to the allocation function that returned \tcode{ptr}. If present, the \tcode{size} argument -shall equal the \tcode{size} argument +is equal to the \tcode{size} argument passed to the allocation function that returned \tcode{ptr}. \pnum @@ -2341,9 +2336,9 @@ \replaceabledesc{either} \pnum -\requires -\tcode{ptr} shall be a null pointer or -its value shall represent the address of +\expects +\tcode{ptr} is a null pointer or +its value represents the address of a block of memory allocated by an earlier call to a (possibly replaced) \tcode{operator new(std::size_t)} @@ -2353,17 +2348,17 @@ \tcode{operator delete}. \pnum -\requires +\expects If an implementation has strict pointer safety\iref{basic.stc.dynamic.safety} -then \tcode{ptr} shall be a safely-derived pointer. +then \tcode{ptr} is a safely-derived pointer. \pnum -\requires +\expects If the \tcode{alignment} parameter is not present, -\tcode{ptr} shall have been returned by an allocation function +\tcode{ptr} was returned by an allocation function without an \tcode{alignment} parameter. If present, the \tcode{alignment} argument -shall equal the \tcode{alignment} argument +is equal to the \tcode{alignment} argument passed to the allocation function that returned \tcode{ptr}. \pnum @@ -2506,9 +2501,9 @@ \end{note} \pnum -\requires -\tcode{ptr} shall be a null pointer or -its value shall represent the address of +\expects +\tcode{ptr} is a null pointer or +its value represents the address of a block of memory allocated by an earlier call to a (possibly replaced) \tcode{operator new[](std::size_t)} @@ -2518,20 +2513,20 @@ \tcode{operator delete[]}. \pnum -\requires +\expects If an implementation has strict pointer safety\iref{basic.stc.dynamic.safety} -then \tcode{ptr} shall be a safely-derived pointer. +then \tcode{ptr} is a safely-derived pointer. \pnum -\requires +\expects If the \tcode{alignment} parameter is not present, -\tcode{ptr} shall have been returned by an allocation function +\tcode{ptr} was returned by an allocation function without an \tcode{alignment} parameter. If present, the \tcode{alignment} argument -shall equal the \tcode{alignment} argument +is equal to the \tcode{alignment} argument passed to the allocation function that returned \tcode{ptr}. If present, the \tcode{size} argument -shall equal the \tcode{size} argument +is equal to the \tcode{size} argument passed to the allocation function that returned \tcode{ptr}. \pnum @@ -2577,9 +2572,9 @@ \replaceabledesc{either} \pnum -\requires -\tcode{ptr} shall be a null pointer or -its value shall represent the address of +\expects +\tcode{ptr} is a null pointer or +its value represents the address of a block of memory allocated by an earlier call to a (possibly replaced) \tcode{operator new[](std::size_t)} @@ -2589,17 +2584,17 @@ \tcode{operator delete[]}. \pnum -\requires +\expects If an implementation has strict pointer safety\iref{basic.stc.dynamic.safety} -then \tcode{ptr} shall be a safely-derived pointer. +then \tcode{ptr} is a safely-derived pointer. \pnum -\requires +\expects If the \tcode{alignment} parameter is not present, -\tcode{ptr} shall have been returned by an allocation function +\tcode{ptr} was returned by an allocation function without an \tcode{alignment} parameter. If present, the \tcode{alignment} argument -shall equal the \tcode{alignment} argument +is equal to the \tcode{alignment} argument passed to the allocation function that returned \tcode{ptr}. \pnum @@ -2668,9 +2663,9 @@ Intentionally performs no action. \pnum -\requires +\expects If an implementation has strict pointer safety\iref{basic.stc.dynamic.safety} -then \tcode{ptr} shall be a safely-derived pointer. +then \tcode{ptr} is a safely-derived pointer. \pnum \remarks @@ -2691,9 +2686,9 @@ Intentionally performs no action. \pnum -\requires +\expects If an implementation has strict pointer safety\iref{basic.stc.dynamic.safety} -then \tcode{ptr} shall be a safely-derived pointer. +then \tcode{ptr} is a safely-derived pointer. \pnum \remarks @@ -2725,6 +2720,7 @@ \indexlibrary{\idxcode{bad_alloc}}% \rSec3[bad.alloc]{Class \tcode{bad_alloc}} +\indexlibrary{\idxcode{bad_alloc}!constructor}% \begin{codeblock} namespace std { class bad_alloc : public exception { @@ -2743,32 +2739,6 @@ defines the type of objects thrown as exceptions by the implementation to report a failure to allocate storage. -\indexlibrary{\idxcode{bad_alloc}!constructor}% -\begin{itemdecl} -bad_alloc() noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{bad_alloc}. -\end{itemdescr} - -\indexlibrary{\idxcode{bad_alloc}!constructor}% -\indexlibrarymember{operator=}{bad_alloc}% -\begin{itemdecl} -bad_alloc(const bad_alloc&) noexcept; -bad_alloc& operator=(const bad_alloc&) noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Copies an object of class -\tcode{bad_alloc}. -\end{itemdescr} - \indexlibrarymember{what}{bad_alloc}% \begin{itemdecl} const char* what() const noexcept override; @@ -2787,6 +2757,7 @@ \end{itemdescr} \indexlibrary{\idxcode{bad_array_new_length}}% +\indexlibrary{\idxcode{bad_array_new_length}!constructor}% \rSec3[new.badlength]{Class \tcode{bad_array_new_length}} \begin{codeblock} @@ -2805,16 +2776,6 @@ less than zero or greater than an \impldef{maximum size of an allocated object} limit\iref{expr.new}. -\indexlibrary{\idxcode{bad_array_new_length}!constructor}% -\begin{itemdecl} -bad_array_new_length() noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects Constructs an object of class \tcode{bad_array_new_length}. -\end{itemdescr} - \indexlibrarymember{what}{bad_array_new_length}% \begin{itemdecl} const char* what() const noexcept override; @@ -2912,7 +2873,11 @@ \begin{itemdescr} \pnum -\requires +\mandates +\tcode{!is_function_v \&\& !is_void_v} is \tcode{true}. + +\pnum +\expects \tcode{p} represents the address \placeholder{A} of a byte in memory. An object \placeholder{X} that is within its lifetime\iref{basic.life} and whose type is similar\iref{conv.qual} to \tcode{T} @@ -2937,8 +2902,6 @@ \placeholder{Y}, an object that is pointer-interconvertible with \placeholder{Y}, or the immediately-enclosing array object if \placeholder{Y} is an array element. -The program is ill-formed if \tcode{T} is a function type -or \cv{}~\tcode{void}. \pnum \begin{note} @@ -3150,6 +3113,7 @@ \rSec2[bad.cast]{Class \tcode{bad_cast}} \indexlibrary{\idxcode{bad_cast}}% +\indexlibrary{\idxcode{bad_cast}!constructor}% \begin{codeblock} namespace std { class bad_cast : public exception { @@ -3171,32 +3135,6 @@ \tcode{dynamic_cast} expression\iref{expr.dynamic.cast}. -\indexlibrary{\idxcode{bad_cast}!constructor}% -\begin{itemdecl} -bad_cast() noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{bad_cast}. -\end{itemdescr} - -\indexlibrary{\idxcode{bad_cast}!constructor}% -\indexlibrarymember{operator=}{bad_cast}% -\begin{itemdecl} -bad_cast(const bad_cast&) noexcept; -bad_cast& operator=(const bad_cast&) noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Copies an object of class -\tcode{bad_cast}. -\end{itemdescr} - \indexlibrarymember{what}{bad_cast}% \begin{itemdecl} const char* what() const noexcept override; @@ -3217,6 +3155,7 @@ \rSec2[bad.typeid]{Class \tcode{bad_typeid}} \indexlibrary{\idxcode{bad_typeid}}% +\indexlibrary{\idxcode{bad_typeid}!constructor}% \begin{codeblock} namespace std { class bad_typeid : public exception { @@ -3238,32 +3177,6 @@ \tcode{typeid} expression\iref{expr.typeid}. -\indexlibrary{\idxcode{bad_typeid}!constructor}% -\begin{itemdecl} -bad_typeid() noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{bad_typeid}. -\end{itemdescr} - -\indexlibrary{\idxcode{bad_typeid}!constructor}% -\indexlibrarymember{operator=}{bad_typeid}% -\begin{itemdecl} -bad_typeid(const bad_typeid&) noexcept; -bad_typeid& operator=(const bad_typeid&) noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Copies an object of class -\tcode{bad_typeid}. -\end{itemdescr} - \indexlibrarymember{what}{bad_typeid}% \begin{itemdecl} const char* what() const noexcept override; @@ -3411,6 +3324,7 @@ \rSec2[exception]{Class \tcode{exception}} \indexlibrary{\idxcode{exception}}% +\indexlibrary{\idxcode{exception}!constructor}% \begin{codeblock} namespace std { class exception { @@ -3440,18 +3354,6 @@ dynamic type \tcode{T} and \tcode{lhs} is a copy of \tcode{rhs}, then \tcode{strcmp(lhs.what(), rhs.what())} shall equal 0. -\indexlibrary{\idxcode{exception}!constructor}% -\begin{itemdecl} -exception() noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{exception}. -\end{itemdescr} - \indexlibrary{\idxcode{exception}!constructor}% \indexlibrarymember{operator=}{exception}% \begin{itemdecl} @@ -3460,12 +3362,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Copies an -\tcode{exception} -object. - \pnum \ensures If \tcode{*this} and \tcode{rhs} both have dynamic type \tcode{exception} then the value of the expression \tcode{strcmp(what(), rhs.what())} shall equal 0. @@ -3506,6 +3402,7 @@ \rSec2[bad.exception]{Class \tcode{bad_exception}} \indexlibrary{\idxcode{bad_exception}}% +\indexlibrary{\idxcode{bad_exception}!constructor}% \begin{codeblock} namespace std { class bad_exception : public exception { @@ -3526,32 +3423,6 @@ returned from a call to \tcode{current_exception}\iref{propagation} when the currently active exception object fails to copy. -\indexlibrary{\idxcode{bad_exception}!constructor}% -\begin{itemdecl} -bad_exception() noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{bad_exception}. -\end{itemdescr} - -\indexlibrary{\idxcode{bad_exception}!constructor}% -\indexlibrarymember{operator=}{bad_exception}% -\begin{itemdecl} -bad_exception(const bad_exception&) noexcept; -bad_exception& operator=(const bad_exception&) noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Copies an object of class -\tcode{bad_exception}. -\end{itemdescr} - \indexlibrarymember{what}{bad_exception}% \begin{itemdecl} const char* what() const noexcept override; @@ -3689,7 +3560,7 @@ The type \tcode{exception_ptr} can be used to refer to an exception object. \pnum -\tcode{exception_ptr} shall satisfy the requirements of +\tcode{exception_ptr} meets the requirements of \oldconcept{NullablePointer} (\tref{nullablepointer}). \pnum @@ -3753,7 +3624,7 @@ \begin{itemdescr} \pnum -\requires \tcode{p} shall not be a null pointer. +\expects \tcode{p} is not a null pointer. \pnum \throws The exception object to which \tcode{p} refers. @@ -3853,7 +3724,7 @@ Let \tcode{U} be \tcode{decay_t}. \pnum -\requires \tcode{U} shall be \oldconcept{CopyConstructible}. +\expects \tcode{U} meets the \oldconcept{CopyConstructible} requirements. \pnum \throws @@ -3942,9 +3813,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an empty \tcode{initializer_list} object. - \pnum \ensures \tcode{size() == 0}. \end{itemdescr} From c04f3747170c5a64d4e793d6cd873cf84afcf93d Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 5 Mar 2019 19:39:47 +0100 Subject: [PATCH 092/148] P1459R1 Mandating the Standard Library: Clause 18 - Diagnostics library --- source/diagnostics.tex | 170 +++-------------------------------------- 1 file changed, 11 insertions(+), 159 deletions(-) diff --git a/source/diagnostics.tex b/source/diagnostics.tex index 845daa0338..1d805a450f 100644 --- a/source/diagnostics.tex +++ b/source/diagnostics.tex @@ -100,11 +100,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{logic_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -116,11 +111,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{logic_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -151,11 +141,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{domain_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -167,11 +152,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{domain_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -201,11 +181,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{invalid_argument}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -217,11 +192,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{invalid_argument}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -253,11 +223,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{length_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -269,11 +234,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{length_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -305,11 +265,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{out_of_range}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -321,11 +276,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{out_of_range}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -356,11 +306,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{runtime_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -372,11 +317,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{runtime_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -407,11 +347,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{range_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -423,11 +358,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{range_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -457,11 +387,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{overflow_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -473,11 +398,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{overflow_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -507,11 +427,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{underflow_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg.c_str()) == 0}. @@ -523,11 +438,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an object of class -\tcode{underflow_error}. - \pnum \ensures \tcode{strcmp(what(), what_arg) == 0}. @@ -939,6 +849,8 @@ such type. \end{note} \indexlibrary{\idxcode{error_category}}% +\indexlibrary{\idxcode{error_category}!constructor}% +\indexlibrary{\idxcode{error_category}!destructor}% \indexlibrary{\idxcode{generic_category}}% \indexlibrary{\idxcode{system_category}}% \begin{codeblock} @@ -967,16 +879,6 @@ \rSec3[syserr.errcat.virtuals]{Virtual members} -\indexlibrary{\idxcode{error_category}!destructor}% -\begin{itemdecl} -virtual ~error_category(); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects Destroys an object of class \tcode{error_category}. -\end{itemdescr} - \indexlibrarymember{name}{error_category}% \begin{itemdecl} virtual const char* name() const noexcept = 0; @@ -1030,16 +932,6 @@ \rSec3[syserr.errcat.nonvirtuals]{Non-virtual members} -\indexlibrary{\idxcode{error_category}!constructor}% -\begin{itemdecl} -constexpr error_category() noexcept; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects Constructs an object of class \tcode{error_category}. -\end{itemdescr} - \indexlibrarymember{operator==}{error_category}% \begin{itemdecl} bool operator==(const error_category& rhs) const noexcept; @@ -1211,9 +1103,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of type \tcode{error_code}. - \pnum \ensures \tcode{val_ == 0} and \tcode{cat_ == \&system_category()}. \end{itemdescr} @@ -1224,9 +1113,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of type \tcode{error_code}. - \pnum \ensures \tcode{val_ == val} and \tcode{cat_ == \&cat}. \end{itemdescr} @@ -1239,14 +1125,10 @@ \begin{itemdescr} \pnum -\effects Constructs an object of type \tcode{error_code}. +\constraints \tcode{is_error_code_enum_v} is \tcode{true}. \pnum \ensures \tcode{*this == make_error_code(e)}. - -\pnum -\remarks \raggedright This constructor shall not participate in overload resolution unless\linebreak -\tcode{is_error_code_enum_v} is \tcode{true}. \end{itemdescr} \rSec3[syserr.errcode.modifiers]{Modifiers} @@ -1269,14 +1151,13 @@ \begin{itemdescr} \pnum -\ensures \tcode{*this == make_error_code(e)}. +\constraints \tcode{is_error_code_enum_v} is \tcode{true}. \pnum -\returns \tcode{*this}. +\ensures \tcode{*this == make_error_code(e)}. \pnum -\remarks \raggedright This operator shall not participate in overload resolution unless\linebreak -\tcode{is_error_code_enum_v} is \tcode{true}. +\returns \tcode{*this}. \end{itemdescr} \indexlibrarymember{clear}{error_code}% @@ -1363,7 +1244,7 @@ \begin{itemdescr} \pnum \effects -As if by: \tcode{os << ec.category().name() << ':' << ec.value();} +Equivalent to: \tcode{return os << ec.category().name() << ':' << ec.value();} \end{itemdescr} @@ -1414,9 +1295,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of type \tcode{error_condition}. - \pnum \ensures \tcode{val_ == 0} and \tcode{cat_ == \&generic_category()}. \end{itemdescr} @@ -1427,9 +1305,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of type \tcode{error_condition}. - \pnum \ensures \tcode{val_ == val} and \tcode{cat_ == \&cat}. \end{itemdescr} @@ -1442,14 +1317,10 @@ \begin{itemdescr} \pnum -\effects Constructs an object of type \tcode{error_condition}. +\constraints \tcode{is_error_condition_enum_v} is \tcode{true}. \pnum \ensures \tcode{*this == make_error_condition(e)}. - -\pnum -\remarks \raggedright This constructor shall not participate in overload resolution unless\linebreak -\tcode{is_error_condition_enum_v} is \tcode{true}. \end{itemdescr} @@ -1473,14 +1344,13 @@ \begin{itemdescr} \pnum -\ensures \tcode{*this == make_error_condition(e)}. +\constraints \tcode{is_error_condition_enum_v} is \tcode{true}. \pnum -\returns \tcode{*this}. +\ensures \tcode{*this == make_error_condition(e)}. \pnum -\remarks \raggedright This operator shall not participate in overload resolution unless\linebreak -\tcode{is_error_condition_enum_v} is \tcode{true}. +\returns \tcode{*this}. \end{itemdescr} \indexlibrarymember{clear}{error_condition}% @@ -1698,9 +1568,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of class \tcode{system_error}. - \pnum \ensures \tcode{code() == ec} and\newline \tcode{string_view(what()).find(what_arg.c_str()) != string_view::npos}. @@ -1712,9 +1579,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of class \tcode{system_error}. - \pnum \ensures \tcode{code() == ec} and \tcode{string_view(what()).find(what_arg) != string_view::npos}. @@ -1726,9 +1590,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of class \tcode{system_error}. - \pnum \ensures \tcode{code() == ec}. \end{itemdescr} @@ -1739,9 +1600,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of class \tcode{system_error}. - \pnum \ensures \raggedright \tcode{code() == error_code(ev, ecat)} and\linebreak \tcode{string_view(what()).find(what_arg.c_str()) != string_view::npos}. @@ -1753,9 +1611,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of class \tcode{system_error}. - \pnum \ensures \raggedright \tcode{code() == error_code(ev, ecat)} and\linebreak \tcode{string_view(what()).find(what_arg) != string_view::npos}. @@ -1767,9 +1622,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects Constructs an object of class \tcode{system_error}. - \pnum \ensures \tcode{code() == error_code(ev, ecat)}. \end{itemdescr} From 10084c9958d1860cb2e3918b395b2b43b7be37cd Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 5 Mar 2019 21:56:12 +0100 Subject: [PATCH 093/148] P1462R1 Mandating the Standard Library: Clause 20 - Strings library --- source/strings.tex | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/source/strings.tex b/source/strings.tex index a9bd3e87a1..b7e904b0f7 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -224,7 +224,7 @@ \begin{itemdescr} \pnum -\requires +\expects \tcode{state_type} shall meet the \oldconcept{Destructible} (\tref{destructible}), @@ -2276,6 +2276,16 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\effects +Inserts \tcode{n} copies of \tcode{c} before the character at position \tcode{pos} +if \tcode{pos < size()}, +or otherwise at the end of the string. + +\pnum +\returns +\tcode{*this} + \pnum \throws \begin{itemize} @@ -2283,11 +2293,6 @@ \item \tcode{length_error} if \tcode{n > max_size() - size()}, or \item any exceptions thrown by \tcode{allocator_traits::allocate}. \end{itemize} -\pnum -\effects -Inserts \tcode{n} copies of \tcode{c} before the character at position \tcode{pos} -if \tcode{pos < size()}, -or otherwise at the end of the string. \end{itemdescr} \indexlibrarymember{insert}{basic_string}% @@ -4092,10 +4097,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs an empty \tcode{basic_string_view}. - \pnum \ensures \tcode{size_ == 0} and \tcode{data_ == nullptr}. From de76c7de8c4f9734e0e4351d2088d4786ee62135 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 5 Mar 2019 21:57:10 +0100 Subject: [PATCH 094/148] [char.traits.typedefs] Change 'shall meet' to 'meets' --- source/strings.tex | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/strings.tex b/source/strings.tex index b7e904b0f7..d11b550a7f 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -225,8 +225,7 @@ \begin{itemdescr} \pnum \expects -\tcode{state_type} -shall meet the +\tcode{state_type} meets the \oldconcept{Destructible} (\tref{destructible}), \oldconcept{CopyAssignable} (\tref{copyassignable}), \oldconcept{CopyConstructible} (\tref{copyconstructible}), and From 019baa941945c1c8529fcaa0288ed5e98944f7a4 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Wed, 6 Mar 2019 00:06:14 +0100 Subject: [PATCH 095/148] P1463R1 Mandating the Standard Library: Clause 21 - Containers library Used capital letters after descriptive element headers. --- source/containers.tex | 868 +++++++++++++++++++++--------------------- 1 file changed, 436 insertions(+), 432 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index 3689664b8b..d8c17ec8c8 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -98,7 +98,7 @@ \tcode{X::value_type} & \tcode{T} & & - \requires\ \tcode{T} is \oldconcept{Erasable} from \tcode{X} (see~\ref{container.requirements.general}, below) & + \expects \tcode{T} is \oldconcept{Erasable} from \tcode{X} (see~\ref{container.requirements.general}, below) & compile time \\ \rowsep \tcode{X::reference} & @@ -155,7 +155,7 @@ \tcode{X(a)} & & & - \requires \tcode{T} is \oldconcept{CopyInsertable} + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X} (see below).\br \ensures \tcode{a == X(a)}. & linear \\ \rowsep @@ -163,7 +163,7 @@ \tcode{X u = a;} & & & - \requires \tcode{T} is \oldconcept{CopyInsertable} + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X} (see below).\br \ensures \tcode{u == a} & linear \\ \rowsep @@ -172,21 +172,21 @@ \tcode{X u = rv;} & & & - \ensures \tcode{u} shall be equal to the value that \tcode{rv} had before this construction + \ensures \tcode{u} is equal to the value that \tcode{rv} had before this construction & (Note B) \\ \rowsep \tcode{a = rv} & \tcode{X\&} & All existing elements of \tcode{a} are either move assigned to or destroyed & - \tcode{a} shall be equal to the value that \tcode{rv} + \ensures \tcode{a} is equal to the value that \tcode{rv} had before this assignment & linear \\ \rowsep \tcode{a.\~X()} & \tcode{void} & & - the destructor is applied to every element of \tcode{a}; any memory obtained is deallocated. & + \effects destroys every element of \tcode{a}; any memory obtained is deallocated. & linear \\ \rowsep \tcode{a.begin()} & @@ -217,7 +217,7 @@ convertible to \tcode{bool} & \tcode{==} is an equivalence relation. \tcode{equal(\brk{}a.begin(), a.end(), b.begin(), b.end())} & - \requires\ \tcode{T} is \oldconcept{\-Equal\-ity\-Compar\-a\-ble} & + \expects \tcode{T} meets the \oldconcept{\-Equal\-ity\-Compar\-a\-ble} requirements & Constant if \tcode{a.size() != b.size()}, linear otherwise \\ \rowsep @@ -230,7 +230,7 @@ \tcode{a.swap(b)} & \tcode{void} & & - exchanges the contents of \tcode{a} and \tcode{b} & + \effects exchanges the contents of \tcode{a} and \tcode{b} & (Note A) \\ \rowsep \tcode{swap(a, b)} & @@ -488,7 +488,7 @@ \tcode{a < b} & convertible to \tcode{bool} & \tcode{lexicographical_compare( a.begin(), a.end(), b.begin(), b.end())} & - \requires \tcode{<} is defined for values of \tcode{T}. \tcode{<} is a total ordering relationship. & + \expects \tcode{<} is defined for values of type (possibly \tcode{const}) \tcode{T}. \tcode{<} is a total ordering relationship. & linear \\ \rowsep \tcode{a > b} & @@ -627,7 +627,7 @@ \tcode{allocator_type} & \tcode{A} & - \requires \tcode{allocator_type::value_type} is the same as \tcode{X::value_type}. & + \mandates \tcode{allocator_type::value_type} is the same as \tcode{X::value_type}. & compile time \\ \rowsep \tcode{get_-} \tcode{allocator()} & @@ -638,7 +638,7 @@ \tcode{X()}\br \tcode{X u;} & & - \requires\ \tcode{A} is \oldconcept{DefaultConstructible}.\br + \expects \tcode{A} meets the \oldconcept{DefaultConstructible} requirements.\br \ensures \tcode{u.empty()} returns \tcode{true}, \tcode{u.get_allocator() == A()} & constant \\ \rowsep @@ -655,7 +655,7 @@ \tcode{X(t, m)}\br \tcode{X u(t, m);} & & -\requires\ \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X}.\br +\expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X}.\br \ensures \tcode{u == t}, \tcode{u.get_allocator() == m} & linear \\ \rowsep @@ -663,24 +663,24 @@ \tcode{X u(rv);} & & - \ensures \tcode{u} shall have the same elements as \tcode{rv} had before this - construction; the value of \tcode{u.get_allocator()} shall be the same as the + \ensures \tcode{u} has the same elements as \tcode{rv} had before this + construction; the value of \tcode{u.get_allocator()} is the same as the value of \tcode{rv.get_allocator()} before this construction. & constant \\ \rowsep \tcode{X(rv, m)}\br \tcode{X u(rv, m);} & & - \requires\ \tcode{T} is + \expects \tcode{T} is \oldconcept{MoveInsertable} into \tcode{X}.\br - \ensures \tcode{u} shall have the same elements, + \ensures \tcode{u} has the same elements, or copies of the elements, that \tcode{rv} had before this construction, \tcode{u.get_allocator() == m} & constant if \tcode{m ==} \tcode{rv.get_allocator()}, otherwise linear \\ \rowsep \tcode{a = t} & \tcode{X\&} & - \requires\ \tcode{T} is + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X} and \oldconcept{CopyAssignable}.\br \ensures \tcode{a == t} & @@ -688,21 +688,22 @@ \tcode{a = rv} & \tcode{X\&} & - \requires\ If \tcode{allocator_-}\br + \expects If \tcode{allocator_-}\br \tcode{traits}\br \tcode{::propagate_on_container_-}\br \tcode{move_assignment::value} is\br \tcode{false}, \tcode{T} is \oldconcept{MoveInsertable} into \tcode{X} and - \oldconcept{MoveAssignable}. All existing elements of \tcode{a} + \oldconcept{MoveAssignable}.\br + \effects All existing elements of \tcode{a} are either move assigned to or destroyed.\br - \ensures \tcode{a} shall be equal to the value that \tcode{rv} had before + \ensures \tcode{a} is equal to the value that \tcode{rv} had before this assignment. & linear \\ \rowsep \tcode{a.swap(b)} & \tcode{void} & - exchanges the contents of \tcode{a} and \tcode{b} & + \effects exchanges the contents of \tcode{a} and \tcode{b} & constant \\ \rowsep \end{libreqtab4a} @@ -828,23 +829,23 @@ \tcode{X(n, t)}\br \tcode{X u(n, t);} & & - \requires\ \tcode{T} shall be + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X}.\br \ensures \tcode{distance(begin(), end()) == n}\br - Constructs a sequence container with \tcode{n} copies of \tcode{t} \\ \rowsep + \effects Constructs a sequence container with \tcode{n} copies of \tcode{t} \\ \rowsep \tcode{X(i, j)}\br \tcode{X u(i, j);} & & - \requires\ \tcode{T} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}. + \expects \tcode{T} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}. For \tcode{vector}, if the iterator does not meet the \oldconcept{\-Forward\-Iterator} requirements\iref{forward.iterators}, \tcode{T} - shall also be - \oldconcept{MoveInsertable} into \tcode{X}. - Each iterator in the range \range{i}{j} shall be dereferenced exactly once.\br + is also + \oldconcept{MoveInsertable} into \tcode{X}.\br \ensures \tcode{distance(begin(), end()) ==} \tcode{distance(i, j)}\br - Constructs a sequence container equal to the range \tcode{[i, j)} \\ \rowsep + \effects Constructs a sequence container equal to the range \tcode{[i, j)}. + Each iterator in the range \range{i}{j} is dereferenced exactly once. \\ \rowsep \tcode{X(il)} & & @@ -852,20 +853,20 @@ \tcode{a = il} & \tcode{X\&} & - \requires\ \tcode{T} is + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X} - and \oldconcept{CopyAssignable}. - Assigns the range \range{il.begin()}{il.end()} into \tcode{a}. All existing + and \oldconcept{CopyAssignable}.\br + \effects Assigns the range \range{il.begin()}{il.end()} into \tcode{a}. All existing elements of \tcode{a} are either assigned to or destroyed.\br \returns\ \tcode{*this}. \\ \rowsep \tcode{a.emplace(p, args)} & \tcode{iterator} & - \requires\ \tcode{T} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}. For \tcode{vector} and \tcode{deque}, + \expects \tcode{T} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}. For \tcode{vector} and \tcode{deque}, \tcode{T} is also - \oldconcept{MoveInsertable} into \tcode{X} and \oldconcept{MoveAssignable}. - \effects\ Inserts an object of type \tcode{T} constructed with + \oldconcept{MoveInsertable} into \tcode{X} and \oldconcept{MoveAssignable}.\br + \effects Inserts an object of type \tcode{T} constructed with \tcode{std::forward<\brk{}Args\brk{}>(\brk{}args)...} before \tcode{p}. \begin{note} \tcode{args} may directly or indirectly refer to a value in \tcode{a}. \end{note} @@ -873,34 +874,34 @@ \tcode{a.insert(p,t)} & \tcode{iterator} & - \requires\ \tcode{T} shall be + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X}. For \tcode{vector} and \tcode{deque}, - \tcode{T} shall also be \oldconcept{CopyAssignable}.\br + \tcode{T} is also \oldconcept{CopyAssignable}.\br \effects\ Inserts a copy of \tcode{t} before \tcode{p}. \\ \rowsep \tcode{a.insert(p,rv)} & \tcode{iterator} & - \requires\ \tcode{T} shall be + \expects \tcode{T} is \oldconcept{MoveInsertable} into \tcode{X}. For \tcode{vector} and \tcode{deque}, - \tcode{T} shall also be \oldconcept{MoveAssignable}.\br + \tcode{T} is also \oldconcept{MoveAssignable}.\br \effects\ Inserts a copy of \tcode{rv} before \tcode{p}. \\ \rowsep \tcode{a.insert(p,n,t)} & \tcode{iterator} & - \requires\ \tcode{T} shall be + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X} and \oldconcept{CopyAssignable}.\br - Inserts \tcode{n} copies of \tcode{t} before \tcode{p}. \\ \rowsep + \effects Inserts \tcode{n} copies of \tcode{t} before \tcode{p}. \\ \rowsep \tcode{a.insert(p,i,j)} & \tcode{iterator} & - \requires\ \tcode{T} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}. - For \tcode{vector} and \tcode{deque}, \tcode{T} shall also be + \expects \tcode{T} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}. + For \tcode{vector} and \tcode{deque}, \tcode{T} is also \oldconcept{MoveInsertable} into \tcode{X}, \oldconcept{MoveConstructible}, \oldconcept{MoveAssignable}, and swappable\iref{swappable.requirements}. - Each iterator in the range \range{i}{j} shall be dereferenced exactly once.\br - \requires \tcode{i} and \tcode{j} are not iterators into \tcode{a}.\br - Inserts copies of elements in \tcode{[i, j)} before \tcode{p} \\ \rowsep + Neither \tcode{i} nor \tcode{j} are iterators into \tcode{a}.\br + \effects Inserts copies of elements in \tcode{[i, j)} before \tcode{p}. + Each iterator in the range \range{i}{j} shall be dereferenced exactly once. \\ \rowsep \tcode{a.insert(p, il)} & \tcode{iterator} & @@ -908,37 +909,38 @@ \tcode{a.erase(q)} & \tcode{iterator} & - \requires\ For \tcode{vector} and \tcode{deque}, - \tcode{T} shall be \oldconcept{MoveAssignable}.\br + \expects For \tcode{vector} and \tcode{deque}, + \tcode{T} is \oldconcept{MoveAssignable}.\br \effects\ Erases the element pointed to by \tcode{q}. \\ \rowsep \tcode{a.erase(q1,q2)} & \tcode{iterator} & - \requires\ For \tcode{vector} and \tcode{deque}, - \tcode{T} shall be \oldconcept{MoveAssignable}.\br + \expects For \tcode{vector} and \tcode{deque}, + \tcode{T} is \oldconcept{MoveAssignable}.\br \effects\ Erases the elements in the range \tcode{[q1, q2)}. \\ \rowsep \tcode{a.clear()} & \tcode{void} & - Destroys all elements in \tcode{a}. Invalidates all references, pointers, and + \effects Destroys all elements in \tcode{a}. Invalidates all references, pointers, and iterators referring to the elements of \tcode{a} and may invalidate the past-the-end iterator.\br - \ensures \tcode{a.empty()} returns \tcode{true}.\br + \ensures \tcode{a.empty()} is \tcode{true}.\br \complexity Linear. \\ \rowsep \tcode{a.assign(i,j)} & \tcode{void} & - \requires\ \tcode{T} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i} + \expects \tcode{T} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i} and assignable from \tcode{*i}. For \tcode{vector}, if the iterator does not meet the forward iterator requirements\iref{forward.iterators}, \tcode{T} - shall also be - \oldconcept{MoveInsertable} into \tcode{X}.\br - Each iterator in the range \range{i}{j} shall be dereferenced exactly once.\br - \requires \tcode{i}, \tcode{j} are not iterators into \tcode{a}.\br - Replaces elements in \tcode{a} with a copy of \tcode{[i, j)}.\br + is also + \oldconcept{MoveInsertable} into \tcode{X}. + Neither \tcode{i} nor \tcode{j} are iterators into \tcode{a}.\br + \effects + Replaces elements in \tcode{a} with a copy of \tcode{[i, j)}. Invalidates all references, pointers and iterators referring to the elements of \tcode{a}. For \tcode{vector} and \tcode{deque}, - also invalidates the past-the-end iterator. \\ \rowsep + also invalidates the past-the-end iterator. + Each iterator in the range \range{i}{j} shall be dereferenced exactly once. \\ \rowsep \tcode{a.assign(il)} & \tcode{void} & @@ -946,11 +948,11 @@ \tcode{a.assign(n,t)} & \tcode{void} & - \requires\ \tcode{T} shall be + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X} - and \oldconcept{CopyAssignable}.\br - \requires \tcode{t} is not a reference into \tcode{a}.\br - Replaces elements in \tcode{a} with \tcode{n} copies of \tcode{t}.\br + and \oldconcept{CopyAssignable}. + \tcode{t} is not a reference into \tcode{a}.\br + \effects Replaces elements in \tcode{a} with \tcode{n} copies of \tcode{t}. Invalidates all references, pointers and iterators referring to the elements of \tcode{a}. For \tcode{vector} and \tcode{deque}, @@ -1087,9 +1089,9 @@ \tcode{a.emplace_\-front(args)} & \tcode{reference} & - Prepends an object of type \tcode{T} constructed with \tcode{std::forward<\brk{}Args\brk{}>(\brk{}args)...}.\br - \requires\ \tcode{T} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br - \returns{} \tcode{a.front()}. & + \effects Prepends an object of type \tcode{T} constructed with \tcode{std::forward<\brk{}Args\brk{}>(\brk{}args)...}.\br + \expects \tcode{T} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br + \returns \tcode{a.front()}. & \tcode{deque}, \tcode{forward_list}, \tcode{list} @@ -1097,11 +1099,11 @@ \tcode{a.emplace_\-back(args)} & \tcode{reference} & - Appends an object of type \tcode{T} constructed with \tcode{std::forward<\brk{}Args\brk{}>(\brk{}args)...}.\br - \requires\ \tcode{T} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}. For \tcode{vector}, \tcode{T} - shall also be + \effects Appends an object of type \tcode{T} constructed with \tcode{std::forward<\brk{}Args\brk{}>(\brk{}args)...}.\br + \expects \tcode{T} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}. For \tcode{vector}, \tcode{T} + is also \oldconcept{MoveInsertable} into \tcode{X}.\br - \returns{} \tcode{a.back()}. & + \returns \tcode{a.back()}. & \tcode{deque}, \tcode{list}, \tcode{vector} @@ -1109,8 +1111,8 @@ \tcode{a.push_front(t)} & \tcode{void} & - Prepends a copy of \tcode{t}.\br - \requires\ \tcode{T} shall be + \effects Prepends a copy of \tcode{t}.\br + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X}. & \tcode{deque}, @@ -1120,8 +1122,8 @@ \tcode{a.push_front(rv)} & \tcode{void} & - Prepends a copy of \tcode{rv}.\br - \requires\ \tcode{T} shall be + \effects Prepends a copy of \tcode{rv}.\br + \expects \tcode{T} is \oldconcept{MoveInsertable} into \tcode{X}. & \tcode{deque}, @@ -1131,8 +1133,8 @@ \tcode{a.push_back(t)} & \tcode{void} & - Appends a copy of \tcode{t}.\br - \requires\ \tcode{T} shall be + \effects Appends a copy of \tcode{t}.\br + \expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{X}. & \tcode{basic_string}, @@ -1143,8 +1145,8 @@ \tcode{a.push_back(rv)} & \tcode{void} & - Appends a copy of \tcode{rv}.\br - \requires\ \tcode{T} shall be + \effects Appends a copy of \tcode{rv}.\br + \expects \tcode{T} is \oldconcept{MoveInsertable} into \tcode{X}. & \tcode{basic_string}, @@ -1155,8 +1157,8 @@ \tcode{a.pop_front()} & \tcode{void} & - Destroys the first element.\br - \requires\ \tcode{a.empty()} shall be \tcode{false}. & + \effects Destroys the first element.\br + \expects \tcode{a.empty()} is \tcode{false}. & \tcode{deque}, \tcode{forward_list}, \tcode{list} @@ -1164,8 +1166,8 @@ \tcode{a.pop_back()} & \tcode{void} & - Destroys the last element.\br - \requires\ \tcode{a.empty()} shall be \tcode{false}. & + \effects Destroys the last element.\br + \expects \tcode{a.empty()} is \tcode{false}. & \tcode{basic_string}, \tcode{deque}, \tcode{list}, @@ -1317,8 +1319,8 @@ \begin{itemdescr} \pnum -\requires Either \tcode{!alloc_}, or -\tcode{ator_traits::propagate_on_container_move_assignment} +\expects Either \tcode{!alloc_}, or +\tcode{ator_traits::propagate_on_container_move_assignment::value} is \tcode{true}, or \tcode{alloc_ == nh.alloc_}. \pnum @@ -1332,8 +1334,9 @@ \item Assigns \tcode{nh.ptr_} to \tcode{ptr_}. \item -If \tcode{!alloc\textunderscore} or \tcode{ator_traits::propagate_on_container_move_assignment} -is \tcode{true}, move assigns \tcode{nh.alloc_} to \tcode{alloc_}. +If \tcode{!alloc\textunderscore} or \tcode{ator_traits::propagate_on_container_move_assignment::value} +is \tcode{true}, \linebreak +move assigns \tcode{nh.alloc_} to \tcode{alloc_}. \item Assigns \tcode{nullptr} to \tcode{nh.ptr_} and assigns \tcode{nullopt} to @@ -1367,7 +1370,7 @@ \begin{itemdescr} \pnum -\requires \tcode{empty() == false}. +\expects \tcode{empty() == false}. \pnum \returns A reference to the \tcode{value_type} subobject in the @@ -1383,7 +1386,7 @@ \begin{itemdescr} \pnum -\requires \tcode{empty() == false}. +\expects \tcode{empty() == false}. \pnum \returns A non-const reference to the \tcode{key_type} member of the @@ -1403,7 +1406,7 @@ \begin{itemdescr} \pnum -\requires \tcode{empty() == false}. +\expects \tcode{empty() == false}. \pnum \returns A reference to the \tcode{mapped_type} member of the @@ -1421,7 +1424,7 @@ \begin{itemdescr} \pnum -\requires \tcode{empty() == false}. +\expects \tcode{empty() == false}. \pnum \returns \tcode{*alloc_}. @@ -1458,13 +1461,13 @@ \begin{itemdescr} \pnum -\requires \tcode{!alloc_}, or \tcode{!nh.alloc_}, or -\tcode{ator_traits::propagate_on_container_swap} is \tcode{true}, +\expects \tcode{!alloc_}, or \tcode{!nh.alloc_}, or +\tcode{ator_traits::propagate_on_container_swap::value} is \tcode{true}, or \tcode{alloc_ == nh.alloc_}. \pnum \effects Calls \tcode{swap(ptr_, nh.ptr_)}. If \tcode{!alloc_}, or -\tcode{!nh.alloc_}, or \tcode{ator_traits::propagate_on_container_swap} +\tcode{!nh.alloc_}, or \tcode{ator_traits::propagate_on_container_swap::value} is \tcode{true} calls \tcode{swap(alloc_, nh.alloc_)}. \end{itemdescr} @@ -1661,18 +1664,18 @@ \indexordmem{value_type}% \tcode{X::value_type} (\tcode{set} and \tcode{multiset} only) & \tcode{Key} & - \requires\ \tcode{value_type} is \oldconcept{Erasable} from \tcode{X} & + \expects \tcode{value_type} is \oldconcept{Erasable} from \tcode{X} & compile time \\ \rowsep \tcode{X::value_type} (\tcode{map} and \tcode{multimap} only) & \tcode{pair} & - \requires\ \tcode{value_type} is \oldconcept{Erasable} from \tcode{X} & + \expects \tcode{value_type} is \oldconcept{Erasable} from \tcode{X} & compile time \\ \rowsep \indexordmem{key_compare}% \tcode{X::key_compare} & \tcode{Compare} & - \requires\ \tcode{key_compare} is \oldconcept{CopyConstructible}. & + \expects \tcode{key_compare} is \oldconcept{CopyConstructible}. & compile time \\ \rowsep \indexordmem{value_compare}% @@ -1704,7 +1707,7 @@ \tcode{X()}\br\tcode{X u;} & & - \requires\ \tcode{key_compare} is \oldconcept{DefaultConstructible}.\br + \expects \tcode{key_compare} meets the \oldconcept{DefaultConstructible} requirements.\br \effects\ Constructs an empty container. Uses \tcode{Compare()} as a comparison object & constant \\ \rowsep @@ -1712,7 +1715,7 @@ \tcode{X(i,j,c)}\br \tcode{X~u(i,j,c);} & & - \requires\ \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br + \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br \effects\ Constructs an empty container and inserts elements from the range \tcode{[i, j)} into it; uses \tcode{c} as a comparison object. & $N \log N$ in general, where $N$ has the value \tcode{distance(i, j)}; @@ -1720,7 +1723,7 @@ \tcode{X(i,j)}\br\tcode{X~u(i,j);} & & - \requires\ \tcode{key_compare} is \oldconcept{DefaultConstructible}. + \expects \tcode{key_compare} meets the \oldconcept{DefaultConstructible} requirements. \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br \effects\ Same as above, but uses \tcode{Compare()} as a comparison object. & same as above \\ \rowsep @@ -1737,7 +1740,7 @@ \tcode{a = il} & \tcode{X\&} & - \requires\ \tcode{value_type} is + \expects \tcode{value_type} is \oldconcept{CopyInsertable} into \tcode{X} and \oldconcept{CopyAssignable}.\br \effects Assigns the range \range{il.begin()}{il.end()} into \tcode{a}. All @@ -1749,19 +1752,19 @@ \indexordmem{key_comp}% \tcode{b.key_comp()} & \tcode{X::key_compare} & - returns the comparison object out of which \tcode{b} was constructed. & + \returns the comparison object out of which \tcode{b} was constructed. & constant \\ \rowsep \indexordmem{value_comp}% \tcode{b.value_comp()} & \tcode{X::value_compare} & - returns an object of \tcode{value_compare} constructed out of the comparison object & + \returns an object of \tcode{value_compare} constructed out of the comparison object & constant \\ \rowsep \indexordmem{emplace}% \tcode{a_uniq.\brk{}emplace(\brk{}args)} & \tcode{pair<\brk{}iterator, bool>} & - \requires\ \tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br + \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br \effects\ Inserts a \tcode{value_type} object \tcode{t} constructed with \tcode{std::forward<\brk{}Args\brk{}>(\brk{}args)...} if and only if there is no element in the container with key equivalent to the key of \tcode{t}. @@ -1773,7 +1776,7 @@ \tcode{a_eq.\brk{}emplace(\brk{}args)} & \tcode{iterator} & - \requires\ \tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br + \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br \effects\ Inserts a \tcode{value_type} object \tcode{t} constructed with \tcode{std::forward<\brk{}Args\brk{}>(\brk{}args)...} and returns the iterator pointing to the newly inserted element. @@ -1795,8 +1798,8 @@ \indexordmem{insert}% \tcode{a_uniq.\brk{}insert(\brk{}t)} & \tcode{pair<\brk{}iterator, bool>} & - \requires\ If \tcode{t} is a non-const rvalue, \tcode{value_type} shall be - \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} shall be + \expects If \tcode{t} is a non-const rvalue, \tcode{value_type} is + \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} is \oldconcept{CopyInsertable} into \tcode{X}.\br \effects\ Inserts \tcode{t} if and only if there is no element in the container with key equivalent to the key of \tcode{t}. The \tcode{bool} component of @@ -1808,8 +1811,8 @@ \tcode{a_eq.\brk{}insert(\brk{}t)} & \tcode{iterator} & - \requires\ If \tcode{t} is a non-const rvalue, \tcode{value_type} shall be - \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} shall be + \expects If \tcode{t} is a non-const rvalue, \tcode{value_type} is + \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} is \oldconcept{CopyInsertable} into \tcode{X}.\br \effects\ Inserts \tcode{t} and returns the iterator pointing to the newly inserted element. @@ -1820,8 +1823,8 @@ \tcode{a.\brk{}insert(\brk{}p, t)} & \tcode{iterator} & - \requires\ If \tcode{t} is a non-const rvalue, \tcode{value_type} shall be - \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} shall be + \expects If \tcode{t} is a non-const rvalue, \tcode{value_type} is + \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} is \oldconcept{CopyInsertable} into \tcode{X}.\br \effects\ Inserts \tcode{t} if and only if there is no element with key equivalent to the key of \tcode{t} in containers with unique keys; @@ -1834,9 +1837,9 @@ \tcode{a.\brk{}insert(\brk{}i, j)} & \tcode{void} & - \requires\ \tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br - \requires \tcode{i}, \tcode{j} are not iterators into \tcode{a}. - inserts each element from the range \range{i}{j} if and only if there + \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}. + Neither \tcode{i} nor \tcode{j} are iterators into \tcode{a}.\br + \effects Inserts each element from the range \range{i}{j} if and only if there is no element with key equivalent to the key of that element in containers with unique keys; always inserts that element in containers with equivalent keys. & $N \log (\tcode{a.size()} + N)$, where $N$ has the value \tcode{distance(i, j)} \\ \rowsep @@ -1848,9 +1851,9 @@ \tcode{a_uniq.\brk{}insert(\brk{}nh)} & \tcode{insert_return_type} & - \requires \tcode{nh} is empty or + \expects \tcode{nh} is empty or \tcode{a_uniq.get_allocator() == nh.get_allocator()}.\br - \effects{} If \tcode{nh} is empty, has no effect. Otherwise, inserts the + \effects If \tcode{nh} is empty, has no effect. Otherwise, inserts the element owned by \tcode{nh} if and only if there is no element in the container with a key equivalent to \tcode{nh.key()}.\br \ensures If \tcode{nh} is empty, \tcode{inserted} is \tcode{false}, @@ -1864,9 +1867,9 @@ \tcode{a_eq.\brk{}insert(\brk{}nh)} & \tcode{iterator} & - \requires \tcode{nh} is empty or + \expects \tcode{nh} is empty or \tcode{a_eq.get_allocator() == nh.get_allocator()}.\br - \effects{} If \tcode{nh} is empty, has no effect and returns \tcode{a_eq.end()}. + \effects If \tcode{nh} is empty, has no effect and returns \tcode{a_eq.end()}. Otherwise, inserts the element owned by \tcode{nh} and returns an iterator pointing to the newly inserted element. If a range containing elements with keys equivalent to \tcode{nh.key()} exists in \tcode{a_eq}, the element is @@ -1876,9 +1879,9 @@ \tcode{a.\brk{}insert(\brk{}p, nh)} & \tcode{iterator} & - \requires \tcode{nh} is empty or + \expects \tcode{nh} is empty or \tcode{a.get_allocator() == nh.get_allocator()}.\br - \effects{} If \tcode{nh} is empty, has no effect and returns \tcode{a.end()}. + \effects If \tcode{nh} is empty, has no effect and returns \tcode{a.end()}. Otherwise, inserts the element owned by \tcode{nh} if and only if there is no element with key equivalent to \tcode{nh.key()} in containers with unique keys; always inserts the element owned by \tcode{nh} in containers @@ -1892,22 +1895,22 @@ \indexordmem{extract}% \tcode{a.\brk{}extract(\brk{}k)} & \tcode{node_type} & - removes the first element in the container with key equivalent to \tcode{k}. - Returns a \tcode{node_type} owning the element if found, otherwise an empty + \effects Removes the first element in the container with key equivalent to \tcode{k}.\br + \returns A \tcode{node_type} owning the element if found, otherwise an empty \tcode{node_type}. & $\log (\tcode{a.size()})$ \\ \rowsep \tcode{a.\brk{}extract(\brk{}q)} & \tcode{node_type} & - removes the element pointed to by \tcode{q}. - Returns a \tcode{node_type} owning that element. & + \effects Removes the element pointed to by \tcode{q}.\br + \returns A \tcode{node_type} owning that element. & amortized constant \\ \rowsep \indexordmem{merge}% \tcode{a.merge(a2)} & \tcode{void} & - \requires \tcode{a.get_allocator() == a2.get_allocator()}.\br - Attempts to extract each element in \tcode{a2} and insert it into \tcode{a} + \expects \tcode{a.get_allocator() == a2.get_allocator()}.\br + \effects Attempts to extract each element in \tcode{a2} and insert it into \tcode{a} using the comparison object of \tcode{a}. In containers with unique keys, if there is an element in \tcode{a} with key equivalent to the key of an element from \tcode{a2}, then that element is not extracted from \tcode{a2}.\br @@ -1915,26 +1918,29 @@ refer to those same elements but as members of \tcode{a}. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into \tcode{a}, not into \tcode{a2}.\br - \throws{} Nothing unless the comparison object throws. & + \throws Nothing unless the comparison object throws. & $N \log(\tcode{a.size()+} N)$, where $N$ has the value \tcode{a2.size()}. \\ \rowsep \indexordmem{erase}% \tcode{a.erase(k)} & \tcode{size_type} & - erases all elements in the container with key equivalent to - \tcode{k}. returns the number of erased elements. & + \effects Erases all elements in the container with key equivalent to + \tcode{k}.\br + \returns The number of erased elements. & $\log (\tcode{a.size()}) + \tcode{a.count(k)}$ \\ \rowsep \tcode{a.erase(q)} & \tcode{iterator} & - erases the element pointed to by \tcode{q}. Returns an iterator pointing to + \effects Erases the element pointed to by \tcode{q}.\br + \returns An iterator pointing to the element immediately following \tcode{q} prior to the element being erased. If no such element exists, returns \tcode{a.end()}. & amortized constant \\ \rowsep \tcode{a.erase(r)} & \tcode{iterator} & - erases the element pointed to by \tcode{r}. Returns an iterator pointing to + \effects Erases the element pointed to by \tcode{r}.\br + \returns An iterator pointing to the element immediately following \tcode{r} prior to the element being erased. If no such element exists, returns \tcode{a.end()}. & amortized constant \\ \rowsep @@ -1942,7 +1948,8 @@ \tcode{a.erase(}\br \tcode{q1, q2)} & \tcode{iterator} & - erases all the elements in the range \range{q1}{q2}. Returns an iterator pointing to + \effects Erases all the elements in the range \range{q1}{q2}.\br + \returns An iterator pointing to the element pointed to by \tcode{q2} prior to any elements being erased. If no such element exists, \tcode{a.end()} is returned. & $\log(\tcode{a.size()}) + N$, where $N$ has the value \tcode{distance(q1, q2)}. \\ \rowsep @@ -1950,35 +1957,35 @@ \indexordmem{clear}% \tcode{a.clear()} & \tcode{void} & - \tcode{a.erase(a.begin(),a.end())}\br - \ensures \tcode{a.empty()} returns \tcode{true}. & + \effects Equivalent to \tcode{a.erase(a.begin(), a.end())}.\br + \ensures \tcode{a.empty()} is \tcode{true}. & linear in \tcode{a.size()}. \\ \rowsep \indexordmem{find}% \tcode{b.find(k)} & \tcode{iterator}; \tcode{const_iterator} for constant \tcode{b}. & - returns an iterator pointing to an element with the key equivalent - to \tcode{k}, or \tcode{b.end()} if such an element is not found & + \returns An iterator pointing to an element with the key equivalent + to \tcode{k}, or \tcode{b.end()} if such an element is not found. & logarithmic \\ \rowsep \tcode{a_tran.}\br \tcode{find(ke)} & \tcode{iterator}; \tcode{const_iterator} for constant \tcode{a_tran}. & - returns an iterator pointing to an element with key \tcode{r} such that + \returns An iterator pointing to an element with key \tcode{r} such that \tcode{!c(r, ke) \&\& !c(ke, r)}, or \tcode{a_tran.end()} if such an element - is not found & + is not found. & logarithmic \\ \rowsep \indexordmem{count}% \tcode{b.count(k)} & \tcode{size_type} & - returns the number of elements with key equivalent to \tcode{k} & + \returns The number of elements with key equivalent to \tcode{k}. & $\log (\tcode{b.size()}) + \tcode{b.count(k)}$ \\ \rowsep \tcode{a_tran.}\br \tcode{count(ke)} & \tcode{size_type} & - returns the number of elements with key \tcode{r} such that + \returns The number of elements with key \tcode{r} such that \tcode{!c(r, ke) \&\& !c(ke, r)} & $\log (\tcode{a_tran.size()}) + \tcode{a_tran.count(ke)}$ \\ \rowsep @@ -1986,19 +1993,19 @@ \tcode{b.}\br \tcode{contains(k)} & \tcode{bool} & - equivalent to \tcode{b.find(k) != b.end()} & + \effects Equivalent to: \tcode{return b.find(k) != b.end();} & logarithmic \\ \rowsep \tcode{a_tran.}\br \tcode{con\-tains(ke)} & \tcode{bool} & - equivalent to \tcode{a_tran.find(ke) != a_tran.end()} & + \effects Equivalent to: \tcode{return a_tran.find(ke) != a_tran.end();} & logarithmic \\ \rowsep \indexordmem{lower_bound}% \tcode{b.lower_bound(k)} & \tcode{iterator}; \tcode{const_iterator} for constant \tcode{b}. & - returns an iterator pointing to the first element with + \returns An iterator pointing to the first element with key not less than \tcode{k}, or \tcode{b.end()} if such an element is not found. & logarithmic \\ \rowsep @@ -2006,7 +2013,7 @@ \tcode{a_tran.}\br \tcode{lower_bound(kl)} & \tcode{iterator}; \tcode{const_iterator} for constant \tcode{a_tran}. & - returns an iterator pointing to the first element with + \returns An iterator pointing to the first element with key \tcode{r} such that \tcode{!c(r, kl)}, or \tcode{a_tran.end()} if such an element is not found. & logarithmic \\ \rowsep @@ -2014,7 +2021,7 @@ \indexordmem{upper_bound}% \tcode{b.upper_bound(k)} & \tcode{iterator}; \tcode{const_iterator} for constant \tcode{b}. & - returns an iterator pointing to the first element with + \returns An iterator pointing to the first element with key greater than \tcode{k}, or \tcode{b.end()} if such an element is not found. & logarithmic \\ \rowsep @@ -2022,7 +2029,7 @@ \tcode{a_tran.}\br \tcode{upper_bound(ku)} & \tcode{iterator}; \tcode{const_iterator} for constant \tcode{a_tran}. & - returns an iterator pointing to the first element with + \returns An iterator pointing to the first element with key \tcode{r} such that \tcode{c(ku, r)}, or \tcode{a_tran.end()} if such an element is not found. & logarithmic \\ \rowsep @@ -2031,15 +2038,15 @@ \tcode{b.equal_range(k)} & \tcode{pair<\brk{}iterator, iterator>}; \tcode{pair<\brk{}const_iterator, const_iterator>} for constant \tcode{b}. & - equivalent to \tcode{make_pair(b.lower_bound(k), b.upper_bound(k))}. & + \effects Equivalent to: \tcode{return make_pair(b.lower_bound(k), b.upper_bound(k));} & logarithmic \\ \rowsep \tcode{a_tran.}\br \tcode{equal_range(ke)} & \tcode{pair<\brk{}iterator, iterator>}; \tcode{pair<\brk{}const_iterator, const_iterator>} for constant \tcode{a_tran}. & - equivalent to \tcode{make_pair(}\br - \tcode{a_tran.lower_bound(ke), a_tran.upper_bound(ke))}. & + \effects Equivalent to: \tcode{return make_pair(}\br + \tcode{a_tran.lower_bound(ke), a_tran.upper_bound(ke));} & logarithmic \\ \end{libreqtab4b} @@ -2332,18 +2339,18 @@ \indexunordmem{value_type}% \tcode{X::value_type} (\tcode{unordered_set} and \tcode{unordered_multiset} only) & \tcode{Key} & - \requires\ \tcode{value_type} is \oldconcept{Erasable} from \tcode{X} & + \expects \tcode{value_type} is \oldconcept{Erasable} from \tcode{X} & compile time \\ \rowsep \tcode{X::value_type} (\tcode{unordered_map} and \tcode{unordered_multimap} only) & \tcode{pair} & - \requires\ \tcode{value_type} is \oldconcept{Erasable} from \tcode{X} & + \expects \tcode{value_type} is \oldconcept{Erasable} from \tcode{X} & compile time \\ \rowsep \indexunordmem{hasher}% \tcode{X::hasher} & \tcode{Hash} -& \tcode{Hash} shall be a unary function object type such that the expression +& \expects \tcode{Hash} is a unary function object type such that the expression \tcode{hf(k)} has type \tcode{size_t}.% & compile time \\ \rowsep @@ -2353,8 +2360,8 @@ & \tcode{Hash::transparent_key_equal} if such a \grammarterm{qualified-id} is valid and denotes a type\iref{temp.deduct}; otherwise, \tcode{Pred}. -& \requires\ \tcode{Pred} is \oldconcept{CopyConstructible}.\br - \tcode{Pred} shall be a binary predicate that takes two arguments +& \expects \tcode{Pred} meets the \oldconcept{CopyConstructible} requirements.\br + \tcode{Pred} is a binary predicate that takes two arguments of type \tcode{Key}. \tcode{Pred} is an equivalence relation.% & compile time \\ \rowsep @@ -2403,7 +2410,7 @@ % \tcode{X(n, hf)}\br \tcode{X a(n, hf);} & \tcode{X} -& \requires\ \tcode{key_equal} is \oldconcept{DefaultConstructible}.\br +& \expects \tcode{key_equal} meets the \oldconcept{DefaultConstructible} requirements.\br \effects\ Constructs an empty container with at least \tcode{n} buckets, using \tcode{hf} as the hash function and \tcode{key_equal()} as the key equality predicate. @@ -2412,7 +2419,7 @@ % \tcode{X(n)}\br \tcode{X a(n);} & \tcode{X} -& \requires\ \tcode{hasher} and \tcode{key_equal} are \oldconcept{DefaultConstructible}.\br +& \expects \tcode{hasher} and \tcode{key_equal} meet the \oldconcept{DefaultConstructible} requirements.\br \effects\ Constructs an empty container with at least \tcode{n} buckets, using \tcode{hasher()} as the hash function and \tcode{key_equal()} as the key equality predicate. @@ -2421,7 +2428,7 @@ % \tcode{X()}\br \tcode{X a;} & \tcode{X} -& \requires\ \tcode{hasher} and \tcode{key_equal} are \oldconcept{DefaultConstructible}.\br +& \expects \tcode{hasher} and \tcode{key_equal} meet the \oldconcept{DefaultConstructible} requirements.\br \effects\ Constructs an empty container with an unspecified number of buckets, using \tcode{hasher()} as the hash function and \tcode{key_equal()} as the key equality predicate. @@ -2430,7 +2437,7 @@ % \tcode{X(i, j, n, hf, eq)}\br \tcode{X a(i, j, n, hf, eq);} & \tcode{X} -& \requires\ \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br +& \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br \effects\ Constructs an empty container with at least \tcode{n} buckets, using \tcode{hf} as the hash function and \tcode{eq} as the key equality predicate, and inserts elements from \tcode{[i, j)} into it. @@ -2440,7 +2447,7 @@ % \tcode{X(i, j, n, hf)}\br \tcode{X a(i, j, n, hf);} & \tcode{X} -& \requires\ \tcode{key_equal} is \oldconcept{DefaultConstructible}. +& \expects \tcode{key_equal} meets the \oldconcept{DefaultConstructible} requirements. \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br \effects\ Constructs an empty container with at least \tcode{n} buckets, using \tcode{hf} as the hash function and \tcode{key_equal()} as the key @@ -2451,7 +2458,7 @@ % \tcode{X(i, j, n)}\br \tcode{X a(i, j, n);} & \tcode{X} -& \requires\ \tcode{hasher} and \tcode{key_equal} are \oldconcept{DefaultConstructible}. +& \expects \tcode{hasher} and \tcode{key_equal} meet the \oldconcept{DefaultConstructible} requirements. \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br \effects\ Constructs an empty container with at least \tcode{n} buckets, using \tcode{hasher()} as the hash function and \tcode{key_equal()} @@ -2463,7 +2470,7 @@ % \tcode{X(i, j)}\br \tcode{X a(i, j);} & \tcode{X} -& \requires\ \tcode{hasher} and \tcode{key_equal} are \oldconcept{DefaultConstructible}. +& \expects \tcode{hasher} and \tcode{key_equal} meet the \oldconcept{DefaultConstructible} requirements. \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br \effects\ Constructs an empty container with an unspecified number of buckets, using \tcode{hasher()} as the hash function and @@ -2515,7 +2522,7 @@ % \tcode{a = il} & \tcode{X\&} -& \requires\ \tcode{value_type} is +& \expects \tcode{value_type} is \oldconcept{CopyInsertable} into \tcode{X} and \oldconcept{CopyAssignable}.\br \effects\ Assigns the range \range{il.begin()}{il.end()} into \tcode{a}. All @@ -2526,14 +2533,14 @@ \indexunordmem{hash_function}% \tcode{b.hash_function()} & \tcode{hasher} -& Returns \tcode{b}'s hash function.% +& \returns \tcode{b}'s hash function.% & constant \\ \rowsep % \indexunordmem{key_eq}% \tcode{b.key_eq()} & \tcode{key_equal} -& Returns \tcode{b}'s key equality predicate.% +& \returns \tcode{b}'s key equality predicate.% & constant \\ \rowsep % @@ -2541,7 +2548,7 @@ \indexunordmem{emplace}% \tcode{a_uniq.} \tcode{emplace(args)} & \tcode{pair} & - \requires\ \tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br + \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br \effects\ Inserts a \tcode{value_type} object \tcode{t} constructed with \tcode{std::forward<\brk{}Args\brk{}>(\brk{}args)...} if and only if there is no element in the container with key equivalent to the key of \tcode{t}. @@ -2554,7 +2561,7 @@ \tcode{a_eq.}\tcode{emplace(args)} & \tcode{iterator} & - \requires\ \tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br + \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br \effects\ Inserts a \tcode{value_type} object \tcode{t} constructed with \tcode{std::forward<\brk{}Args>(\brk{}args)...} and returns the iterator pointing to the newly inserted element. & @@ -2564,7 +2571,7 @@ \indexunordmem{emplace_hint}% \tcode{a.emplace_hint(p, args)} & \tcode{iterator} & - \requires\ \tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br + \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{args}.\br \effects\ Equivalent to \tcode{a.emplace(} \tcode{std::forward<\brk{}Args>(\brk{}args)...)}. Return value is an iterator pointing to the element with the key equivalent to the newly inserted element. The \tcode{const_iterator} \tcode{p} @@ -2576,8 +2583,8 @@ \indexunordmem{insert}% \tcode{a_uniq.insert(t)} & \tcode{pair} -& \requires\ If \tcode{t} is a non-const rvalue, \tcode{value_type} shall be - \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} shall be +& \expects If \tcode{t} is a non-const rvalue, \tcode{value_type} is + \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} is \oldconcept{CopyInsertable} into \tcode{X}.\br \effects\ Inserts \tcode{t} if and only if there is no element in the container with key equivalent to the key of \tcode{t}. The \tcode{bool} @@ -2589,8 +2596,8 @@ % \tcode{a_eq.insert(t)} & \tcode{iterator} -& \requires\ If \tcode{t} is a non-const rvalue, \tcode{value_type} shall be - \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} shall be +& \expects If \tcode{t} is a non-const rvalue, \tcode{value_type} is + \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} is \oldconcept{CopyInsertable} into \tcode{X}.\br \effects\ Inserts \tcode{t}, and returns an iterator pointing to the newly inserted element. @@ -2599,8 +2606,8 @@ % \tcode{a.insert(p, t)} & \tcode{iterator} -& \requires\ If \tcode{t} is a non-const rvalue, \tcode{value_type} shall be - \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} shall be +& \expects If \tcode{t} is a non-const rvalue, \tcode{value_type} is + \oldconcept{MoveInsertable} into \tcode{X}; otherwise, \tcode{value_type} is \oldconcept{CopyInsertable} into \tcode{X}.\br \effects Equivalent to \tcode{a.insert(t)}. Return value is an iterator pointing to the element with the key equivalent to that of \tcode{t}. The @@ -2611,8 +2618,8 @@ % \tcode{a.insert(i, j)} & \tcode{void} -& \requires\ \tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}.\br - \requires \tcode{i} and \tcode{j} are not iterators in \tcode{a}.\br +& \expects \tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{X} from \tcode{*i}. + Neither \tcode{i} nor \tcode{j} are iterators into \tcode{a}.\br \effects Equivalent to \tcode{a.insert(t)} for each element in \tcode{[i,j)}.% & Average case \bigoh{N}, where $N$ is \tcode{distance(i, j)}. Worst case \bigoh{N(\tcode{a.size()}\brk{}+\brk{}1)}. @@ -2627,9 +2634,9 @@ \tcode{a_uniq.}\br \tcode{insert(nh)} & \tcode{insert_return_type} & - \requires \tcode{nh} is empty or + \expects \tcode{nh} is empty or \tcode{a_uniq.get_allocator() == nh.get_allocator()}.\br - \effects{} If \tcode{nh} is empty, has no effect. Otherwise, inserts the + \effects If \tcode{nh} is empty, has no effect. Otherwise, inserts the element owned by \tcode{nh} if and only if there is no element in the container with a key equivalent to \tcode{nh.key()}.\br \ensures If \tcode{nh} is empty, \tcode{inserted} is \tcode{false}, @@ -2644,9 +2651,9 @@ \tcode{a_eq.}\br \tcode{insert(nh)} & \tcode{iterator} & - \requires \tcode{nh} is empty or + \expects \tcode{nh} is empty or \tcode{a_eq.get_allocator() == nh.get_allocator()}.\br - \effects{} If \tcode{nh} is empty, has no effect and returns \tcode{a_eq.end()}. + \effects If \tcode{nh} is empty, has no effect and returns \tcode{a_eq.end()}. Otherwise, inserts the element owned by \tcode{nh} and returns an iterator pointing to the newly inserted element.\br \ensures \tcode{nh} is empty. & @@ -2654,9 +2661,9 @@ % \tcode{a.insert(q, nh)} & \tcode{iterator} & - \requires \tcode{nh} is empty or + \expects \tcode{nh} is empty or \tcode{a.get_allocator() == nh.get_allocator()}.\br - \effects{} If \tcode{nh} is empty, has no effect and returns \tcode{a.end()}. + \effects If \tcode{nh} is empty, has no effect and returns \tcode{a.end()}. Otherwise, inserts the element owned by \tcode{nh} if and only if there is no element with key equivalent to \tcode{nh.key()} in containers with unique keys; always inserts the element owned by \tcode{nh} in containers @@ -2670,21 +2677,21 @@ \indexunordmem{extract}% \tcode{a.extract(k)} & \tcode{node_type} & - Removes an element in the container with key equivalent to \tcode{k}. - Returns a \tcode{node_type} owning the element if found, otherwise an empty + \effects Removes an element in the container with key equivalent to \tcode{k}.\br + \returns A \tcode{node_type} owning the element if found, otherwise an empty \tcode{node_type}. & Average case \bigoh{1}, worst case \bigoh{\tcode{a.size()}}. \\ \rowsep % \tcode{a.extract(q)} & \tcode{node_type} & - Removes the element pointed to by \tcode{q}. - Returns a \tcode{node_type} owning that element. & + \effects Removes the element pointed to by \tcode{q}.\br + \returns A \tcode{node_type} owning that element. & Average case \bigoh{1}, worst case \bigoh{\tcode{a.size()}}. \\ \rowsep % \indexunordmem{merge}% \tcode{a.merge(a2)} & \tcode{void} & - \requires \tcode{a.get_allocator() == a2.get_allocator()}.\br + \expects \tcode{a.get_allocator() == a2.get_allocator()}.\br Attempts to extract each element in \tcode{a2} and insert it into \tcode{a} using the hash function and key equality predicate of \tcode{a}. In containers with unique keys, if there is an element in \tcode{a} with @@ -2701,31 +2708,31 @@ \indexunordmem{erase}% \tcode{a.erase(k)} & \tcode{size_type} -& Erases all elements with key equivalent to \tcode{k}. Returns -the number of elements erased. +& \effects Erases all elements with key equivalent to \tcode{k}.\br + \returns The number of elements erased. & Average case \bigoh{\tcode{a.count(k)}}. Worst case \bigoh{\tcode{a.size()}}. \\ \rowsep % \tcode{a.erase(q)} & \tcode{iterator} -& Erases the element pointed to by \tcode{q}. Returns the - iterator immediately following \tcode{q} prior to the erasure. +& \effects Erases the element pointed to by \tcode{q}.\br + \returns The iterator immediately following \tcode{q} prior to the erasure. & Average case \bigoh{1}, worst case \bigoh{\tcode{a.size()}}. \\ \rowsep % \tcode{a.erase(r)} & \tcode{iterator} -& Erases the element pointed to by \tcode{r}. Returns the - iterator immediately following \tcode{r} prior to the erasure. +& \effects Erases the element pointed to by \tcode{r}.\br + \returns The iterator immediately following \tcode{r} prior to the erasure. & Average case \bigoh{1}, worst case \bigoh{\tcode{a.size()}}. \\ \rowsep % \tcode{a.erase(q1, q2)} & \tcode{iterator} -& Erases all elements in the range \tcode{[q1, q2)}. Returns - the iterator immediately following the erased elements prior to the - erasure.% +& \effects Erases all elements in the range \tcode{[q1, q2)}.\br + \returns The iterator immediately following the erased elements prior to the + erasure. & Average case linear in \tcode{distance(q1, q2)}, worst case \bigoh{\tcode{a.size()}}. \\ \rowsep @@ -2733,23 +2740,23 @@ \indexunordmem{clear}% \tcode{a.clear()} & \tcode{void} -& Erases all elements in the container. - \ensures \tcode{a.empty()} returns \tcode{true}% +& \effects Erases all elements in the container. + \ensures \tcode{a.empty()} is \tcode{true}% & Linear in \tcode{a.size()}. \\ \rowsep % \indexunordmem{find}% \tcode{b.find(k)} & \tcode{iterator}; \br \tcode{const_iterator} for const \tcode{b}. -& Returns an iterator pointing to an element with key equivalent to - \tcode{k}, or \tcode{b.end()} if no such element exists.% +& \returns An iterator pointing to an element with key equivalent to + \tcode{k}, or \tcode{b.end()} if no such element exists. & Average case \bigoh{1}, worst case \bigoh{\tcode{b.size()}}. \\ \rowsep % \tcode{a_tran.find(ke)} & \tcode{iterator}; \br \tcode{const_iterator} for const \tcode{a_tran}. -& Returns an iterator pointing to an element with key equivalent to - \tcode{ke}, or \tcode{a_tran.end()} if no such element exists.% +& \returns An iterator pointing to an element with key equivalent to + \tcode{ke}, or \tcode{a_tran.end()} if no such element exists. & Average case \bigoh{1}, worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid wverfull \\ \rowsep @@ -2757,13 +2764,13 @@ \indexunordmem{count}% \tcode{b.count(k)} & \tcode{size_type} -& Returns the number of elements with key equivalent to \tcode{k}.% +& \returns The number of elements with key equivalent to \tcode{k}.% & Average case \bigoh{\tcode{b.count(k)}}, worst case \bigoh{\tcode{b.size()}}. \\ \rowsep % \tcode{a_tran.count(ke)} & \tcode{size_type} -& Returns the number of elements with key equivalent to \tcode{ke}.% +& \returns The number of elements with key equivalent to \tcode{ke}.% & Average case \bigoh{\tcode{a_tran.}\br{}\tcode{count(ke)}}, % avoid overfull worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull @@ -2787,7 +2794,7 @@ \tcode{b.equal_range(k)} & \tcode{pair}; \br \tcode{pair} for const \tcode{b}. -& Returns a range containing all elements with keys equivalent to +& \returns A range containing all elements with keys equivalent to \tcode{k}. Returns \tcode{make_pair(b.end(), b.end())} if no such elements exist.% & Average case \bigoh{\tcode{b.count(k)}}. Worst case @@ -2797,7 +2804,7 @@ \tcode{a_tran.equal_range(ke)} & \tcode{pair}; \br \tcode{pair} for const \tcode{a_tran}. -& Returns a range containing all elements with keys equivalent to +& \returns A range containing all elements with keys equivalent to \tcode{ke}. Returns \tcode{make_pair(a_tran.end(), a_tran.end())} if no such elements exist.% & Average case @@ -2807,14 +2814,14 @@ \indexunordmem{bucket_count}% \tcode{b.bucket_count()} & \tcode{size_type} -& Returns the number of buckets that \tcode{b} contains.% +& \returns The number of buckets that \tcode{b} contains.% & Constant \\ \rowsep % \indexunordmem{max_bucket_count}% \tcode{b.max_bucket_count()} & \tcode{size_type} -& Returns an upper bound on the number of buckets that \tcode{b} might +& \returns An upper bound on the number of buckets that \tcode{b} might ever contain.% & Constant \\ \rowsep @@ -2823,18 +2830,18 @@ \tcode{b.bucket(k)} & \tcode{size_type} & - \requires \tcode{b.bucket_count() > 0}.\br - Returns the index of the bucket in which elements with keys equivalent + \expects \tcode{b.bucket_count() > 0}.\br + \returns The index of the bucket in which elements with keys equivalent to \tcode{k} would be found, if any such element existed. - \ensures the return value shall be in the range \tcode{[0, b.bucket_count())}.% + \ensures The return value shall be in the range \tcode{[0, b.bucket_count())}.% & Constant \\ \rowsep % \indexunordmem{bucket_size}% \tcode{b.bucket_size(n)} & \tcode{size_type} -& \requires \tcode{n} shall be in the range \tcode{[0, b.bucket_count())}. - Returns the number of elements in the $\tcode{n}^\text{th}$ bucket.% +& \expects \tcode{n} shall be in the range \tcode{[0, b.bucket_count())}. + \returns The number of elements in the $\tcode{n}^\text{th}$ bucket.% & \bigoh{\tcode{b.bucket_}\-\tcode{size(n)}} \\ \rowsep % @@ -2842,8 +2849,8 @@ \tcode{b.begin(n)} & \tcode{local_iterator}; \br \tcode{const_local_iterator} for const \tcode{b}. -& \requires \tcode{n} shall be in the range \tcode{[0, b.bucket_count())}. - \tcode{b.begin(n)} returns an iterator referring to the +& \expects \tcode{n} is in the range \tcode{[0, b.bucket_count())}.\br + \returns An iterator referring to the first element in the bucket. If the bucket is empty, then \tcode{b.begin(n) == b.end(n)}.% & Constant @@ -2853,8 +2860,8 @@ \tcode{b.end(n)} & \tcode{local_iterator}; \br \tcode{const_local_iterator} for const \tcode{b}. -& \requires \tcode{n} shall be in the range \tcode{[0, b.bucket_count())}. - \tcode{b.end(n)} returns an iterator which is the past-the-end +& \expects \tcode{n} is in the range \tcode{[0, b.bucket_count())}.\br + \returns An iterator which is the past-the-end value for the bucket.% & Constant \\ \rowsep @@ -2862,8 +2869,8 @@ \indexunordmem{cbegin}% \tcode{b.cbegin(n)} & \tcode{const_local_iterator} -& \requires \tcode{n} shall be in the range \tcode{[0, b.bucket_count())}. - \tcode{b.cbegin(n)} returns an iterator referring to the +& \expects \tcode{n} shall be in the range \tcode{[0, b.bucket_count())}.\br + \returns An iterator referring to the first element in the bucket. If the bucket is empty, then \tcode{b.cbegin(n) == b.cend(n)}.% & Constant @@ -2872,8 +2879,8 @@ \indexunordmem{cend}% \tcode{b.cend(n)} & \tcode{const_local_iterator} -& \requires \tcode{n} shall be in the range \tcode{[0, b.bucket_count())}.% - \tcode{b.cend(n)} returns an iterator which is the past-the-end +& \expects \tcode{n} is in the range \tcode{[0, b.bucket_count())}.% + \returns An iterator which is the past-the-end value for the bucket.% & Constant \\ \rowsep @@ -2881,14 +2888,14 @@ \indexunordmem{load_factor}% \tcode{b.load_factor()} & \tcode{float} -& Returns the average number of elements per bucket.% +& \returns The average number of elements per bucket.% & Constant \\ \rowsep % \indexunordmem{max_load_factor}% \tcode{b.max_load_factor()} & \tcode{float} -& Returns a positive number that the container attempts to keep the load factor +& \returns A positive number that the container attempts to keep the load factor less than or equal to. The container automatically increases the number of buckets as necessary to keep the load factor below this number.% @@ -2897,7 +2904,7 @@ % \tcode{a.max_load_factor(z)} & \tcode{void} -& \requires \tcode{z} shall be positive. +& \expects \tcode{z} is positive. May change the container's maximum load factor, using \tcode{z} as a hint.% & Constant \\ \rowsep @@ -3395,7 +3402,7 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires \tcode{(is_same_v \&\& ...)} is \tcode{true}. Otherwise the program is ill-formed. +\mandates \tcode{(is_same_v \&\& ...)} is \tcode{true}. \end{itemdescr} \rSec3[array.members]{Member functions} @@ -3457,9 +3464,8 @@ \end{itemdecl} \begin{itemdescr} -\pnum\remarks -This function shall not participate in overload resolution -unless \tcode{N == 0} or \tcode{is_swappable_v} is \tcode{true}. +\pnum +\constraints \tcode{N == 0} or \tcode{is_swappable_v} is \tcode{true}. \pnum\effects As if by \tcode{x.swap(y)}. @@ -3501,10 +3507,11 @@ \begin{itemdescr} \pnum -\requires \tcode{I < N}. The program is ill-formed if \tcode{I} is out of bounds. +\mandates +\tcode{I < N} is \tcode{true}. \pnum -\cvalue The type T. +\value The type T. \end{itemdescr} \indexlibrarymember{array}{get}% @@ -3521,7 +3528,8 @@ \begin{itemdescr} \pnum -\requires \tcode{I < N}. The program is ill-formed if \tcode{I} is out of bounds. +\mandates +\tcode{I < N} is \tcode{true}. \pnum \returns A reference to the $\tcode{I}^\text{th}$ element of \tcode{a}, @@ -3697,7 +3705,8 @@ \tcode{n} default-inserted elements using the specified allocator. \pnum -\requires \tcode{T} shall be \oldconcept{DefaultInsertable} into \tcode{*this}. +\expects +\tcode{T} is \oldconcept{DefaultInsertable} into \tcode{*this}. \pnum \complexity Linear in \tcode{n}. @@ -3717,7 +3726,8 @@ using the specified allocator. \pnum -\requires \tcode{T} shall be \oldconcept{CopyInsertable} into \tcode{*this}. +\expects +\tcode{T} is \oldconcept{CopyInsertable} into \tcode{*this}. \pnum \complexity @@ -3751,13 +3761,14 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects +\tcode{T} is \oldconcept{MoveInsertable} and \oldconcept{DefaultInsertable} into \tcode{*this}. + \pnum \effects If \tcode{sz < size()}, erases the last \tcode{size() - sz} elements from the sequence. Otherwise, appends \tcode{sz - size()} default-inserted elements to the sequence. - -\pnum -\requires \tcode{T} shall be \oldconcept{MoveInsertable} and \oldconcept{DefaultInsertable} into \tcode{*this}. \end{itemdescr} \indexlibrary{\idxcode{resize}!\idxcode{deque}}% @@ -3766,14 +3777,14 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects +\tcode{T} is \oldconcept{CopyInsertable} into \tcode{*this}. + \pnum \effects If \tcode{sz < size()}, erases the last \tcode{size() - sz} elements from the sequence. Otherwise, appends \tcode{sz - size()} copies of \tcode{c} to the sequence. - -\pnum -\requires \tcode{T} shall be -\oldconcept{CopyInsertable} into \tcode{*this}. \end{itemdescr} \indexlibrarymember{shrink_to_fit}{deque}% @@ -3783,7 +3794,8 @@ \begin{itemdescr} \pnum -\requires \tcode{T} shall be \oldconcept{MoveInsertable} into \tcode{*this}. +\expects +\tcode{T} is \oldconcept{MoveInsertable} into \tcode{*this}. \pnum \effects \tcode{shrink_to_fit} is a non-binding request to reduce memory use @@ -4103,11 +4115,11 @@ \begin{itemdescr} \pnum -\effects Constructs a \tcode{forward_list} object with \tcode{n} -default-inserted elements using the specified allocator. +\expects \tcode{T} is \oldconcept{DefaultInsertable} into \tcode{*this}. \pnum -\requires \tcode{T} shall be \oldconcept{DefaultInsertable} into \tcode{*this}. +\effects Constructs a \tcode{forward_list} object with \tcode{n} +default-inserted elements using the specified allocator. \pnum \complexity Linear in \tcode{n}. @@ -4120,10 +4132,10 @@ \begin{itemdescr} \pnum -\effects Constructs a \tcode{forward_list} object with \tcode{n} copies of \tcode{value} using the specified allocator. +\expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{*this}. \pnum -\requires \tcode{T} shall be \oldconcept{CopyInsertable} into \tcode{*this}. +\effects Constructs a \tcode{forward_list} object with \tcode{n} copies of \tcode{value} using the specified allocator. \pnum \complexity Linear in \tcode{n}. @@ -4232,7 +4244,7 @@ \begin{itemdescr} \pnum -\requires \tcode{position} is \tcode{before_begin()} or is a dereferenceable +\expects \tcode{position} is \tcode{before_begin()} or is a dereferenceable iterator in the range \range{begin()}{end()}. \pnum @@ -4249,7 +4261,7 @@ \begin{itemdescr} \pnum -\requires \tcode{position} is \tcode{before_begin()} or is a dereferenceable +\expects \tcode{position} is \tcode{before_begin()} or is a dereferenceable iterator in the range \range{begin()}{end()}. \pnum @@ -4268,9 +4280,9 @@ \begin{itemdescr} \pnum -\requires \tcode{position} is \tcode{before_begin()} or is a dereferenceable +\expects \tcode{position} is \tcode{before_begin()} or is a dereferenceable iterator in the range \range{begin()}{end()}. -\tcode{first} and \tcode{last} are not iterators in \tcode{*this}. +Neither \tcode{first} nor \tcode{last} are iterators in \tcode{*this}. \pnum \effects Inserts copies of elements in \range{first}{last} after \tcode{position}. @@ -4303,7 +4315,7 @@ \begin{itemdescr} \pnum -\requires \tcode{position} is \tcode{before_begin()} or is a dereferenceable +\expects \tcode{position} is \tcode{before_begin()} or is a dereferenceable iterator in the range \range{begin()}{end()}. \pnum @@ -4321,7 +4333,7 @@ \begin{itemdescr} \pnum -\requires The iterator following \tcode{position} is dereferenceable. +\expects The iterator following \tcode{position} is dereferenceable. \pnum \effects Erases the element pointed to by the iterator following \tcode{position}. @@ -4340,7 +4352,7 @@ \begin{itemdescr} \pnum -\requires All iterators in the range \orange{position}{last} are dereferenceable. +\expects All iterators in the range \orange{position}{last} are dereferenceable. \pnum \effects Erases the elements in the range \orange{position}{last}. @@ -4358,13 +4370,13 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects \tcode{T} is \oldconcept{DefaultInsertable} into \tcode{*this}. + \pnum \effects If \tcode{sz < distance(begin(), end())}, erases the last \tcode{distance(begin(), end()) - sz} elements from the list. Otherwise, inserts \tcode{sz - distance(begin(), end())} default-inserted elements at the end of the list. - -\pnum -\requires \tcode{T} shall be \oldconcept{DefaultInsertable} into \tcode{*this}. \end{itemdescr} \begin{itemdecl} @@ -4372,13 +4384,13 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{*this}. + \pnum \effects If \tcode{sz < distance(begin(), end())}, erases the last \tcode{distance(begin(), end()) - sz} elements from the list. Otherwise, inserts \tcode{sz - distance(begin(), end())} copies of \tcode{c} at the end of the list. - -\pnum -\requires \tcode{T} shall be \oldconcept{CopyInsertable} into \tcode{*this}. \end{itemdescr} @@ -4413,10 +4425,10 @@ \begin{itemdescr} \pnum -\requires \tcode{position} is \tcode{before_begin()} or is a dereferenceable +\expects \tcode{position} is \tcode{before_begin()} or is a dereferenceable iterator in the range \range{begin()}{end()}. -\tcode{get_allocator() == x.get_allocator()}. -\tcode{addressof(x) != this}. +\tcode{get_allocator() == x.get_allocator()} is \tcode{true}. +\tcode{addressof(x) != this} is \tcode{true}. \pnum \effects Inserts the contents of \tcode{x} after @@ -4440,10 +4452,10 @@ \begin{itemdescr} \pnum -\requires \tcode{position} is \tcode{before_begin()} or is a dereferenceable +\expects \tcode{position} is \tcode{before_begin()} or is a dereferenceable iterator in the range \range{begin()}{end()}. The iterator following \tcode{i} is a dereferenceable iterator in \tcode{x}. -\tcode{get_allocator() == x.get_allocator()}. +\tcode{get_allocator() == x.get_allocator()} is \tcode{true}. \pnum \effects Inserts the element following \tcode{i} into \tcode{*this}, following @@ -4470,11 +4482,11 @@ \begin{itemdescr} \pnum -\requires \tcode{position} is \tcode{before_begin()} or is a +\expects \tcode{position} is \tcode{before_begin()} or is a dereferenceable iterator in the range \range{begin()}{end()}. \orange{first}{last} is a valid range in \tcode{x}, and all iterators in the range \orange{first}{last} are dereferenceable. \tcode{position} is not an iterator in the range \orange{first}{last}. -\tcode{get_allocator() == x.get_allocator()}. +\tcode{get_allocator() == x.get_allocator()} is \tcode{true}. \pnum \effects Inserts elements in the range \orange{first}{last} after \tcode{position} and @@ -4550,7 +4562,7 @@ \begin{itemdescr} \pnum -\requires \tcode{*this} and \tcode{x} are both sorted with respect to +\expects \tcode{*this} and \tcode{x} are both sorted with respect to the comparator \tcode{operator<} (for the first two overloads) or \tcode{comp} (for the last two overloads), and \tcode{get_allocator() == x.get_allocator()} is \tcode{true}. @@ -4565,8 +4577,7 @@ \tcode{x}. \pnum -\remarks Stable\iref{algorithm.stable}. The behavior is undefined if -\tcode{get_allocator() != x.get_allocator()}. +\remarks Stable\iref{algorithm.stable}. \pnum \complexity At most \tcode{distance(begin(), @@ -4828,11 +4839,11 @@ \begin{itemdescr} \pnum -\effects Constructs a \tcode{list} with -\tcode{n} default-inserted elements using the specified allocator. +\expects \tcode{T} is \oldconcept{DefaultInsertable} into \tcode{*this}. \pnum -\requires \tcode{T} shall be \oldconcept{DefaultInsertable} into \tcode{*this}. +\effects Constructs a \tcode{list} with +\tcode{n} default-inserted elements using the specified allocator. \pnum \complexity @@ -4846,6 +4857,9 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{*this}. + \pnum \effects Constructs a @@ -4856,9 +4870,6 @@ \tcode{value}, using the specified allocator. -\pnum -\requires \tcode{T} shall be \oldconcept{CopyInsertable} into \tcode{*this}. - \pnum \complexity Linear in @@ -4893,6 +4904,9 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects \tcode{T} is \oldconcept{DefaultInsertable} into \tcode{*this}. + \pnum \effects If \tcode{size() < sz}, @@ -4905,11 +4919,6 @@ advance(it, sz); erase(it, end()); \end{codeblock} - - -\pnum -\requires \tcode{T} shall be -\oldconcept{DefaultInsertable} into \tcode{*this}. \end{itemdescr} \indexlibrary{\idxcode{resize}!\idxcode{list}}% @@ -4918,6 +4927,9 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects \tcode{T} is \oldconcept{CopyInsertable} into \tcode{*this}. + \pnum \effects As if by: @@ -4932,9 +4944,6 @@ else ; // do nothing \end{codeblock} - -\pnum -\requires \tcode{T} shall be \oldconcept{CopyInsertable} into \tcode{*this}. \end{itemdescr} \rSec3[list.modifiers]{Modifiers} @@ -5029,8 +5038,8 @@ \begin{itemdescr} \pnum -\requires -\tcode{addressof(x) != this}. +\expects +\tcode{addressof(x) != this} is \tcode{true}. \pnum \effects @@ -5067,10 +5076,8 @@ \begin{itemdescr} \pnum -\requires -\tcode{i} -is a valid dereferenceable iterator of -\tcode{x}. +\expects +\tcode{i} is a valid dereferenceable iterator of \tcode{x}. \pnum \effects @@ -5116,14 +5123,9 @@ \begin{itemdescr} \pnum -\requires -\tcode{[first, last)} -is a valid range in -\tcode{x}. -The program has undefined behavior if -\tcode{position} -is an iterator in the range -\range{first}{last}. +\expects +\tcode{[first, last)} is a valid range in \tcode{x}. +\tcode{position} is not an iterator in the range \range{first}{last}. \pnum \effects @@ -5232,11 +5234,12 @@ \begin{itemdescr} \pnum -\requires +\expects Both the list and the argument list shall be sorted with respect to the comparator \tcode{operator<} (for the first two overloads) or \tcode{comp} (for the last two overloads). +\tcode{get_allocator() != x.get_allocator()} is \tcode{true}. \pnum \effects @@ -5253,8 +5256,7 @@ \pnum \remarks Stable\iref{algorithm.stable}. If \tcode{addressof(x) != this}, the range \tcode{[x.begin(), x.end())} is empty after the merge. -No elements are copied by this operation. The behavior is undefined if -\tcode{get_allocator() != x.get_allocator()}. +No elements are copied by this operation. \pnum \complexity @@ -5507,11 +5509,11 @@ \begin{itemdescr} \pnum -\effects Constructs a \tcode{vector} with \tcode{n} -default-inserted elements using the specified allocator. +\expects \tcode{T} is \oldconcept{DefaultInsertable} into \tcode{*this}. \pnum -\requires \tcode{T} shall be \oldconcept{DefaultInsertable} into \tcode{*this}. +\effects Constructs a \tcode{vector} with \tcode{n} +default-inserted elements using the specified allocator. \pnum \complexity Linear in \tcode{n}. @@ -5525,12 +5527,12 @@ \begin{itemdescr} \pnum -\effects Constructs a \tcode{vector} with \tcode{n} -copies of \tcode{value}, using the specified allocator. +\expects \tcode{T} is +\oldconcept{CopyInsertable} into \tcode{*this}. \pnum -\requires \tcode{T} shall be -\oldconcept{CopyInsertable} into \tcode{*this}. +\effects Constructs a \tcode{vector} with \tcode{n} +copies of \tcode{value}, using the specified allocator. \pnum \complexity Linear in \tcode{n}. @@ -5593,7 +5595,7 @@ \begin{itemdescr} \pnum -\requires \tcode{T} shall be \oldconcept{MoveInsertable} into \tcode{*this}. +\expects \tcode{T} is \oldconcept{MoveInsertable} into \tcode{*this}. \pnum \effects @@ -5645,7 +5647,7 @@ \begin{itemdescr} \pnum -\requires \tcode{T} shall be \oldconcept{MoveInsertable} into \tcode{*this}. +\expects \tcode{T} is \oldconcept{MoveInsertable} into \tcode{*this}. \pnum \effects \tcode{shrink_to_fit} is a non-binding request to reduce @@ -5697,15 +5699,15 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects \tcode{T} is +\oldconcept{MoveInsertable} and \oldconcept{DefaultInsertable} into \tcode{*this}. + \pnum \effects If \tcode{sz < size()}, erases the last \tcode{size() - sz} elements from the sequence. Otherwise, appends \tcode{sz - size()} default-inserted elements to the sequence. -\pnum -\requires \tcode{T} shall be -\oldconcept{MoveInsertable} and \oldconcept{DefaultInsertable} into \tcode{*this}. - \pnum \remarks If an exception is thrown other than by the move constructor of a non-\oldconcept{CopyInsertable} \tcode{T} there are no effects. @@ -5718,14 +5720,14 @@ \begin{itemdescr} \pnum +\pnum +\expects \tcode{T} is +\oldconcept{CopyInsertable} into \tcode{*this}. + \effects If \tcode{sz < size()}, erases the last \tcode{size() - sz} elements from the sequence. Otherwise, appends \tcode{sz - size()} copies of \tcode{c} to the sequence. -\pnum -\requires \tcode{T} shall be -\oldconcept{CopyInsertable} into \tcode{*this}. - \pnum \remarks If an exception is thrown there are no effects. \end{itemdescr} @@ -6562,17 +6564,15 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\constraints +\tcode{is_constructible_v} is \tcode{true}. + \pnum \effects The first form is equivalent to \tcode{return emplace(std::forward

(x))}. The second form is equivalent to \tcode{return emplace_hint(position, std::forward

(x))}. - -\pnum -\remarks -These signatures shall not participate in overload resolution -unless \tcode{is_constructible_v} is -\tcode{true}. \end{itemdescr} \indexlibrarymember{try_emplace}{map}% @@ -6585,8 +6585,8 @@ \begin{itemdescr} \pnum -\requires -\tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{map} +\expects +\tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{map} from \tcode{piecewise_construct}, \tcode{for\-ward_as_tuple(k)}, \tcode{forward_as_tuple(std::forward(args)...)}. @@ -6623,8 +6623,8 @@ \begin{itemdescr} \pnum -\requires -\tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{map} +\expects +\tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{map} from \tcode{piecewise_construct}, \tcode{for\-ward_as_tuple(std::move(k))}, \tcode{forward_as_tuple(std::forward(args)...)}. @@ -6661,9 +6661,12 @@ \begin{itemdescr} \pnum -\requires -\tcode{is_assignable_v} shall be \tcode{true}. -\tcode{value_type} shall be \oldconcept{Emplace\-Constructible} into \tcode{map} +\mandates +\tcode{is_assignable_v} is \tcode{true}. + +\pnum +\expects +\tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{map} from \tcode{k}, \tcode{forward(obj)}. \pnum @@ -6698,9 +6701,12 @@ \begin{itemdescr} \pnum -\requires -\tcode{is_assignable_v} shall be \tcode{true}. -\tcode{value_type} shall be \oldconcept{Emplace\-Constructible} into \tcode{map} +\mandates +\tcode{is_assignable_v} is \tcode{true}. + +\pnum +\expects +\tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{map} from \tcode{move(k)}, \tcode{forward(obj)}. \pnum @@ -7037,17 +7043,15 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\mandates +\tcode{is_constructible_v} is \tcode{true}. + \pnum \effects The first form is equivalent to \tcode{return emplace(std::forward

(x))}. The second form is equivalent to \tcode{return emplace_hint(position, std::forward

(x))}. - -\pnum -\remarks -These signatures shall not participate in overload resolution -unless \tcode{is_constructible_v} is -\tcode{true}. \end{itemdescr} \rSec3[multimap.erasure]{Erasure} @@ -8165,12 +8169,13 @@ \end{itemdecl} \begin{itemdescr} + \pnum -\effects Equivalent to: \tcode{return emplace(std::forward

(obj));} +\constraints +\tcode{is_constructible_v} is \tcode{true}. \pnum -\remarks This signature shall not participate in overload resolution -unless \tcode{is_constructible_v} is \tcode{true}. +\effects Equivalent to: \tcode{return emplace(std::forward

(obj));} \end{itemdescr} \indexlibrarymember{unordered_map}{insert}% @@ -8181,12 +8186,12 @@ \begin{itemdescr} \pnum -\effects Equivalent to: -\tcode{return emplace_hint(hint, std::forward

(obj));} +\constraints +\tcode{is_constructible_v} is \tcode{true}. \pnum -\remarks This signature shall not participate in overload resolution -unless \tcode{is_constructible_v} is \tcode{true}. +\effects Equivalent to: +\tcode{return emplace_hint(hint, std::forward

(obj));} \end{itemdescr} \indexlibrarymember{try_emplace}{unordered_map}% @@ -8199,8 +8204,8 @@ \begin{itemdescr} \pnum -\requires -\tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{unordered_map} +\expects +\tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{unordered_map} from \tcode{piecewise_con\-struct}, \tcode{forward_as_tuple(k)}, \tcode{forward_as_tuple(std::forward(args)...)}. @@ -8237,8 +8242,8 @@ \begin{itemdescr} \pnum -\requires -\tcode{value_type} shall be \oldconcept{EmplaceConstructible} into \tcode{unordered_map} +\expects +\tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{unordered_map} from \tcode{piecewise_con\-struct}, \tcode{forward_as_tuple(std::move(k))}, \tcode{forward_as_tuple(std::forward(args)...)}. @@ -8275,10 +8280,13 @@ \begin{itemdescr} \pnum -\requires -\tcode{is_assignable_v} shall be \tcode{true}. -\tcode{value_type} shall be \oldconcept{Emplace\-Constructible} into \tcode{unordered_map} -from \tcode{k}, \tcode{std::forward(obj)}. +\mandates +\tcode{is_assignable_v} is \tcode{true}. + +\pnum +\expects +\tcode{value_type} is \oldconcept{EmplaceConstructible} into \tcode{unordered_map} +from \tcode{k}, \tcode{std::forward\brk{}(obj)}. \pnum \effects @@ -8312,10 +8320,12 @@ \begin{itemdescr} \pnum -\requires -\tcode{is_assignable_v} shall be \tcode{true}. -\tcode{value_type} shall be \oldconcept{Emplace\-Constructible} into \tcode{unordered_map} -from \tcode{std::move(k)}, \tcode{std::forward(obj)}. +\mandates +\tcode{is_assignable_v} is \tcode{true}. + +\expects +\tcode{value_type} is \oldconcept{Emplace\-Constructible} into \tcode{unordered_map} +from \tcode{std::move(k)}, \tcode{std::\brk{}forward(obj)}. \pnum \effects @@ -8687,11 +8697,11 @@ \begin{itemdescr} \pnum -\effects Equivalent to: \tcode{return emplace(std::forward

(obj));} +\constraints +\tcode{is_constructible_v} is \tcode{true}. \pnum -\remarks This signature shall not participate in overload resolution -unless \tcode{is_constructible_v} is \tcode{true}. +\effects Equivalent to: \tcode{return emplace(std::forward

(obj));} \end{itemdescr} \indexlibrarymember{unordered_multimap}{insert}% @@ -8702,12 +8712,12 @@ \begin{itemdescr} \pnum -\effects Equivalent to: -\tcode{return emplace_hint(hint, std::forward

(obj));} +\constraints +\tcode{is_constructible_v} is \tcode{true}. \pnum -\remarks This signature shall not participate in overload resolution -unless \tcode{is_constructible_v} is \tcode{true}. +\effects Equivalent to: +\tcode{return emplace_hint(hint, std::forward

(obj));} \end{itemdescr} \rSec3[unord.multimap.erasure]{Erasure} @@ -9701,9 +9711,8 @@ \begin{itemdescr} \pnum -\remarks -This function shall not participate in overload resolution -unless \tcode{is_swappable_v} is \tcode{true}. +\constraints +\tcode{is_swappable_v} is \tcode{true}. \pnum \effects As if by \tcode{x.swap(y)}. @@ -9816,8 +9825,8 @@ \begin{itemdescr} \pnum -\requires -\tcode{x} shall define a strict weak ordering\iref{alg.sorting}. +\expects +\tcode{x} defines a strict weak ordering\iref{alg.sorting}. \pnum \effects @@ -9841,8 +9850,8 @@ \begin{itemdescr} \pnum -\requires -\tcode{x} shall define a strict weak ordering\iref{alg.sorting}. +\expects +\tcode{x} defines a strict weak ordering\iref{alg.sorting}. \pnum \effects @@ -10005,9 +10014,8 @@ \begin{itemdescr} \pnum -\remarks -This function shall not participate in overload resolution -unless \tcode{is_swappable_v} is \tcode{true} and +\constraints +\tcode{is_swappable_v} is \tcode{true} and \tcode{is_swappable_v} is \tcode{true}. \pnum @@ -10250,9 +10258,8 @@ \begin{itemdescr} \pnum -\remarks -This function shall not participate in overload resolution -unless \tcode{is_swappable_v} is \tcode{true}. +\constraints +\tcode{is_swappable_v} is \tcode{true}. \pnum \effects As if by \tcode{x.swap(y)}. @@ -10428,13 +10435,12 @@ \end{itemdecl} \begin{itemdescr} \pnum -\ensures -\tcode{size() == 0 \&\& data() == nullptr}. +\constraints +\tcode{Extent <= 0} is \tcode{true}. \pnum -\remarks -This constructor shall not participate in overload resolution -unless \tcode{Extent <= 0} is \tcode{true}. +\ensures +\tcode{size() == 0 \&\& data() == nullptr}. \end{itemdescr} \indexlibrary{\idxcode{span}!constructor}% @@ -10443,9 +10449,9 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires \range{ptr}{ptr + count} shall be a valid range. +\expects \range{ptr}{ptr + count} is a valid range. If \tcode{extent} is not equal to \tcode{dynamic_extent}, -then \tcode{count} shall be equal to \tcode{extent}. +then \tcode{count} is equal to \tcode{extent}. \pnum \effects @@ -10466,10 +10472,10 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires -\range{first}{last} shall be a valid range. +\expects +\range{first}{last} is a valid range. If \tcode{extent} is not equal to \tcode{dynamic_extent}, -then \tcode{last - first} shall be equal to \tcode{extent}. +then \tcode{last - first} is equal to \tcode{extent}. \pnum \effects @@ -10491,6 +10497,13 @@ template constexpr span(const array& arr) noexcept; \end{itemdecl} \begin{itemdescr} +\pnum +\constraints +\begin{itemize} +\item \tcode{extent == dynamic_extent || N == extent} is \tcode{true}, and +\item \tcode{remove_pointer_t(*)[]} is convertible to \tcode{ElementType(*)[]}. +\end{itemize} + \pnum \effects Constructs a \tcode{span} that is a view over the supplied array. @@ -10498,14 +10511,6 @@ \pnum \ensures \tcode{size() == N \&\& data() == data(arr)}. - -\pnum -\remarks -These constructors shall not participate in overload resolution unless: -\begin{itemize} -\item \tcode{extent == dynamic_extent || N == extent} is \tcode{true}, and -\item \tcode{remove_pointer_t(*)[]} is convertible to \tcode{ElementType(*)[]}. -\end{itemize} \end{itemdescr} \indexlibrary{\idxcode{span}!constructor}% @@ -10515,8 +10520,19 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires -\range{data(cont)}{data(cont) + size(cont)} shall be a valid range. +\constraints +\begin{itemize} +\item \tcode{extent == dynamic_extent} is \tcode{true}, +\item \tcode{Container} is not a specialization of \tcode{span}, +\item \tcode{Container} is not a specialization of \tcode{array}, +\item \tcode{is_array_v} is \tcode{false}, +\item \tcode{data(cont)} and \tcode{size(cont)} are both well-formed, and +\item \tcode{remove_pointer_t(*)[]} is convertible to \tcode{ElementType(*)[]}. +\end{itemize} + +\pnum +\expects +\range{data(cont)}{data(cont) + size(cont)} is a valid range. \pnum \effects @@ -10529,18 +10545,6 @@ \pnum \throws What and when \tcode{data(cont)} and \tcode{size(cont)} throw. - -\pnum -\remarks -These constructors shall not participate in overload resolution unless: -\begin{itemize} -\item \tcode{extent == dynamic_extent} is \tcode{true}, -\item \tcode{Container} is not a specialization of \tcode{span}, -\item \tcode{Container} is not a specialization of \tcode{array}, -\item \tcode{is_array_v} is \tcode{false}, -\item \tcode{data(cont)} and \tcode{size(cont)} are both well-formed, and -\item \tcode{remove_pointer_t(*)[]} is convertible to \tcode{ElementType(*)[]}. -\end{itemize} \end{itemdescr} \indexlibrary{\idxcode{span}!constructor}% @@ -10559,6 +10563,13 @@ constexpr span(const span& s) noexcept; \end{itemdecl} \begin{itemdescr} +\pnum +\constraints +\begin{itemize} +\item \tcode{Extent == dynamic_extent || Extent == OtherExtent} is \tcode{true}, and +\item \tcode{OtherElementType(*)[]} is convertible to \tcode{ElementType(*)[]}. +\end{itemize} + \pnum \effects Constructs a \tcode{span} that is a view over the range @@ -10567,14 +10578,6 @@ \pnum \ensures \tcode{size() == s.size() \&\& data() == s.data()}. - -\pnum -\remarks -This constructor shall not participate in overload resolution unless: -\begin{itemize} -\item \tcode{Extent == dynamic_extent || Extent == OtherExtent} is \tcode{true}, and -\item \tcode{OtherElementType(*)[]} is convertible to \tcode{ElementType(*)[]}. -\end{itemize} \end{itemdescr} \indexlibrary{\idxcode{operator=}!\idxcode{span}}% @@ -10595,8 +10598,8 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires -\tcode{0 <= Count \&\& Count <= size()}. +\expects +\tcode{0 <= Count \&\& Count <= size()} is \tcode{true}. \pnum \effects @@ -10609,8 +10612,8 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires -\tcode{0 <= Count \&\& Count <= size()}. +\expects +\tcode{0 <= Count \&\& Count <= size()} is \tcode{true}. \pnum \effects @@ -10624,11 +10627,12 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires +\expects \begin{codeblock} (0 <= Offset && Offset <= size()) && (Count == dynamic_extent || Count >= 0 && Offset + Count <= size()) \end{codeblock} +is \tcode{true}. \pnum \effects @@ -10654,8 +10658,8 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires -\tcode{0 <= count \&\& count <= size()}. +\expects +\tcode{0 <= count \&\& count <= size()} is \tcode{true}. \pnum \effects @@ -10668,8 +10672,8 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires -\tcode{0 <= count 0 \&\& count <= size()}. +\expects +\tcode{0 <= count 0 \&\& count <= size()} is \tcode{true}. \pnum \effects @@ -10683,11 +10687,12 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires +\expects \begin{codeblock} (0 <= offset && offset <= size()) && (count == dynamic_extent || count >= 0 && offset + count <= size()) \end{codeblock} +is \tcode{true}. \pnum \effects @@ -10739,8 +10744,8 @@ \end{itemdecl} \begin{itemdescr} \pnum -\requires -\tcode{0 <= idx \&\& idx < size()}. +\expects +\tcode{0 <= idx \&\& idx < size()} is \tcode{true}. \pnum \effects @@ -10870,11 +10875,10 @@ \end{itemdecl} \begin{itemdescr} \pnum -\effects -Equivalent to: \tcode{return \{reinterpret_cast(s.data()), s.size_bytes()\};} +\constraints +\tcode{is_const_v} is \tcode{false}. \pnum -\remarks -This function shall not participate in overload resolution unless -\tcode{is_const_v} is \tcode{false}. +\effects +Equivalent to: \tcode{return \{reinterpret_cast(s.data()), s.size_bytes()\};} \end{itemdescr} From 5d28601950a9b81d28e1380fb6fc173d8c289371 Mon Sep 17 00:00:00 2001 From: Dawn Perchik Date: Tue, 5 Mar 2019 16:15:42 -0800 Subject: [PATCH 096/148] P1464R1 Mandating the Standard Library: Clause 22 - Iterators library --- source/iterators.tex | 102 ++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 64 deletions(-) diff --git a/source/iterators.tex b/source/iterators.tex index 69dda5b975..b67256a639 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -1764,7 +1764,7 @@ \tcode{*r} & unspecified & & - \requires \tcode{r} is dereferenceable. \\ \rowsep + \expects \tcode{r} is dereferenceable. \\ \rowsep \tcode{++r} & \tcode{X\&} & @@ -1830,23 +1830,23 @@ \tcode{a != b} & contextually convertible to \tcode{bool} & \tcode{!(a == b)} & - \requires \orange{a}{b} is in the domain of \tcode{==}. \\ \rowsep + \expects \orange{a}{b} is in the domain of \tcode{==}. \\ \rowsep \tcode{*a} & \tcode{reference}, convertible to \tcode{T} & & - \requires \tcode{a} is dereferenceable.\br + \expects \tcode{a} is dereferenceable.\br The expression\br \tcode{(void)*a, *a} is equivalent to \tcode{*a}.\br If \tcode{a == b} and \orange{a}{b} is in the domain of \tcode{==} then \tcode{*a} is equivalent to \tcode{*b}. \\ \rowsep \tcode{a->m} & & \tcode{(*a).m} & - \requires \tcode{a} is dereferenceable. \\ \rowsep + \expects \tcode{a} is dereferenceable. \\ \rowsep \tcode{++r} & \tcode{X\&} & & - \requires \tcode{r} is dereferenceable.\br + \expects \tcode{r} is dereferenceable.\br \ensures \tcode{r} is dereferenceable or \tcode{r} is past-the-end;\br any copies of the previous value of \tcode{r} are no longer required to be dereferenceable nor to be in the domain of \tcode{==}. \\ \rowsep @@ -1905,14 +1905,14 @@ \tcode{*r = o} & result is not used & & - \remarks\ After this operation \tcode{r} is not required to be dereferenceable.\br + \remarks After this operation \tcode{r} is not required to be dereferenceable.\br \ensures \tcode{r} is incrementable. \\ \rowsep \tcode{++r} & \tcode{X\&} & & \tcode{addressof(r) == addressof(++r)}.\br - \remarks\ After this operation \tcode{r} is not required to be dereferenceable.\br + \remarks After this operation \tcode{r} is not required to be dereferenceable.\br \ensures \tcode{r} is incrementable. \\ \rowsep \tcode{r++} & @@ -1920,12 +1920,12 @@ \tcode{\{ X tmp = r;}\br \tcode{ ++r;}\br \tcode{ return tmp; \}} & - \remarks\ After this operation \tcode{r} is not required to be dereferenceable.\br + \remarks After this operation \tcode{r} is not required to be dereferenceable.\br \ensures \tcode{r} is incrementable. \\ \rowsep \tcode{*r++ = o} & result is not used && - \remarks\ After this operation \tcode{r} is not required to be dereferenceable.\br + \remarks After this operation \tcode{r} is not required to be dereferenceable.\br \ensures \tcode{r} is incrementable. \\ \end{libreqtab4b} @@ -2048,7 +2048,7 @@ \tcode{\dcr r} & \tcode{X\&} & & - \requires there exists \tcode{s} such that \tcode{r == ++s}.\br + \expects there exists \tcode{s} such that \tcode{r == ++s}.\br \ensures \tcode{r} is dereferenceable.\br \tcode{\dcr(++r) == r}.\br \tcode{\dcr r == \dcr s} implies \tcode{r == s}.\br @@ -2111,7 +2111,7 @@ \tcode{r -= n} & \tcode{X\&} & \tcode{return r += -n;} & - \requires the absolute value of \tcode{n} is in the range of + \expects the absolute value of \tcode{n} is in the range of representable values of \tcode{difference_type}. \\ \rowsep \tcode{a - n} & @@ -2122,7 +2122,7 @@ \tcode{b - a} & \tcode{difference_type} & \tcode{return n} & - \requires there exists a value \tcode{n} of type \tcode{difference_type} such that \tcode{a + n == b}.\br + \expects there exists a value \tcode{n} of type \tcode{difference_type} such that \tcode{a + n == b}.\br \tcode{b == a + (b - a)}. \\ \rowsep \tcode{a[n]} & @@ -3269,7 +3269,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() == y.base()} shall be valid and +\tcode{x.base() == y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -3288,7 +3288,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() != y.base()} shall be valid and +\tcode{x.base() != y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -3307,7 +3307,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() > y.base()} shall be valid and +\tcode{x.base() > y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -3326,7 +3326,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() < y.base()} shall be valid and +\tcode{x.base() < y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -3345,7 +3345,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() >= y.base()} shall be valid and +\tcode{x.base() >= y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -3364,7 +3364,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() <= y.base()} shall be valid and +\tcode{x.base() <= y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -4014,12 +4014,11 @@ \begin{itemdescr} \pnum -\effects Constructs a \tcode{move_iterator}, initializing -\tcode{current} with \tcode{u.base()}. +\mandates \tcode{U} is convertible to \tcode{Iterator}. \pnum -\requires \tcode{U} shall be convertible to -\tcode{Iterator}. +\effects Constructs a \tcode{move_iterator}, initializing +\tcode{current} with \tcode{u.base()}. \end{itemdescr} \indexlibrarymember{operator=}{move_iterator}% @@ -4029,12 +4028,11 @@ \begin{itemdescr} \pnum -\effects Assigns \tcode{u.base()} to -\tcode{current}. +\mandates \tcode{U} is convertible to \tcode{Iterator}. \pnum -\requires \tcode{U} shall be convertible to -\tcode{Iterator}. +\effects Assigns \tcode{u.base()} to +\tcode{current}. \end{itemdescr} \rSec3[move.iter.op.conv]{Conversion} @@ -4206,7 +4204,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() == y.base()} shall be valid and +\tcode{x.base() == y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -4229,7 +4227,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() == y.base()} shall be valid and +\tcode{x.base() == y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -4245,7 +4243,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() < y.base()} shall be valid and +\tcode{x.base() < y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -4261,7 +4259,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{y.base() < x.base()} shall be valid and +\tcode{y.base() < x.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -4277,7 +4275,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{y.base() < x.base()} shall be valid and +\tcode{y.base() < x.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -4293,7 +4291,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x.base() < y.base()} shall be valid and +\tcode{x.base() < y.base()} is well-formed and convertible to \tcode{bool}. \pnum @@ -4331,7 +4329,7 @@ \begin{itemdescr} \pnum \constraints -The expression \tcode{x + n} shall be valid and have type \tcode{Iterator}. +\tcode{x + n} is well-formed and has type \tcode{Iterator}. \pnum \returns \tcode{x + n}. @@ -5660,10 +5658,6 @@ \end{itemdecl} \begin{itemdescr} -\pnum -\effects -Constructs a copy of \tcode{x}. - \pnum \ensures \tcode{in_stream == x.in_stream} is \tcode{true}. @@ -5745,6 +5739,9 @@ \end{itemdecl} \begin{itemdescr} +\pnum +\expects \tcode{in_stream != nullptr} is \tcode{true}. + \pnum \effects Equivalent to: \begin{codeblock} @@ -5870,29 +5867,6 @@ \tcode{delim} with \tcode{delimiter}. \end{itemdescr} - -\indexlibrary{\idxcode{ostream_iterator}!constructor}% -\begin{itemdecl} -ostream_iterator(const ostream_iterator& x); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Constructs a copy of \tcode{x}. -\end{itemdescr} - -\indexlibrary{\idxcode{ostream_iterator}!destructor}% -\begin{itemdecl} -~ostream_iterator(); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -The iterator is destroyed. -\end{itemdescr} - \rSec3[ostream.iterator.ops]{Operations} \indexlibrarymember{operator=}{ostream_iterator}% @@ -6248,9 +6222,9 @@ \begin{itemdescr} \pnum -\requires +\expects \tcode{s.rdbuf()} -shall not be a null pointer. +is not a null pointer. \pnum \effects @@ -6265,9 +6239,9 @@ \begin{itemdescr} \pnum -\requires +\expects \tcode{s} -shall not be a null pointer. +is not a null pointer. \pnum \effects From a91118766c70b3cc3ceacd2bdcdce2e0e4eb0ba4 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 3 Mar 2019 22:50:41 +0100 Subject: [PATCH 097/148] P1164R1 Make create_directory() Intuitive For create_directory copying attributes from existing_p, - Removed 'already' from failure description, to align with simple create_directory. - Removed 'The signature with argument ec returns false if an error occurs.'; this was struck in the parallel cases and is omitted entirely (not shown as struck) in the editing instructions. - Removed parentheses after mkdir per editorial guidelines. --- source/iostreams.tex | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/iostreams.tex b/source/iostreams.tex index ca22f412e2..91bb85982f 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -14742,8 +14742,6 @@ \returns \tcode{true} if a new directory was created for the directory \tcode{p} resolves to, otherwise \tcode{false}. - The signature with argument \tcode{ec} - returns \tcode{false} if an error occurs. \pnum \throws As specified in~\ref{fs.err.report}. @@ -14765,13 +14763,13 @@ \begin{itemdescr} \pnum \effects Creates the directory \tcode{p} resolves to, - as if by POSIX \tcode{mkdir()} with a second argument of + as if by POSIX \tcode{mkdir} with a second argument of \tcode{static_cast(perms::all)}. - Creation failure because \tcode{p} already exists is not an error. + If \tcode{mkdir} fails because \tcode{p} resolves to an existing directory, + no error is reported. Otherwise on failure an error is reported. \pnum \returns \tcode{true} if a new directory was created, otherwise \tcode{false}. - The signature with argument \tcode{ec} returns \tcode{false} if an error occurs. \pnum \throws As specified in~\ref{fs.err.report}. @@ -14789,7 +14787,8 @@ directory \tcode{p} resolves to, with attributes copied from directory \tcode{existing_p}. The set of attributes copied is operating system dependent. - Creation failure because \tcode{p} already exists is not an error. + If \tcode{mkdir} fails because \tcode{p} resolves to an existing directory, + no error is reported. Otherwise on failure an error is reported. \begin{note} For POSIX-based operating systems, the attributes are those copied by native API \tcode{stat(existing_p.c_str(), \&attributes_stat)} followed by \tcode{mkdir(p.c_str(), attributes_stat.st_mode)}. For @@ -14798,8 +14797,9 @@ \end{note} \pnum -\returns \tcode{true} if a new directory was created, otherwise \tcode{false}. - The signature with argument \tcode{ec} returns \tcode{false} if an error occurs. +\returns \tcode{true} if a new directory was created + with attributes copied from directory \tcode{existing_p}, + otherwise \tcode{false}. \pnum \throws As specified in~\ref{fs.err.report}. From b5862d4f616af9dc8c394d68beef20ece85d1339 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 2 Mar 2019 16:38:22 +0100 Subject: [PATCH 098/148] P0811R3 Well-behaved interpolation for numbers and pointers --- source/algorithms.tex | 59 +++++++++++++++++++++++++++++++++++++++++++ source/numerics.tex | 38 ++++++++++++++++++++++++++++ source/support.tex | 2 ++ 3 files changed, 99 insertions(+) diff --git a/source/algorithms.tex b/source/algorithms.tex index 05a60ed5fa..cbe5654993 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -8805,6 +8805,12 @@ // \ref{numeric.ops.lcm}, least common multiple template constexpr common_type_t lcm(M m, N n); + + // \ref{numeric.ops.midpoint}, midpoint + template + constexpr T midpoint(T a, T b) noexcept; + template + constexpr T* midpoint(T* a, T* b); } \end{codeblock} @@ -9780,6 +9786,59 @@ Nothing. \end{itemdescr} +\rSec2[numeric.ops.midpoint]{Midpoint} + +\indexlibrary{\idxcode{midpoint}}% +\begin{itemdecl} +template + constexpr T midpoint(T a, T b) noexcept; +\end{itemdecl} +\begin{itemdescr} +\pnum +\constraints +\tcode{T} is an arithmetic type other than \tcode{bool}. + +\pnum +\returns +Half the sum of \tcode{a} and \tcode{b}. +If \tcode{T} is an integer type and the sum is odd, +the result is rounded towards \tcode{a}. + +\pnum +\remarks +No overflow occurs. +If \tcode{T} is a floating-point type, at most one inexact operation occurs. +\end{itemdescr} + +\indexlibrary{\idxcode{midpoint}}% +\begin{itemdecl} +template + constexpr T* midpoint(T* a, T* b); +\end{itemdecl} +\begin{itemdescr} +\pnum +\constraints +\tcode{T} is a complete object type. + +\pnum +\expects +\tcode{a} and \tcode{b} point to, respectively, +elements $\tcode{x}[i]$ and $\tcode{x}[j]$ of the same array object \tcode{x}. +\begin{note} +An object that is not an array element is considered to belong +to a single-element array for this purpose; see \ref{expr.unary.op}. +A pointer past the last element of an array \tcode{x} of $n$ elements +is considered to be equivalent to a pointer +to a hypothetical element $\tcode{x}[n]$ for this purpose; +see \ref{basic.compound}. +\end{note} + +\pnum +\returns +A pointer to $\tcode{x}[i+\frac{j-i}{2}]$, +where the result of the division is truncated towards zero. +\end{itemdescr} + \rSec1[alg.c.library]{C library algorithms} \pnum diff --git a/source/numerics.tex b/source/numerics.tex index bc0482db60..ba41a03871 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -9119,6 +9119,11 @@ float fmaf(float x, float y, float z); long double fmal(long double x, long double y, long double z); + // \ref{c.math.lerp}, linear interpolation + constexpr float lerp(float a, float b, float t); + constexpr double lerp(double a, double b, double t); + constexpr long double lerp(long double a, long double b, long double t); + // \ref{c.math.fpclass}, classification / comparison functions int fpclassify(float x); int fpclassify(double x); @@ -9375,6 +9380,39 @@ \returns $\sqrt{x^2+y^2+z^2}$. \end{itemdescr} +\rSec2[c.math.lerp]{Linear interpolation} + +\indexlibrary{\idxcode{lerp}}% +\begin{itemdecl} +constexpr float lerp(float a, float b, float t); +constexpr double lerp(double a, double b, double t); +constexpr long double lerp(long double a, long double b, long double t); +\end{itemdecl} +\begin{itemdescr} +\pnum +\returns +$a+t(b-a)$. + +\pnum +\remarks +Let \tcode{r} be the value returned. +If \tcode{isfinite(a) \&\& isfinite(b)}, then: +\begin{itemize} +\item If \tcode{t == 0}, then \tcode{r == a}. +\item If \tcode{t == 1}, then \tcode{r == b}. +\item If \tcode{t >= 0 \&\& t <= 1}, then \tcode{isfinite(r)}. +\item If \tcode{isfinite(t) \&\& a == b}, then \tcode{r == a}. +\item If \tcode{isfinite(t) || !isnan(t) \&\& b-a != 0}, then \tcode{!isnan(r)}. +\end{itemize} +Let \tcode{\placeholder{CMP}(x,y)} be \tcode{1} if \tcode{x > y}, +\tcode{-1} if \tcode{x < y}, and \tcode{0} otherwise. +For any \tcode{t1} and \tcode{t2}, the product of +\tcode{\placeholder{CMP}(lerp(a, b, t2), lerp(a, b, t1))}, +\tcode{\placeholder{CMP}(t2, t1)}, and +\tcode{\placeholder{CMP}(b, a)} +is non-negative. +\end{itemdescr} + \rSec2[c.math.fpclass]{Classification / comparison functions} \pnum diff --git a/source/support.tex b/source/support.tex index 729f9eb56d..4294a7441b 100644 --- a/source/support.tex +++ b/source/support.tex @@ -610,6 +610,8 @@ \tcode{} \\ \rowsep \defnlibxname{cpp_lib_integral_constant_callable} & \tcode{201304L} & \tcode{} \\ \rowsep +\defnlibxname{cpp_lib_interpolate} & \tcode{201902L} & + \tcode{} \tcode{} \\ \rowsep \defnlibxname{cpp_lib_invoke} & \tcode{201411L} & \tcode{} \\ \rowsep \defnlibxname{cpp_lib_is_aggregate} & \tcode{201703L} & From fb640ee8122f7c91f8c7ee1c9d0eb4587e262b1b Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 2 Mar 2019 00:41:51 +0100 Subject: [PATCH 099/148] P1001R2 Target Vectorization Policies from Parallelism V2 TS to C++20 Move the example in the added paragraph of [algorithms.parallel.defns] into a function, since statements cannot appear at namespace scope. --- source/algorithms.tex | 94 ++++++++++++++++++++++++++++--------------- source/support.tex | 2 +- source/utilities.tex | 25 ++++++++++++ 3 files changed, 87 insertions(+), 34 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index cbe5654993..d559ef58a1 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -313,6 +313,35 @@ \end{itemize} \end{example} +\pnum +A standard library function is \defn{vectorization-unsafe} +if it is specified to synchronize with another function invocation, or +another function invocation is specified to synchronize with it, +and if it is not a memory allocation or deallocation function. +\begin{note} +Implementations must ensure that internal synchronization +inside standard library functions does not prevent forward progress +when those functions are executed by threads of execution +with weakly parallel forward progress guarantees. +\end{note} +\begin{example} +\begin{codeblock} +int x = 0; +std::mutex m; +void f() { + int a[] = {1,2}; + std::for_each(std::execution::par_unseq, std::begin(a), std::end(a), [&](int) { + std::lock_guard guard(m); // incorrect: \tcode{lock_guard} constructor calls \tcode{m.lock()} + ++x; + }); +} +\end{codeblock} +The above program may result in two consecutive calls to \tcode{m.lock()} +on the same thread of execution (which may deadlock), +because the applications of the function object are not guaranteed +to run on different threads of execution. +\end{example} + \rSec2[algorithms.parallel.user]{Requirements on user-provided function objects} \pnum @@ -378,6 +407,27 @@ The invocations are not interleaved; see~\ref{intro.execution}. \end{note} +\pnum +The invocations of element access functions in parallel algorithms invoked with +an execution policy object of type \tcode{execution::unsequenced_policy} +are permitted to execute in an unordered fashion +in the calling thread of execution, +unsequenced with respect to one another in the calling thread of execution. +\begin{note} +This means that multiple function object invocations +may be interleaved on a single thread of execution, +which overrides the usual guarantee from \ref{intro.execution} +that function executions do not overlap with one another. +\end{note} +Since \tcode{execution::unsequenced_policy} allows +the execution of element access functions +to be interleaved on a single thread of execution, +blocking synchronization, including the use of mutexes, risks deadlock. +Thus, the synchronization with \tcode{execution::unsequenced_policy} +is restricted as follows: +vectorization-unsafe standard library functions may not be invoked +by user code called from \tcode{execution::unsequenced_policy} algorithms. + \pnum The invocations of element access functions in parallel algorithms invoked with an execution policy object of type \tcode{execution::parallel_policy} @@ -439,7 +489,7 @@ \pnum The invocations of element access functions in parallel algorithms invoked with -an execution policy of type \tcode{execution::parallel_unsequenced_policy} are +an execution policy object of type \tcode{execution::parallel_unsequenced_policy} are permitted to execute in an unordered fashion in unspecified threads of execution, and unsequenced with respect to one another within each thread of execution. @@ -451,7 +501,7 @@ This means that multiple function object invocations may be interleaved on a single thread of execution, which overrides the usual guarantee from \ref{intro.execution} -that function executions do not interleave with one another. +that function executions do not overlap with one another. \end{note} Since \tcode{execution::parallel_unsequenced_policy} allows the execution of element access functions @@ -459,40 +509,18 @@ blocking synchronization, including the use of mutexes, risks deadlock. Thus, the synchronization with \tcode{execution::parallel_unsequenced_policy} is restricted as follows: -A standard library function is \defn{vectorization-unsafe} -if it is specified to synchronize with another function invocation, or -another function invocation is specified to synchronize with it, and -if it is not a memory allocation or deallocation function. -Vectorization-unsafe standard library functions may not be invoked by user code +vectorization-unsafe standard library functions may not be invoked by user code called from \tcode{execution::parallel_unsequenced_policy} algorithms. + +\pnum \begin{note} -Implementations must ensure -that internal synchronization inside standard library functions -does not prevent forward progress -when those functions are executed -by threads of execution with weakly parallel forward progress guarantees. -\end{note} -\begin{example} -\begin{codeblock} -int x = 0; -std::mutex m; -int a[] = {1,2}; -std::for_each(std::execution::par_unseq, std::begin(a), std::end(a), [&](int) { - std::lock_guard guard(m); // incorrect: \tcode{lock_guard} constructor calls \tcode{m.lock()} - ++x; -}); -\end{codeblock} -The above program may result in two consecutive calls to \tcode{m.lock()} -on the same thread of execution (which may deadlock), -because the applications of the function object are not guaranteed -to run on different threads of execution. -\end{example} -\begin{note} -The semantics of the \tcode{execution::parallel_policy} or -the \tcode{execution::parallel_unsequenced_policy} invocation +The semantics of invocation with +\tcode{execution::unsequenced_policy}, +\tcode{execution::parallel_policy}, or +\tcode{execution::parallel_unsequenced_policy} allow the implementation to fall back to sequential execution -if the system cannot parallelize an algorithm invocation -due to lack of resources. +if the system cannot parallelize an algorithm invocation, +e.g., due to lack of resources. \end{note} \pnum diff --git a/source/support.tex b/source/support.tex index 4294a7441b..0858b1fed9 100644 --- a/source/support.tex +++ b/source/support.tex @@ -588,7 +588,7 @@ \tcode{} \\ \rowsep \defnlibxname{cpp_lib_exchange_function} & \tcode{201304L} & \tcode{} \\ \rowsep -\defnlibxname{cpp_lib_execution} & \tcode{201603L} & +\defnlibxname{cpp_lib_execution} & \tcode{201902L} & \tcode{} \\ \rowsep \defnlibxname{cpp_lib_filesystem} & \tcode{201703L} & \tcode{} \\ \rowsep diff --git a/source/utilities.tex b/source/utilities.tex index 707ed0f998..bcec48b727 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -19059,10 +19059,14 @@ // \ref{execpol.parunseq}, parallel and unsequenced execution policy class parallel_unsequenced_policy; + // \ref{execpol.unseq}, unsequenced execution policy + class unsequenced_policy; + // \ref{execpol.objects}, execution policy objects inline constexpr sequenced_policy seq{ @\unspec@ }; inline constexpr parallel_policy par{ @\unspec@ }; inline constexpr parallel_unsequenced_policy par_unseq{ @\unspec@ }; + inline constexpr unsequenced_policy unseq{ @\unspec@ }; } \end{codeblock} @@ -19156,6 +19160,26 @@ \tcode{terminate()} shall be called. \end{itemdescr} +\rSec2[execpol.unseq]{Unsequenced execution policy} + +\indexlibrary{\idxcode{execution::unsequenced_policy}}% +\begin{itemdecl} +class execution::unsequenced_policy { @\unspec@ }; +\end{itemdecl} + +\pnum +The class \tcode{unsequenced_policy} is an execution policy type +used as a unique type to disambiguate parallel algorithm overloading and +indicate that a parallel algorithm's execution may be vectorized, +e.g., executed on a single thread using instructions +that operate on multiple data items. + +\pnum +During the execution of a parallel algorithm with +the \tcode{execution::unsequenced_policy} policy, +if the invocation of an element access function exits via an uncaught exception, +\tcode{terminate()} shall be called. + \rSec2[execpol.objects]{Execution policy objects} \indexlibrary{\idxcode{seq}}% @@ -19168,6 +19192,7 @@ inline constexpr execution::sequenced_policy execution::seq{ @\unspec@ }; inline constexpr execution::parallel_policy execution::par{ @\unspec@ }; inline constexpr execution::parallel_unsequenced_policy execution::par_unseq{ @\unspec@ }; +inline constexpr execution::unsequenced_policy execution::unseq{ @\unspec@ }; \end{itemdecl} \begin{itemdescr} From 6f6e5772b2a2dcf41e3db4f68b6cbc3c0628c061 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 14 Mar 2019 16:05:33 -0700 Subject: [PATCH 100/148] [algorithms.parallel.exec] Rephrase to avoid incorrect use of "may not". Convert rationale sentence to a note. --- source/algorithms.tex | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index d559ef58a1..b923639135 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -419,14 +419,16 @@ which overrides the usual guarantee from \ref{intro.execution} that function executions do not overlap with one another. \end{note} -Since \tcode{execution::unsequenced_policy} allows +The behavior of a program is undefined if +it invokes a vectorization-unsafe standard library function +from user code +called from a \tcode{execution::unsequenced_policy} algorithm. +\begin{note} +Because \tcode{execution::unsequenced_policy} allows the execution of element access functions to be interleaved on a single thread of execution, blocking synchronization, including the use of mutexes, risks deadlock. -Thus, the synchronization with \tcode{execution::unsequenced_policy} -is restricted as follows: -vectorization-unsafe standard library functions may not be invoked -by user code called from \tcode{execution::unsequenced_policy} algorithms. +\end{note} \pnum The invocations of element access functions in parallel algorithms invoked with @@ -503,14 +505,16 @@ which overrides the usual guarantee from \ref{intro.execution} that function executions do not overlap with one another. \end{note} -Since \tcode{execution::parallel_unsequenced_policy} allows +The behavior of a program is undefined if +it invokes a vectorization-unsafe standard library function +from user code +called from a \tcode{execution::parallel_unsequenced_policy} algorithm. +\begin{note} +Because \tcode{execution::parallel_unsequenced_policy} allows the execution of element access functions to be interleaved on a single thread of execution, blocking synchronization, including the use of mutexes, risks deadlock. -Thus, the synchronization with \tcode{execution::parallel_unsequenced_policy} -is restricted as follows: -vectorization-unsafe standard library functions may not be invoked by user code -called from \tcode{execution::parallel_unsequenced_policy} algorithms. +\end{note} \pnum \begin{note} From 7f2493e2e2d34b42a6c12c8806e536d4feb3aee3 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 2 Mar 2019 00:12:53 +0100 Subject: [PATCH 101/148] P1227R2 Signed ssize() functions, unsigned size() functions --- source/containers.tex | 68 +++++++++++++++++-------------------------- source/iterators.tex | 23 +++++++++++++++ 2 files changed, 50 insertions(+), 41 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index d8c17ec8c8..379bbcb61b 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -10278,23 +10278,19 @@ \begin{codeblock} namespace std { // constants - inline constexpr ptrdiff_t dynamic_extent = -1; + inline constexpr size_t dynamic_extent = numeric_limits::max(); // \ref{views.span}, class template span - template + template class span; // \ref{span.objectrep}, views of object representation - template - span(sizeof(ElementType)) * Extent> + template + span as_bytes(span s) noexcept; - template - span(sizeof(ElementType)) * Extent> + template + span as_writable_bytes(span s) noexcept; } \end{codeblock} @@ -10325,13 +10321,13 @@ \indexlibrary{\idxcode{span}}% \begin{codeblock} namespace std { - template + template class span { public: // constants and types using element_type = ElementType; using value_type = remove_cv_t; - using index_type = ptrdiff_t; + using index_type = size_t; using difference_type = ptrdiff_t; using pointer = element_type*; using const_pointer = const element_type*; @@ -10358,7 +10354,7 @@ template constexpr span(const Container& cont); constexpr span(const span& other) noexcept = default; - template + template constexpr span(const span& s) noexcept; ~span() noexcept = default; @@ -10366,11 +10362,11 @@ constexpr span& operator=(const span& other) noexcept = default; // \ref{span.sub}, subviews - template + template constexpr span first() const; - template + template constexpr span last() const; - template + template constexpr span subspan() const; constexpr span first(index_type count) const; @@ -10423,10 +10419,6 @@ \tcode{ElementType} is required to be a complete object type that is not an abstract class type. -\pnum -If \tcode{Extent} is negative and not equal to \tcode{dynamic_extent}, -the program is ill-formed. - \rSec3[span.cons]{Constructors, copy, and assignment} \indexlibrary{\idxcode{span}!constructor}% @@ -10559,7 +10551,7 @@ \indexlibrary{\idxcode{span}!constructor}% \begin{itemdecl} -template +template constexpr span(const span& s) noexcept; \end{itemdecl} \begin{itemdescr} @@ -10594,12 +10586,12 @@ \indexlibrarymember{span}{first}% \begin{itemdecl} -template constexpr span first() const; +template constexpr span first() const; \end{itemdecl} \begin{itemdescr} \pnum \expects -\tcode{0 <= Count \&\& Count <= size()} is \tcode{true}. +\tcode{Count <= size()} is \tcode{true}. \pnum \effects @@ -10608,12 +10600,12 @@ \indexlibrarymember{span}{last}% \begin{itemdecl} -template constexpr span last() const; +template constexpr span last() const; \end{itemdecl} \begin{itemdescr} \pnum \expects -\tcode{0 <= Count \&\& Count <= size()} is \tcode{true}. +\tcode{Count <= size()} is \tcode{true}. \pnum \effects @@ -10622,15 +10614,14 @@ \indexlibrarymember{span}{subspan}% \begin{itemdecl} -template +template constexpr span subspan() const; \end{itemdecl} \begin{itemdescr} \pnum \expects \begin{codeblock} -(0 <= Offset && Offset <= size()) -&& (Count == dynamic_extent || Count >= 0 && Offset + Count <= size()) +Offset <= size() && (Count == dynamic_extent || Offset + Count <= size()) \end{codeblock} is \tcode{true}. @@ -10659,7 +10650,7 @@ \begin{itemdescr} \pnum \expects -\tcode{0 <= count \&\& count <= size()} is \tcode{true}. +\tcode{count <= size()} is \tcode{true}. \pnum \effects @@ -10673,7 +10664,7 @@ \begin{itemdescr} \pnum \expects -\tcode{0 <= count 0 \&\& count <= size()} is \tcode{true}. +\tcode{count <= size()} is \tcode{true}. \pnum \effects @@ -10689,8 +10680,7 @@ \pnum \expects \begin{codeblock} -(0 <= offset && offset <= size()) -&& (count == dynamic_extent || count >= 0 && offset + count <= size()) +offset <= size() && (count == dynamic_extent || offset + count <= size()) \end{codeblock} is \tcode{true}. @@ -10745,7 +10735,7 @@ \begin{itemdescr} \pnum \expects -\tcode{0 <= idx \&\& idx < size()} is \tcode{true}. +\tcode{idx < size()} is \tcode{true}. \pnum \effects @@ -10853,10 +10843,8 @@ \indexlibrary{\idxcode{as_bytes}}% \begin{itemdecl} -template - span(sizeof(ElementType)) * Extent> +template + span as_bytes(span s) noexcept; \end{itemdecl} \begin{itemdescr} @@ -10867,10 +10855,8 @@ \indexlibrary{\idxcode{as_writable_bytes}}% \begin{itemdecl} -template - span(sizeof(ElementType)) * Extent> +template + span as_writable_bytes(span s) noexcept; \end{itemdecl} \begin{itemdescr} diff --git a/source/iterators.tex b/source/iterators.tex index b67256a639..6520a88bad 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -438,6 +438,9 @@ template constexpr auto size(const C& c) -> decltype(c.size()); template constexpr size_t size(const T (&array)[N]) noexcept; + template constexpr auto ssize(const C& c) + -> common_type_t>; + template constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept; template [[nodiscard]] constexpr auto empty(const C& c) -> decltype(c.empty()); template [[nodiscard]] constexpr bool empty(const T (&array)[N]) noexcept; template [[nodiscard]] constexpr bool empty(initializer_list il) noexcept; @@ -6467,6 +6470,26 @@ \pnum \returns \tcode{N}. \end{itemdescr} +\indexlibrary{\idxcode{ssize(C\& c)}}% +\begin{itemdecl} +template constexpr auto ssize(const C& c) + -> common_type_t>; +\end{itemdecl} +\begin{itemdescr} +\pnum \returns +\begin{codeblock} +static_cast>>(c.size()) +\end{codeblock} +\end{itemdescr} + +\indexlibrary{\idxcode{ssize(T (\&array)[N])}}% +\begin{itemdecl} +template constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept; +\end{itemdecl} +\begin{itemdescr} +\pnum \returns \tcode{N}. +\end{itemdescr} + \indexlibrary{\idxcode{empty(C\& c)}}% \begin{itemdecl} template [[nodiscard]] constexpr auto empty(const C& c) -> decltype(c.empty()); From cff526187eed699537716bfc1f974c393d6a247b Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Thu, 28 Feb 2019 23:57:13 +0100 Subject: [PATCH 102/148] P1252R2 Ranges Design Cleanup Renamed some suggested stable labels for new sections. --- source/algorithms.tex | 508 ++++++++++++++++++++++++------------------ source/future.tex | 26 +++ source/iterators.tex | 21 +- source/lib-intro.tex | 2 +- source/ranges.tex | 119 ++++++++-- source/utilities.tex | 149 ++----------- 6 files changed, 437 insertions(+), 388 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index b923639135..bdb7a4cac9 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -667,8 +667,20 @@ namespace ranges { template struct for_each_result { - I in; - F fun; + [[no_unique_address]] I in; + [[no_unique_address]] F fun; + + template + requires ConvertibleTo && ConvertibleTo + operator for_each_result() const & { + return {in, fun}; + } + + template + requires ConvertibleTo && ConvertibleTo + operator for_each_result() && { + return {std::move(in), std::move(fun)}; + } }; template S, class Proj = identity, @@ -712,10 +724,10 @@ namespace ranges { template S, class T, class Proj = identity> - requires IndirectRelation, projected, const T*> + requires IndirectRelation, const T*> constexpr I find(I first, S last, const T& value, Proj proj = {}); template - requires IndirectRelation, projected, Proj>, const T*> + requires IndirectRelation, Proj>, const T*> constexpr safe_iterator_t find(R&& r, const T& value, Proj proj = {}); template S, class Proj = identity, @@ -759,13 +771,13 @@ namespace ranges { template S1, ForwardIterator I2, Sentinel S2, - class Pred = ranges::equal_to<>, class Proj1 = identity, class Proj2 = identity> + class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable constexpr subrange find_end(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> constexpr safe_subrange_t find_end(R1&& r1, R2&& r2, Pred pred = {}, @@ -799,13 +811,13 @@ template S1, ForwardIterator I2, Sentinel S2, class Proj1 = identity, class Proj2 = identity, IndirectRelation, - projected> Pred = ranges::equal_to<>> + projected> Pred = ranges::equal_to> constexpr I1 find_first_of(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, Proj1>, - projected, Proj2>> Pred = ranges::equal_to<>> + projected, Proj2>> Pred = ranges::equal_to> constexpr safe_iterator_t find_first_of(R1&& r1, R2&& r2, Pred pred = {}, @@ -832,11 +844,11 @@ namespace ranges { template S, class Proj = identity, - IndirectRelation> Pred = ranges::equal_to<>> + IndirectRelation> Pred = ranges::equal_to> constexpr I adjacent_find(I first, S last, Pred pred = {}, Proj proj = {}); template, Proj>> Pred = ranges::equal_to<>> + IndirectRelation, Proj>> Pred = ranges::equal_to> constexpr safe_iterator_t adjacent_find(R&& r, Pred pred = {}, Proj proj = {}); } @@ -859,11 +871,11 @@ namespace ranges { template S, class T, class Proj = identity> - requires IndirectRelation, projected, const T*> + requires IndirectRelation, const T*> constexpr iter_difference_t count(I first, S last, const T& value, Proj proj = {}); template - requires IndirectRelation, projected, Proj>, const T*> + requires IndirectRelation, Proj>, const T*> constexpr iter_difference_t> count(R&& r, const T& value, Proj proj = {}); template S, class Proj = identity, @@ -921,21 +933,33 @@ namespace ranges { template struct mismatch_result { - I1 in1; - I2 in2; + [[no_unique_address]] I1 in1; + [[no_unique_address]] I2 in2; + + template + requires ConvertibleTo && ConvertibleTo + operator mismatch_result() const & { + return {in1, in2}; + } + + template + requires ConvertibleTo && ConvertibleTo + operator mismatch_result() && { + return {std::move(in1), std::move(in2)}; + } }; template S1, InputIterator I2, Sentinel S2, class Proj1 = identity, class Proj2 = identity, IndirectRelation, - projected> Pred = ranges::equal_to<>> + projected> Pred = ranges::equal_to> constexpr mismatch_result mismatch(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, Proj1>, - projected, Proj2>> Pred = ranges::equal_to<>> + projected, Proj2>> Pred = ranges::equal_to> constexpr mismatch_result, safe_iterator_t> mismatch(R1&& r1, R2&& r2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); @@ -977,12 +1001,12 @@ namespace ranges { template S1, InputIterator I2, Sentinel S2, - class Pred = ranges::equal_to<>, class Proj1 = identity, class Proj2 = identity> + class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable constexpr bool equal(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> constexpr bool equal(R1&& r1, R2&& r2, Pred pred = {}, @@ -1006,13 +1030,13 @@ namespace ranges { template S1, ForwardIterator I2, - Sentinel S2, class Pred = ranges::equal_to<>, class Proj1 = identity, + Sentinel S2, class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable constexpr bool is_permutation(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> constexpr bool is_permutation(R1&& r1, R2&& r2, Pred pred = {}, @@ -1044,13 +1068,13 @@ namespace ranges { template S1, ForwardIterator I2, - Sentinel S2, class Pred = ranges::equal_to<>, + Sentinel S2, class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable constexpr subrange search(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> constexpr safe_subrange_t @@ -1082,12 +1106,12 @@ namespace ranges { template S, class T, - class Pred = ranges::equal_to<>, class Proj = identity> + class Pred = ranges::equal_to, class Proj = identity> requires IndirectlyComparable constexpr subrange search_n(I first, S last, iter_difference_t count, const T& value, Pred pred = {}, Proj proj = {}); - template, + template requires IndirectlyComparable, const T*, Pred, Proj> constexpr safe_subrange_t @@ -1112,8 +1136,20 @@ namespace ranges { template struct copy_result { - I in; - O out; + [[no_unique_address]] I in; + [[no_unique_address]] O out; + + template + requires ConvertibleTo && ConvertibleTo + operator copy_result() const & { + return {in, out}; + } + + template + requires ConvertibleTo && ConvertibleTo + operator copy_result() && { + return {std::move(in), std::move(out)}; + } }; template S, WeaklyIncrementable O> @@ -1300,9 +1336,23 @@ template struct binary_transform_result { - I1 in1; - I2 in2; - O out; + [[no_unique_address]] I1 in1; + [[no_unique_address]] I2 in2; + [[no_unique_address]] O out; + + template + requires ConvertibleTo && + ConvertibleTo && ConvertibleTo + operator binary_transform_result() const & { + return {in1, in2, out}; + } + + template + requires ConvertibleTo && + ConvertibleTo && ConvertibleTo + operator binary_transform_result() && { + return {std::move(in1), std::move(in2), std::move(out)}; + } }; template S1, InputIterator I2, Sentinel S2, @@ -1341,12 +1391,12 @@ namespace ranges { template S, class T1, class T2, class Proj = identity> requires Writable && - IndirectRelation, projected, const T1*> + IndirectRelation, const T1*> constexpr I replace(I first, S last, const T1& old_value, const T2& new_value, Proj proj = {}); template requires Writable, const T2&> && - IndirectRelation, projected, Proj>, const T1*> + IndirectRelation, Proj>, const T1*> constexpr safe_iterator_t replace(R&& r, const T1& old_value, const T2& new_value, Proj proj = {}); template S, class T, class Proj = identity, @@ -1387,14 +1437,14 @@ template S, class T1, class T2, OutputIterator O, class Proj = identity> requires IndirectlyCopyable && - IndirectRelation, projected, const T1*> + IndirectRelation, const T1*> constexpr replace_copy_result replace_copy(I first, S last, O result, const T1& old_value, const T2& new_value, Proj proj = {}); template O, class Proj = identity> requires IndirectlyCopyable, O> && - IndirectRelation, projected, Proj>, const T1*> + IndirectRelation, Proj>, const T1*> constexpr replace_copy_result, O> replace_copy(R&& r, O result, const T1& old_value, const T2& new_value, Proj proj = {}); @@ -1482,11 +1532,11 @@ namespace ranges { template S, class T, class Proj = identity> - requires IndirectRelation, projected, const T*> + requires IndirectRelation, const T*> constexpr I remove(I first, S last, const T& value, Proj proj = {}); template requires Permutable> && - IndirectRelation, projected, Proj>, const T*> + IndirectRelation, Proj>, const T*> constexpr safe_iterator_t remove(R&& r, const T& value, Proj proj = {}); template S, class Proj = identity, @@ -1527,12 +1577,12 @@ template S, WeaklyIncrementable O, class T, class Proj = identity> requires IndirectlyCopyable && - IndirectRelation, projected, const T*> + IndirectRelation, const T*> constexpr remove_copy_result remove_copy(I first, S last, O result, const T& value, Proj proj = {}); template requires IndirectlyCopyable, O> && - IndirectRelation, projected, Proj>, const T*> + IndirectRelation, Proj>, const T*> constexpr remove_copy_result, O> remove_copy(R&& r, O result, const T& value, Proj proj = {}); @@ -1567,10 +1617,10 @@ namespace ranges { template S, class Proj = identity, - IndirectRelation> C = ranges::equal_to<>> + IndirectRelation> C = ranges::equal_to> constexpr I unique(I first, S last, C comp = {}, Proj proj = {}); template, Proj>> C = ranges::equal_to<>> + IndirectRelation, Proj>> C = ranges::equal_to> requires Permutable> constexpr safe_iterator_t unique(R&& r, C comp = {}, Proj proj = {}); @@ -1601,7 +1651,7 @@ using unique_copy_result = copy_result; template S, WeaklyIncrementable O, - class Proj = identity, IndirectRelation> C = ranges::equal_to<>> + class Proj = identity, IndirectRelation> C = ranges::equal_to> requires IndirectlyCopyable && (ForwardIterator || (InputIterator && Same, iter_value_t>) || @@ -1609,7 +1659,7 @@ constexpr unique_copy_result unique_copy(I first, S last, O result, C comp = {}, Proj proj = {}); template, Proj>> C = ranges::equal_to<>> + IndirectRelation, Proj>> C = ranges::equal_to> requires IndirectlyCopyable, O> && (ForwardIterator> || (InputIterator && Same>, iter_value_t>) || @@ -1763,12 +1813,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I sort(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t sort(R&& r, Comp comp = {}, Proj proj = {}); @@ -1788,11 +1838,11 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable I stable_sort(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> safe_iterator_t stable_sort(R&& r, Comp comp = {}, Proj proj = {}); @@ -1818,12 +1868,12 @@ RandomAccessIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I partial_sort(I first, I middle, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t partial_sort(R&& r, iterator_t middle, Comp comp = {}, @@ -1858,13 +1908,13 @@ namespace ranges { template S1, RandomAccessIterator I2, Sentinel S2, - class Comp = ranges::less<>, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires IndirectlyCopyable && Sortable && IndirectStrictWeakOrder, projected> constexpr I2 partial_sort_copy(I1 first, S1 last, I2 result_first, S2 result_last, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires IndirectlyCopyable, iterator_t> && Sortable, Comp, Proj2> && @@ -1890,10 +1940,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr bool is_sorted(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr bool is_sorted(R&& r, Comp comp = {}, Proj proj = {}); } @@ -1916,10 +1966,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I is_sorted_until(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr safe_iterator_t is_sorted_until(R&& r, Comp comp = {}, Proj proj = {}); } @@ -1941,12 +1991,12 @@ RandomAccessIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I nth_element(I first, I nth, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t nth_element(R&& r, iterator_t nth, Comp comp = {}, Proj proj = {}); @@ -1964,12 +2014,12 @@ namespace ranges { template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I lower_bound(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = - ranges::less<>> + ranges::less> constexpr safe_iterator_t lower_bound(R&& r, const T& value, Comp comp = {}, Proj proj = {}); } @@ -1985,11 +2035,11 @@ namespace ranges { template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I upper_bound(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = - ranges::less<>> + ranges::less> constexpr safe_iterator_t upper_bound(R&& r, const T& value, Comp comp = {}, Proj proj = {}); } @@ -2005,12 +2055,12 @@ namespace ranges { template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr subrange equal_range(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = - ranges::less<>> + ranges::less> constexpr safe_subrange_t equal_range(R&& r, const T& value, Comp comp = {}, Proj proj = {}); } @@ -2026,12 +2076,12 @@ namespace ranges { template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr bool binary_search(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = - ranges::less<>> + ranges::less> constexpr bool binary_search(R&& r, const T& value, Comp comp = {}, Proj proj = {}); } @@ -2112,9 +2162,23 @@ namespace ranges { template struct partition_copy_result { - I in; - O1 out1; - O2 out2; + [[no_unique_address]] I in; + [[no_unique_address]] O1 out1; + [[no_unique_address]] O2 out2; + + template + requires ConvertibleTo && + ConvertibleTo && ConvertibleTo + operator partition_copy_result() const & { + return {in, out1, out2}; + } + + template + requires ConvertibleTo && + ConvertibleTo && ConvertibleTo + operator partition_copy_result() && { + return {std::move(in), std::move(out1), std::move(out2)}; + } }; template S, WeaklyIncrementable O1, WeaklyIncrementable O2, @@ -2179,13 +2243,13 @@ using merge_result = binary_transform_result; template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, class Proj1 = identity, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr merge_result merge(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr merge_result, safe_iterator_t, O> @@ -2213,11 +2277,11 @@ BidirectionalIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable I inplace_merge(I first, I middle, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> safe_iterator_t inplace_merge(R&& r, iterator_t middle, Comp comp = {}, @@ -2247,13 +2311,13 @@ template S1, InputIterator I2, Sentinel S2, class Proj1 = identity, class Proj2 = identity, IndirectStrictWeakOrder, projected> Comp = - ranges::less<>> + ranges::less> constexpr bool includes(I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, Proj1>, - projected, Proj2>> Comp = ranges::less<>> + projected, Proj2>> Comp = ranges::less> constexpr bool includes(R1&& r1, R2&& r2, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); } @@ -2288,14 +2352,14 @@ using set_union_result = binary_transform_result; template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr set_union_result set_union(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr set_union_result, safe_iterator_t, O> set_union(R1&& r1, R2&& r2, O result, Comp comp = {}, @@ -2332,14 +2396,14 @@ using set_intersection_result = binary_transform_result; template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr set_intersection_result set_intersection(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr set_intersection_result, safe_iterator_t, O> set_intersection(R1&& r1, R2&& r2, O result, @@ -2376,14 +2440,14 @@ using set_difference_result = copy_result; template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr set_difference_result set_difference(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr set_difference_result, O> set_difference(R1&& r1, R2&& r2, O result, @@ -2420,7 +2484,7 @@ using set_symmetric_difference_result = binary_transform_result; template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr set_symmetric_difference_result @@ -2428,7 +2492,7 @@ Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr set_symmetric_difference_result, safe_iterator_t, O> set_symmetric_difference(R1&& r1, R2&& r2, O result, Comp comp = {}, @@ -2443,12 +2507,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I push_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t push_heap(R&& r, Comp comp = {}, Proj proj = {}); @@ -2461,12 +2525,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I pop_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t pop_heap(R&& r, Comp comp = {}, Proj proj = {}); @@ -2479,12 +2543,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I make_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t make_heap(R&& r, Comp comp = {}, Proj proj = {}); @@ -2497,12 +2561,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I sort_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t sort_heap(R&& r, Comp comp = {}, Proj proj = {}); @@ -2523,10 +2587,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr bool is_heap(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr bool is_heap(R&& r, Comp comp = {}, Proj proj = {}); } @@ -2549,10 +2613,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I is_heap_until(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr safe_iterator_t is_heap_until(R&& r, Comp comp = {}, Proj proj = {}); } @@ -2568,13 +2632,13 @@ namespace ranges { template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr const T& min(const T& a, const T& b, Comp comp = {}, Proj proj = {}); template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr T min(initializer_list r, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> requires IndirectlyCopyableStorable, iter_value_t>*> constexpr iter_value_t> min(R&& r, Comp comp = {}, Proj proj = {}); @@ -2590,13 +2654,13 @@ namespace ranges { template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr const T& max(const T& a, const T& b, Comp comp = {}, Proj proj = {}); template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr T max(initializer_list r, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> requires IndirectlyCopyableStorable, iter_value_t>*> constexpr iter_value_t> max(R&& r, Comp comp = {}, Proj proj = {}); @@ -2613,20 +2677,32 @@ namespace ranges { template struct minmax_result { - T min; - T max; + [[no_unique_address]] T min; + [[no_unique_address]] T max; + + template + requires ConvertibleTo + operator minmax_result() const & { + return {min, max}; + } + + template + requires ConvertibleTo + operator minmax_result() && { + return {std::move(min), std::move(max)}; + } }; template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr minmax_result minmax(const T& a, const T& b, Comp comp = {}, Proj proj = {}); template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr minmax_result minmax(initializer_list r, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> requires IndirectlyCopyableStorable, iter_value_t>*> constexpr minmax_result>> minmax(R&& r, Comp comp = {}, Proj proj = {}); @@ -2647,10 +2723,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I min_element(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr safe_iterator_t min_element(R&& r, Comp comp = {}, Proj proj = {}); } @@ -2670,10 +2746,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I max_element(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr safe_iterator_t max_element(R&& r, Comp comp = {}, Proj proj = {}); } @@ -2698,11 +2774,11 @@ using minmax_element_result = minmax_result; template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr minmax_element_result minmax_element(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr minmax_element_result> minmax_element(R&& r, Comp comp = {}, Proj proj = {}); } @@ -2740,14 +2816,14 @@ template S1, InputIterator I2, Sentinel S2, class Proj1 = identity, class Proj2 = identity, IndirectStrictWeakOrder, projected> Comp = - ranges::less<>> + ranges::less> constexpr bool lexicographical_compare(I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, Proj1>, - projected, Proj2>> Comp = ranges::less<>> + projected, Proj2>> Comp = ranges::less> constexpr bool lexicographical_compare(R1&& r1, R2&& r2, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); @@ -2776,12 +2852,12 @@ BidirectionalIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr bool next_permutation(I first, S last, Comp comp = {}, Proj proj = {}); - template, + template requires Sortable, Comp, Proj> constexpr bool @@ -2796,12 +2872,12 @@ BidirectionalIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr bool prev_permutation(I first, S last, Comp comp = {}, Proj proj = {}); - template, + template requires Sortable, Comp, Proj> constexpr bool @@ -3148,10 +3224,10 @@ namespace ranges { template S, class T, class Proj = identity> - requires IndirectRelation, projected, const T*> + requires IndirectRelation, const T*> constexpr I find(I first, S last, const T& value, Proj proj = {}); template - requires IndirectRelation, projected, Proj>, const T*> + requires IndirectRelation, Proj>, const T*> constexpr safe_iterator_t find(R&& r, const T& value, Proj proj = {}); template S, class Proj = identity, @@ -3225,13 +3301,13 @@ namespace ranges { template S1, ForwardIterator I2, Sentinel S2, - class Pred = ranges::equal_to<>, class Proj1 = identity, class Proj2 = identity> + class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable constexpr subrange find_end(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> constexpr safe_subrange_t find_end(R1&& r1, R2&& r2, Pred pred = {}, @@ -3314,14 +3390,14 @@ template S1, ForwardIterator I2, Sentinel S2, class Proj1 = identity, class Proj2 = identity, IndirectRelation, - projected> Pred = ranges::equal_to<>> + projected> Pred = ranges::equal_to> constexpr I1 find_first_of(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, Proj1>, - projected, Proj2>> Pred = ranges::equal_to<>> + projected, Proj2>> Pred = ranges::equal_to> constexpr safe_iterator_t find_first_of(R1&& r1, R2&& r2, Pred pred = {}, @@ -3381,11 +3457,11 @@ namespace ranges { template S, class Proj = identity, - IndirectRelation> Pred = ranges::equal_to<>> + IndirectRelation> Pred = ranges::equal_to> constexpr I adjacent_find(I first, S last, Pred pred = {}, Proj proj = {}); template, Proj>> Pred = ranges::equal_to<>> + IndirectRelation, Proj>> Pred = ranges::equal_to> constexpr safe_iterator_t adjacent_find(R&& r, Pred pred = {}, Proj proj = {}); } @@ -3442,11 +3518,11 @@ namespace ranges { template S, class T, class Proj = identity> - requires IndirectRelation, projected, const T*> + requires IndirectRelation, const T*> constexpr iter_difference_t count(I first, S last, const T& value, Proj proj = {}); template - requires IndirectRelation, projected, Proj>, const T*> + requires IndirectRelation, Proj>, const T*> constexpr iter_difference_t> count(R&& r, const T& value, Proj proj = {}); template S, class Proj = identity, @@ -3543,14 +3619,14 @@ template S1, InputIterator I2, Sentinel S2, class Proj1 = identity, class Proj2 = identity, IndirectRelation, - projected> Pred = ranges::equal_to<>> + projected> Pred = ranges::equal_to> constexpr mismatch_result mismatch(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, Proj1>, - projected, Proj2>> Pred = ranges::equal_to<>> + projected, Proj2>> Pred = ranges::equal_to> constexpr mismatch_result, safe_iterator_t> mismatch(R1&& r1, R2&& r2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); @@ -3635,12 +3711,12 @@ namespace ranges { template S1, InputIterator I2, Sentinel S2, - class Pred = ranges::equal_to<>, class Proj1 = identity, class Proj2 = identity> + class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable constexpr bool equal(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> constexpr bool equal(R1&& r1, R2&& r2, Pred pred = {}, @@ -3768,13 +3844,13 @@ \begin{itemdecl} namespace ranges { template S1, ForwardIterator I2, - Sentinel S2, class Pred = ranges::equal_to<>, class Proj1 = identity, + Sentinel S2, class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable constexpr bool is_permutation(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> constexpr bool is_permutation(R1&& r1, R2&& r2, Pred pred = {}, @@ -3858,13 +3934,13 @@ \begin{itemdecl} namespace ranges { template S1, ForwardIterator I2, - Sentinel S2, class Pred = ranges::equal_to<>, + Sentinel S2, class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> requires IndirectlyComparable constexpr subrange search(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> constexpr safe_subrange_t @@ -3948,12 +4024,12 @@ \begin{itemdecl} namespace ranges { template S, class T, - class Pred = ranges::equal_to<>, class Proj = identity> + class Pred = ranges::equal_to, class Proj = identity> requires IndirectlyComparable constexpr subrange search_n(I first, S last, iter_difference_t count, const T& value, Pred pred = {}, Proj proj = {}); - template, + template requires IndirectlyComparable, const T*, Pred, Proj> constexpr safe_subrange_t @@ -4649,12 +4725,12 @@ namespace ranges { template S, class T1, class T2, class Proj = identity> requires Writable && - IndirectRelation, projected, const T1*> + IndirectRelation, const T1*> constexpr I replace(I first, S last, const T1& old_value, const T2& new_value, Proj proj = {}); template requires Writable, const T2&> && - IndirectRelation, projected, Proj>, const T1*> + IndirectRelation, Proj>, const T1*> constexpr safe_iterator_t replace(R&& r, const T1& old_value, const T2& new_value, Proj proj = {}); template S, class T, class Proj = identity, @@ -4731,14 +4807,14 @@ template S, class T1, class T2, OutputIterator O, class Proj = identity> requires IndirectlyCopyable && - IndirectRelation, projected, const T1*> + IndirectRelation, const T1*> constexpr replace_copy_result replace_copy(I first, S last, O result, const T1& old_value, const T2& new_value, Proj proj = {}); template O, class Proj = identity> requires IndirectlyCopyable, O> && - IndirectRelation, projected, Proj>, const T1*> + IndirectRelation, Proj>, const T1*> constexpr replace_copy_result, O> replace_copy(R&& r, O result, const T1& old_value, const T2& new_value, Proj proj = {}); @@ -4938,11 +5014,11 @@ namespace ranges { template S, class T, class Proj = identity> - requires IndirectRelation, projected, const T*> + requires IndirectRelation, const T*> constexpr I remove(I first, S last, const T& value, Proj proj = {}); template requires Permutable> && - IndirectRelation, projected, Proj>, const T*> + IndirectRelation, Proj>, const T*> constexpr safe_iterator_t remove(R&& r, const T& value, Proj proj = {}); template S, class Proj = identity, @@ -5029,12 +5105,12 @@ template S, WeaklyIncrementable O, class T, class Proj = identity> requires IndirectlyCopyable && - IndirectRelation, projected, const T*> + IndirectRelation, const T*> constexpr remove_copy_result remove_copy(I first, S last, O result, const T& value, Proj proj = {}); template requires IndirectlyCopyable, O> && - IndirectRelation, projected, Proj>, const T*> + IndirectRelation, Proj>, const T*> constexpr remove_copy_result, O> remove_copy(R&& r, O result, const T& value, Proj proj = {}); template S, WeaklyIncrementable O, @@ -5117,10 +5193,10 @@ namespace ranges { template S, class Proj = identity, - IndirectRelation> C = ranges::equal_to<>> + IndirectRelation> C = ranges::equal_to> constexpr I unique(I first, S last, C comp = {}, Proj proj = {}); template, Proj>> C = ranges::equal_to<>> + IndirectRelation, Proj>> C = ranges::equal_to> requires Permutable> constexpr safe_iterator_t unique(R&& r, C comp = {}, Proj proj = {}); @@ -5193,7 +5269,7 @@ namespace ranges { template S, WeaklyIncrementable O, - class Proj = identity, IndirectRelation> C = ranges::equal_to<>> + class Proj = identity, IndirectRelation> C = ranges::equal_to> requires IndirectlyCopyable && (ForwardIterator || (InputIterator && Same, iter_value_t>) || @@ -5201,7 +5277,7 @@ constexpr unique_copy_result unique_copy(I first, S last, O result, C comp = {}, Proj proj = {}); template, Proj>> C = ranges::equal_to<>> + IndirectRelation, Proj>> C = ranges::equal_to> requires IndirectlyCopyable, O> && (ForwardIterator> || (InputIterator && Same>, iter_value_t>) || @@ -5830,12 +5906,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I sort(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t sort(R&& r, Comp comp = {}, Proj proj = {}); @@ -5891,11 +5967,11 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable I stable_sort(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> safe_iterator_t stable_sort(R&& r, Comp comp = {}, Proj proj = {}); @@ -5965,7 +6041,7 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I @@ -6011,7 +6087,7 @@ \begin{itemdecl} namespace ranges { - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t partial_sort(R&& r, iterator_t middle, Comp comp = {}, Proj proj = {}); @@ -6061,13 +6137,13 @@ namespace ranges { template S1, RandomAccessIterator I2, Sentinel S2, - class Comp = ranges::less<>, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires IndirectlyCopyable && Sortable && IndirectStrictWeakOrder, projected> constexpr I2 partial_sort_copy(I1 first, S1 last, I2 result_first, S2 result_last, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires IndirectlyCopyable, iterator_t> && Sortable, Comp, Proj2> && @@ -6195,10 +6271,10 @@ \begin{itemdecl} namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr bool is_sorted(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr bool is_sorted(R&& r, Comp comp = {}, Proj proj = {}); } \end{itemdecl} @@ -6232,10 +6308,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I is_sorted_until(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr safe_iterator_t is_sorted_until(R&& r, Comp comp = {}, Proj proj = {}); } @@ -6279,7 +6355,7 @@ RandomAccessIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I @@ -6327,7 +6403,7 @@ \begin{itemdecl} namespace ranges { - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t nth_element(R&& r, iterator_t nth, Comp comp = {}, Proj proj = {}); @@ -6373,12 +6449,12 @@ namespace ranges { template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I lower_bound(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = - ranges::less<>> + ranges::less> constexpr safe_iterator_t lower_bound(R&& r, const T& value, Comp comp = {}, Proj proj = {}); } @@ -6423,11 +6499,11 @@ namespace ranges { template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I upper_bound(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = - ranges::less<>> + ranges::less> constexpr safe_iterator_t upper_bound(R&& r, const T& value, Comp comp = {}, Proj proj = {}); } @@ -6473,12 +6549,12 @@ namespace ranges { template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr subrange equal_range(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = - ranges::less<>> + ranges::less> constexpr safe_subrange_t equal_range(R&& r, const T& value, Comp comp = {}, Proj proj = {}); } @@ -6537,12 +6613,12 @@ namespace ranges { template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr bool binary_search(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = - ranges::less<>> + ranges::less> constexpr bool binary_search(R&& r, const T& value, Comp comp = {}, Proj proj = {}); } @@ -6890,13 +6966,13 @@ namespace ranges { template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, class Proj1 = identity, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr merge_result merge(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, + template requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr merge_result, safe_iterator_t, O> @@ -6982,7 +7058,7 @@ BidirectionalIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable I inplace_merge(I first, I middle, S last, Comp comp = {}, Proj proj = {}); @@ -7036,7 +7112,7 @@ \begin{itemdecl} namespace ranges { - template, class Proj = identity> + template requires Sortable, Comp, Proj> safe_iterator_t inplace_merge(R&& r, iterator_t middle, Comp comp = {}, Proj proj = {}); @@ -7089,13 +7165,13 @@ template S1, InputIterator I2, Sentinel S2, class Proj1 = identity, class Proj2 = identity, IndirectStrictWeakOrder, - projected> Comp = ranges::less<>> + projected> Comp = ranges::less> constexpr bool includes(I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, Proj1>, - projected, Proj2>> Comp = ranges::less<>> + projected, Proj2>> Comp = ranges::less> constexpr bool includes(R1&& r1, R2&& r2, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); } @@ -7163,14 +7239,14 @@ namespace ranges { template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr set_union_result set_union(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr set_union_result, safe_iterator_t, O> set_union(R1&& r1, R2&& r2, O result, Comp comp = {}, @@ -7260,14 +7336,14 @@ namespace ranges { template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr set_intersection_result set_intersection(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr set_intersection_result, safe_iterator_t, O> set_intersection(R1&& r1, R2&& r2, O result, @@ -7355,14 +7431,14 @@ namespace ranges { template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr set_difference_result set_difference(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr set_difference_result, O> set_difference(R1&& r1, R2&& r2, O result, @@ -7451,7 +7527,7 @@ namespace ranges { template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less<>, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable constexpr set_symmetric_difference_result @@ -7459,7 +7535,7 @@ Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, class Proj1 = identity, class Proj2 = identity> + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> constexpr set_symmetric_difference_result, safe_iterator_t, O> set_symmetric_difference(R1&& r1, R2&& r2, O result, Comp comp = {}, @@ -7559,12 +7635,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I push_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t push_heap(R&& r, Comp comp = {}, Proj proj = {}); @@ -7612,12 +7688,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I pop_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t pop_heap(R&& r, Comp comp = {}, Proj proj = {}); @@ -7672,12 +7748,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I make_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t make_heap(R&& r, Comp comp = {}, Proj proj = {}); @@ -7723,12 +7799,12 @@ Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr I sort_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, class Proj = identity> + template requires Sortable, Comp, Proj> constexpr safe_iterator_t sort_heap(R&& r, Comp comp = {}, Proj proj = {}); @@ -7831,10 +7907,10 @@ \begin{itemdecl} namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr bool is_heap(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr bool is_heap(R&& r, Comp comp = {}, Proj proj = {}); } \end{itemdecl} @@ -7868,10 +7944,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I is_heap_until(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr safe_iterator_t is_heap_until(R&& r, Comp comp = {}, Proj proj = {}); } @@ -7906,7 +7982,7 @@ namespace ranges { template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr const T& min(const T& a, const T& b, Comp comp = {}, Proj proj = {}); } \end{itemdecl} @@ -7942,10 +8018,10 @@ namespace ranges { template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr T min(initializer_list r, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> requires IndirectlyCopyableStorable, iter_value_t>*> constexpr iter_value_t> min(R&& r, Comp comp = {}, Proj proj = {}); @@ -7987,7 +8063,7 @@ namespace ranges { template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr const T& max(const T& a, const T& b, Comp comp = {}, Proj proj = {}); } \end{itemdecl} @@ -8023,10 +8099,10 @@ namespace ranges { template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr T max(initializer_list r, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> requires IndirectlyCopyableStorable, iter_value_t>*> constexpr iter_value_t> max(R&& r, Comp comp = {}, Proj proj = {}); @@ -8068,7 +8144,7 @@ namespace ranges { template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr minmax_result minmax(const T& a, const T& b, Comp comp = {}, Proj proj = {}); } @@ -8106,11 +8182,11 @@ namespace ranges { template> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr minmax_result minmax(initializer_list r, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> requires IndirectlyCopyableStorable, iter_value_t>*> constexpr minmax_result>> minmax(R&& r, Comp comp = {}, Proj proj = {}); @@ -8165,10 +8241,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I min_element(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr safe_iterator_t min_element(R&& r, Comp comp = {}, Proj proj = {}); } @@ -8214,10 +8290,10 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr I max_element(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr safe_iterator_t max_element(R&& r, Comp comp = {}, Proj proj = {}); } @@ -8265,11 +8341,11 @@ namespace ranges { template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less<>> + IndirectStrictWeakOrder> Comp = ranges::less> constexpr minmax_result minmax_element(I first, S last, Comp comp = {}, Proj proj = {}); template, Proj>> Comp = ranges::less<>> + IndirectStrictWeakOrder, Proj>> Comp = ranges::less> constexpr minmax_result> minmax_element(R&& r, Comp comp = {}, Proj proj = {}); } @@ -8357,14 +8433,14 @@ template S1, InputIterator I2, Sentinel S2, class Proj1 = identity, class Proj2 = identity, IndirectStrictWeakOrder, - projected> Comp = ranges::less<>> + projected> Comp = ranges::less> constexpr bool lexicographical_compare(I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); template, Proj1>, - projected, Proj2>> Comp = ranges::less<>> + projected, Proj2>> Comp = ranges::less> constexpr bool lexicographical_compare(R1&& r1, R2&& r2, Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); @@ -8512,12 +8588,12 @@ BidirectionalIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr bool next_permutation(I first, S last, Comp comp = {}, Proj proj = {}); - template, + template requires Sortable, Comp, Proj> constexpr bool @@ -8567,12 +8643,12 @@ BidirectionalIterator last, Compare comp); namespace ranges { - template S, class Comp = ranges::less<>, + template S, class Comp = ranges::less, class Proj = identity> requires Sortable constexpr bool prev_permutation(I first, S last, Comp comp = {}, Proj proj = {}); - template, + template requires Sortable, Comp, Proj> constexpr bool diff --git a/source/future.tex b/source/future.tex index dd1deff5ed..ad16437031 100644 --- a/source/future.tex +++ b/source/future.tex @@ -1515,6 +1515,32 @@ \end{codeblock} \end{example} +\rSec1[depr.move.iter.elem]{Deprecated \tcode{move_iterator} access} + +\pnum +The following member is declared in addition to those members +specified in \ref{move.iter.elem}: + +\begin{codeblock} +namespace std { + template + class move_iterator { + public: + constexpr pointer operator->() const; + }; +} +\end{codeblock} + +\indexlibrarymember{operator->}{move_iterator}% +\begin{itemdecl} +constexpr pointer operator->() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns \tcode{current}. +\end{itemdescr} + \rSec1[depr.util.smartptr.shared.atomic]{Deprecated \tcode{shared_ptr} atomic access} \pnum diff --git a/source/iterators.tex b/source/iterators.tex index 6520a88bad..dd03d00a5d 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -197,11 +197,11 @@ // \ref{alg.req.mergeable}, concept \tcode{Mergeable} template, class P1 = identity, class P2 = identity> + class R = ranges::less, class P1 = identity, class P2 = identity> concept Mergeable = @\seebelow@; // \ref{alg.req.sortable}, concept \tcode{Sortable} - template, class P = identity> + template concept Sortable = @\seebelow@; // \ref{iterator.primitives}, primitives @@ -2277,7 +2277,7 @@ \pnum \begin{note} -The \tcode{ranges::less<>} function object type +The \tcode{ranges::less} function object type used in the concepts below imposes constraints on the concepts' arguments in addition to those that appear in the concepts' bodies\iref{range.cmp}. \end{note} @@ -2428,7 +2428,7 @@ \indexlibrary{\idxcode{Mergeable}}% \begin{codeblock} -template, +template concept Mergeable = InputIterator && @@ -2447,7 +2447,7 @@ \indexlibrary{\idxcode{Sortable}}% \begin{codeblock} -template, class P = identity> +template concept Sortable = Permutable && IndirectStrictWeakOrder>; @@ -3909,7 +3909,6 @@ constexpr iterator_type base() const; constexpr reference operator*() const; - constexpr pointer operator->() const; constexpr move_iterator& operator++(); constexpr auto operator++(int); @@ -4062,16 +4061,6 @@ \effects Equivalent to: \tcode{return ranges::iter_move(current);} \end{itemdescr} -\indexlibrarymember{operator->}{move_iterator}% -\begin{itemdecl} -constexpr pointer operator->() const; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\returns \tcode{current}. -\end{itemdescr} - \indexlibrarymember{operator[]}{move_iterator}% \begin{itemdecl} constexpr reference operator[](difference_type n) const; diff --git a/source/lib-intro.tex b/source/lib-intro.tex index 4e0ce002fa..02141c4041 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -338,7 +338,7 @@ \begin{example} \begin{codeblock} std::pair pairs[] = {{2, "foo"}, {1, "bar"}, {0, "baz"}}; -std::ranges::sort(pairs, std::ranges::less<>{}, [](auto const& p) { return p.first; }); +std::ranges::sort(pairs, std::ranges::less{}, [](auto const& p) { return p.first; }); \end{codeblock} sorts the pairs in increasing order of their \tcode{first} members: \begin{codeblock} diff --git a/source/ranges.tex b/source/ranges.tex index d694a9cae8..a0bd343dea 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -53,9 +53,6 @@ template using sentinel_t = decltype(ranges::end(declval())); - template<@\placeholder{forwarding-range}@ R> - using safe_iterator_t = iterator_t; - template concept Range = @\seebelow@; @@ -112,8 +109,15 @@ requires (K == subrange_kind::sized || !SizedSentinel) class subrange; - template<@\placeholder{forwarding-range}@ R> - using safe_subrange_t = subrange>; + // \ref{range.dangling}, dangling iterator handling + struct dangling; + + template + using safe_iterator_t = conditional_t<@\placeholder{forwarding-range}@, iterator_t, dangling>; + + template + using safe_subrange_t = + conditional_t<@\placeholder{forwarding-range}@, subrange>, dangling>; // \ref{range.empty}, empty view template @@ -180,7 +184,7 @@ template requires View && View && - IndirectlyComparable, iterator_t, ranges::equal_to<>> && + IndirectlyComparable, iterator_t, ranges::equal_to> && (ForwardRange || @\placeholder{tiny-range}@) class split_view; @@ -1440,6 +1444,48 @@ \end{codeblock} \end{itemdescr} +\rSec2[range.dangling]{Dangling iterator handling} + +\pnum +The tag type \tcode{dangling} is used together +with the template aliases \tcode{safe_iterator_t} and \tcode{safe_subrange_t} +to indicate that an algorithm +that typically returns an iterator into or subrange of a \tcode{Range} argument +does not return an iterator or subrange +which could potentially reference a range +whose lifetime has ended for a particular rvalue \tcode{Range} argument +which does not model \tcode{\placeholder{forwarding-range}}\iref{range.range}. +\begin{codeblock} +namespace std { + struct dangling { + constexpr dangling() noexcept = default; + template + constexpr dangling(Args&&...) noexcept { } + }; +} +\end{codeblock} + +\pnum +\begin{example} +\begin{codeblock} +vector f(); +auto result1 = ranges::find(f(), 42); // \#1 +static_assert(Same); +auto vec = f(); +auto result2 = ranges::find(vec, 42); // \#2 +static_assert(Same::iterator>); +auto result3 = ranges::find(subrange{vec}, 42); // \#3 +static_assert(Same::iterator>); +\end{codeblock} +The call to \tcode{ranges::find} at \#1 returns \tcode{dangling} +since \tcode{f()} is an rvalue \tcode{vector}; +the \tcode{vector} could potentially be destroyed +before a returned iterator is dereferenced. +However, the calls at \#2 and \#3 both return iterators +since the lvalue \tcode{vec} and specializations of \tcode{subrange} +model \tcode{\placeholder{forwarding-range}}. +\end{example} + \rSec1[range.factories]{Range factories} \pnum @@ -2347,28 +2393,28 @@ \item \tcode{\placeholdernc{decay-copy}(E)} if the decayed type of \tcode{E} models \libconcept{View}. -\item Otherwise, \tcode{\placeholder{ref-view}\{E\}} if that -expression is well-formed, where \tcode{\placeholder{ref-view}} -is the exposition-only \libconcept{View} specified below. +\item Otherwise, \tcode{ref_view\{E\}} if that expression is well-formed. \item Otherwise, \tcode{subrange\{E\}}. \end{itemize} -\rSec3[range.view.ref]{\placeholder{ref-view}} +\rSec3[range.ref.view]{Class template \tcode{ref_view}} +\pnum +\tcode{ref_view} is a \tcode{View} of the elements of some other \tcode{Range}. \begin{codeblock} namespace std::ranges { template requires is_object_v - class @\placeholder{ref-view}@ : public view_interface<@\placeholder{ref-view}@> { + class ref_view : public view_interface> { private: R* r_ = nullptr; // \expos public: - constexpr @\placeholdernc{ref-view}@() noexcept = default; + constexpr ref_view() noexcept = default; - template<@\placeholder{not-same-as}@<@\placeholder{ref-view}@> T> + template<@\placeholder{not-same-as}@ T> requires @\seebelow@ - constexpr @\placeholder{ref-view}@(T&& t); + constexpr ref_view(T&& t); constexpr R& base() const { return *r_; } @@ -2385,22 +2431,22 @@ constexpr auto data() const requires ContiguousRange { return ranges::data(*r_); } - friend constexpr iterator_t begin(@\placeholder{ref-view}@ r) + friend constexpr iterator_t begin(ref_view r) { return r.begin(); } - friend constexpr sentinel_t end(@\placeholder{ref-view}@ r) + friend constexpr sentinel_t end(ref_view r) { return r.end(); } }; template - @\placeholder{ref-view}@(R&) -> @\placeholder{ref-view}@; + ref_view(R&) -> ref_view; } \end{codeblock} -\indexlibrary{\idxcode{\placeholder{ref-view}}!\idxcode{\placeholder{ref-view}}}% +\indexlibrary{\idxcode{ref_view}}% \begin{itemdecl} -template<@\placeholder{not-same-as}@<@\placeholder{ref-view}@> T> +template<@\placeholder{not-same-as}@ T> requires @\seebelow@ -constexpr @\placeholder{ref-view}@(T&& t); +constexpr ref_view(T&& t); \end{itemdecl} \begin{itemdescr} @@ -4308,7 +4354,7 @@ template requires View && View && - IndirectlyComparable, iterator_t, ranges::equal_to<>> && + IndirectlyComparable, iterator_t, ranges::equal_to> && (ForwardRange || @\placeholdernc{tiny-range}@) class split_view : public view_interface> { private: @@ -5113,5 +5159,32 @@ The name \tcode{view::reverse} denotes a range adaptor object\iref{range.adaptor.object}. For some subexpression \tcode{E}, the expression -\tcode{view::reverse(E)} is expression-equivalent to -\tcode{reverse_view\{E\}}. +\tcode{view::reverse(E)} is expression-equivalent to: +\begin{itemize} +\item + If the type of \tcode{E} is + a (possibly cv-qualified) specialization of \tcode{reverse_view}, + equivalent to \tcode{E.base()}. +\item + Otherwise, if the type of \tcode{E} is cv-qualified +\begin{codeblock} +subrange, reverse_iterator, K> +\end{codeblock} + for some iterator type \tcode{I} and + value \tcode{K} of type \tcode{subrange_kind}, + \begin{itemize} + \item + if \tcode{K} is \tcode{subrange_kind::sized}, equivalent to: +\begin{codeblock} +subrange(E.end().base(), E.begin().base(), E.size()) +\end{codeblock} + \item + otherwise, equivalent to: +\begin{codeblock} +subrange(E.end().base(), E.begin().base()) +\end{codeblock} + \end{itemize} + However, in either case \tcode{E} is evaluated only once. +\item + Otherwise, equivalent to \tcode{reverse_view\{E\}}. +\end{itemize} diff --git a/source/utilities.tex b/source/utilities.tex index bcec48b727..212daad266 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -13914,36 +13914,12 @@ namespace ranges { // \ref{range.cmp}, concept-constrained comparisons - template - requires @\seebelow@ struct equal_to; - - template - requires @\seebelow@ struct not_equal_to; - - template - requires @\seebelow@ struct greater; - - template - requires @\seebelow@ struct less; - - template - requires @\seebelow@ struct greater_equal; - - template - requires @\seebelow@ struct less_equal; - - template<> struct equal_to; - template<> struct not_equal_to; - template<> struct greater; - template<> struct less; - template<> struct greater_equal; - template<> struct less_equal; } } \end{codeblock} @@ -14814,97 +14790,7 @@ \indexlibrary{\idxcode{equal_to}}% \begin{itemdecl} -template - requires EqualityComparable || Same || @\placeholdernc{BUILTIN_PTR_CMP}@(const T&, ==, const T&) struct ranges::equal_to { - constexpr bool operator()(const T& x, const T& y) const; -}; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\tcode{operator()} has effects equivalent to: -\tcode{return ranges::equal_to<>\{\}(x, y);} -\end{itemdescr} - -\indexlibrary{\idxcode{not_equal_to}}% -\begin{itemdecl} -template - requires EqualityComparable || Same || @\placeholdernc{BUILTIN_PTR_CMP}@(const T&, ==, const T&) -struct ranges::not_equal_to { - constexpr bool operator()(const T& x, const T& y) const; -}; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\tcode{operator()} has effects equivalent to: -\tcode{return !ranges::equal_to<>\{\}(x, y);} -\end{itemdescr} - -\indexlibrary{\idxcode{greater}}% -\begin{itemdecl} -template - requires StrictTotallyOrdered || Same || @\placeholdernc{BUILTIN_PTR_CMP}@(const T&, <, const T&) -struct ranges::greater { - constexpr bool operator()(const T& x, const T& y) const; -}; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\tcode{operator()} has effects equivalent to: -\tcode{return ranges::less<>\{\}(y, x);} -\end{itemdescr} - -\indexlibrary{\idxcode{less}}% -\begin{itemdecl} -template - requires StrictTotallyOrdered || Same || @\placeholdernc{BUILTIN_PTR_CMP}@(const T&, <, const T&) -struct ranges::less { - constexpr bool operator()(const T& x, const T& y) const; -}; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\tcode{operator()} has effects equivalent to: -\tcode{return ranges::less<>\{\}(x, y);} -\end{itemdescr} - -\indexlibrary{\idxcode{greater_equal}}% -\begin{itemdecl} -template - requires StrictTotallyOrdered || Same || @\placeholdernc{BUILTIN_PTR_CMP}@(const T&, <, const T&) -struct ranges::greater_equal { - constexpr bool operator()(const T& x, const T& y) const; -}; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\tcode{operator()} has effects equivalent to: -\tcode{return !ranges::less<>\{\}(x, y);} -\end{itemdescr} - -\indexlibrary{\idxcode{less_equal}}% -\begin{itemdecl} -template - requires StrictTotallyOrdered || Same || @\placeholdernc{BUILTIN_PTR_CMP}@(const T&, <, const T&) -struct ranges::less_equal { - constexpr bool operator()(const T& x, const T& y) const; -}; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\tcode{operator()} has effects equivalent to: -\tcode{return !ranges::less<>\{\}(y, x);} -\end{itemdescr} - -\indexlibrary{\idxcode{equal_to<>}}% -\begin{itemdecl} -template<> struct ranges::equal_to { template requires EqualityComparableWith || @\placeholdernc{BUILTIN_PTR_CMP}@(T, ==, U) constexpr bool operator()(T&& t, U&& u) const; @@ -14937,9 +14823,9 @@ \end{itemize} \end{itemdescr} -\indexlibrary{\idxcode{not_equal_to<>}}% +\indexlibrary{\idxcode{not_equal_to}}% \begin{itemdecl} -template<> struct ranges::not_equal_to { +struct ranges::not_equal_to { template requires EqualityComparableWith || @\placeholdernc{BUILTIN_PTR_CMP}@(T, ==, U) constexpr bool operator()(T&& t, U&& u) const; @@ -14952,13 +14838,13 @@ \pnum \tcode{operator()} has effects equivalent to: \begin{codeblock} -return !ranges::equal_to<>{}(std::forward(t), std::forward(u)); +return !ranges::equal_to{}(std::forward(t), std::forward(u)); \end{codeblock} \end{itemdescr} -\indexlibrary{\idxcode{greater<>}}% +\indexlibrary{\idxcode{greater}}% \begin{itemdecl} -template<> struct ranges::greater { +struct ranges::greater { template requires StrictTotallyOrderedWith || @\placeholdernc{BUILTIN_PTR_CMP}@(U, <, T) constexpr bool operator()(T&& t, U&& u) const; @@ -14971,13 +14857,13 @@ \pnum \tcode{operator()} has effects equivalent to: \begin{codeblock} -return ranges::less<>{}(std::forward(u), std::forward(t)); +return ranges::less{}(std::forward(u), std::forward(t)); \end{codeblock} \end{itemdescr} -\indexlibrary{\idxcode{less<>}}% +\indexlibrary{\idxcode{less}}% \begin{itemdecl} -template<> struct ranges::less { +struct ranges::less { template requires StrictTotallyOrderedWith || @\placeholdernc{BUILTIN_PTR_CMP}@(T, <, U) constexpr bool operator()(T&& t, U&& u) const; @@ -14995,9 +14881,9 @@ equality-preserving\iref{concepts.equality}. For any expressions \tcode{ET} and \tcode{EU} such that \tcode{decltype((ET))} is \tcode{T} and \tcode{decltype((EU))} is \tcode{U}, exactly one of -\tcode{ranges::less<>\{\}(ET, EU)}, -\tcode{ranges::less<>\{\}(EU, ET)}, or -\tcode{ranges::equal_to<>\{\}(ET, EU)} +\tcode{ranges::less\{\}(ET, EU)}, +\tcode{ranges::less\{\}(EU, ET)}, or +\tcode{ranges::equal_to\{\}(ET, EU)} shall be \tcode{true}. \pnum @@ -15010,16 +14896,15 @@ the implementation-defined strict total order over pointers of type \tcode{P} and otherwise \tcode{false}. - \item Otherwise, equivalent to: \tcode{return std::forward(t) < std::forward(u);} \end{itemize} \end{itemdescr} -\indexlibrary{\idxcode{greater_equal<>}}% +\indexlibrary{\idxcode{greater_equal}}% \begin{itemdecl} -template<> struct ranges::greater_equal { +struct ranges::greater_equal { template requires StrictTotallyOrderedWith || @\placeholdernc{BUILTIN_PTR_CMP}@(T, <, U) constexpr bool operator()(T&& t, U&& u) const; @@ -15032,13 +14917,13 @@ \pnum \tcode{operator()} has effects equivalent to: \begin{codeblock} -return !ranges::less<>{}(std::forward(t), std::forward(u)); +return !ranges::less{}(std::forward(t), std::forward(u)); \end{codeblock} \end{itemdescr} -\indexlibrary{\idxcode{less_equal<>}}% +\indexlibrary{\idxcode{less_equal}}% \begin{itemdecl} -template<> struct ranges::less_equal { +struct ranges::less_equal { template requires StrictTotallyOrderedWith || @\placeholdernc{BUILTIN_PTR_CMP}@(U, <, T) constexpr bool operator()(T&& t, U&& u) const; @@ -15051,7 +14936,7 @@ \pnum \tcode{operator()} has effects equivalent to: \begin{codeblock} -return !ranges::less<>{}(std::forward(u), std::forward(t)); +return !ranges::less{}(std::forward(u), std::forward(t)); \end{codeblock} \end{itemdescr} From 0b06fcd5f92bc0439a868471a5fdfdba8a181941 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 8 Mar 2019 22:12:14 +0100 Subject: [PATCH 103/148] [ranges.syn] Add ref_view to header synopsis. --- source/ranges.tex | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/ranges.tex b/source/ranges.tex index a0bd343dea..16cbefefd5 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -149,6 +149,10 @@ template using all_view = decltype(view::all(declval())); + template + requires is_object_v + class ref_view; + // \ref{range.filter}, filter view template> Pred> requires View && is_object_v From 3649f80e0d2354f1cc3d70006181f902a67aec80 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Thu, 28 Feb 2019 22:19:03 +0100 Subject: [PATCH 104/148] P1024R3 Usability Enhancements for std::span Moved the declaration of the undefined partial specialization tuple_size> to the header synopsis. Fixed missing I template parameter in definition of get. Replaced ptrdiff_t parameters with size_t parameters to match changes made by LWG Motion 15. --- source/containers.tex | 121 ++++++++++++++++++++++++++++++++++++++++-- source/utilities.tex | 6 ++- 2 files changed, 120 insertions(+), 7 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index 379bbcb61b..20434c9ed8 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -10292,6 +10292,18 @@ template span as_writable_bytes(span s) noexcept; + + // \ref{span.tuple}, tuple interface + template class tuple_size; + template class tuple_element; + template + struct tuple_size>; + template + struct tuple_size>; // not defined + template + struct tuple_element>; + template + constexpr ElementType& get(span) noexcept; } \end{codeblock} @@ -10377,11 +10389,12 @@ // \ref{span.obs}, observers constexpr index_type size() const noexcept; constexpr index_type size_bytes() const noexcept; - constexpr bool empty() const noexcept; + [[nodiscard]] constexpr bool empty() const noexcept; // \ref{span.elem}, element access constexpr reference operator[](index_type idx) const; - constexpr reference operator()(index_type idx) const; + constexpr reference front() const; + constexpr reference back() const; constexpr pointer data() const noexcept; // \ref{span.iterators}, iterator support @@ -10425,6 +10438,7 @@ \begin{itemdecl} constexpr span() noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \constraints @@ -10439,6 +10453,7 @@ \begin{itemdecl} constexpr span(pointer ptr, index_type count); \end{itemdecl} + \begin{itemdescr} \pnum \expects \range{ptr}{ptr + count} is a valid range. @@ -10462,6 +10477,7 @@ \begin{itemdecl} constexpr span(pointer first, pointer last); \end{itemdecl} + \begin{itemdescr} \pnum \expects @@ -10488,6 +10504,7 @@ template constexpr span(array& arr) noexcept; template constexpr span(const array& arr) noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \constraints @@ -10510,6 +10527,7 @@ template constexpr span(Container& cont); template constexpr span(const Container& cont); \end{itemdecl} + \begin{itemdescr} \pnum \constraints @@ -10543,6 +10561,7 @@ \begin{itemdecl} constexpr span(const span& other) noexcept = default; \end{itemdecl} + \begin{itemdescr} \pnum \ensures @@ -10554,6 +10573,7 @@ template constexpr span(const span& s) noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \constraints @@ -10576,6 +10596,7 @@ \begin{itemdecl} constexpr span& operator=(const span& other) noexcept = default; \end{itemdecl} + \begin{itemdescr} \pnum \ensures @@ -10588,6 +10609,7 @@ \begin{itemdecl} template constexpr span first() const; \end{itemdecl} + \begin{itemdescr} \pnum \expects @@ -10602,6 +10624,7 @@ \begin{itemdecl} template constexpr span last() const; \end{itemdecl} + \begin{itemdescr} \pnum \expects @@ -10617,6 +10640,7 @@ template constexpr span subspan() const; \end{itemdecl} + \begin{itemdescr} \pnum \expects @@ -10647,6 +10671,7 @@ \begin{itemdecl} constexpr span first(index_type count) const; \end{itemdecl} + \begin{itemdescr} \pnum \expects @@ -10661,6 +10686,7 @@ \begin{itemdecl} constexpr span last(index_type count) const; \end{itemdecl} + \begin{itemdescr} \pnum \expects @@ -10676,6 +10702,7 @@ constexpr span subspan( index_type offset, index_type count = dynamic_extent) const; \end{itemdecl} + \begin{itemdescr} \pnum \expects @@ -10698,6 +10725,7 @@ \begin{itemdecl} constexpr index_type size() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \effects @@ -10708,6 +10736,7 @@ \begin{itemdecl} constexpr index_type size_bytes() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \effects @@ -10716,8 +10745,9 @@ \indexlibrarymember{span}{empty}% \begin{itemdecl} -constexpr bool empty() const noexcept; +[[nodiscard]] constexpr bool empty() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \effects @@ -10727,11 +10757,10 @@ \rSec3[span.elem]{Element access} \indexlibrary{\idxcode{operator[]}!\idxcode{span}}% -\indexlibrary{\idxcode{operator()}!\idxcode{span}}% \begin{itemdecl} constexpr reference operator[](index_type idx) const; -constexpr reference operator()(index_type idx) const; \end{itemdecl} + \begin{itemdescr} \pnum \expects @@ -10742,10 +10771,41 @@ Equivalent to: \tcode{return *(data() + idx);} \end{itemdescr} +\indexlibrarymember{span}{front}% +\begin{itemdecl} +constexpr reference front() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\expects +\tcode{empty()} is \tcode{false}. + +\pnum +\effects +Equivalent to: \tcode{return *data();} +\end{itemdescr} + +\indexlibrarymember{span}{back}% +\begin{itemdecl} +constexpr reference back() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\expects +\tcode{empty()} is \tcode{false}. + +\pnum +\effects +Equivalent to: \tcode{return *(data() + (size() - 1));} +\end{itemdescr} + \indexlibrarymember{span}{data}% \begin{itemdecl} constexpr pointer data() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \effects @@ -10758,6 +10818,7 @@ \begin{itemdecl} constexpr iterator begin() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \returns @@ -10770,6 +10831,7 @@ \begin{itemdecl} constexpr iterator end() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \returns @@ -10780,6 +10842,7 @@ \begin{itemdecl} constexpr reverse_iterator rbegin() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \effects @@ -10790,6 +10853,7 @@ \begin{itemdecl} constexpr reverse_iterator rend() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \returns @@ -10800,6 +10864,7 @@ \begin{itemdecl} constexpr const_iterator cbegin() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \returns @@ -10812,6 +10877,7 @@ \begin{itemdecl} constexpr const_iterator cend() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \returns @@ -10822,6 +10888,7 @@ \begin{itemdecl} constexpr const_reverse_iterator crbegin() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \effects @@ -10832,6 +10899,7 @@ \begin{itemdecl} constexpr const_reverse_iterator crend() const noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \effects @@ -10847,6 +10915,7 @@ span as_bytes(span s) noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \effects @@ -10859,6 +10928,7 @@ span as_writable_bytes(span s) noexcept; \end{itemdecl} + \begin{itemdescr} \pnum \constraints @@ -10868,3 +10938,44 @@ \effects Equivalent to: \tcode{return \{reinterpret_cast(s.data()), s.size_bytes()\};} \end{itemdescr} + +\rSec3[span.tuple]{Tuple interface} + +\indexlibrary{\idxcode{tuple_size}}% +\begin{itemdecl} +template + struct tuple_size> + : integral_constant { }; +\end{itemdecl} + +\indexlibrary{\idxcode{tuple_element}}% +\begin{itemdecl} +tuple_element>::type +\end{itemdecl} + +\begin{itemdescr} +\pnum +\mandates +\tcode{Extent != dynamic_extent \&\& I < Extent} is \tcode{true}. + +\pnum +\cvalue +The type \tcode{ElementType}. +\end{itemdescr} + +\indexlibrary{\idxcode{get}}% +\begin{itemdecl} +template + constexpr ElementType& get(span s) noexcept; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\mandates +\tcode{Extent != dynamic_extent \&\& I < Extent} is \tcode{true}. + +\pnum +\returns +A reference to the $\tcode{I}^\text{th}$ element of \tcode{s}, +where indexing is zero-based. +\end{itemdescr} diff --git a/source/utilities.tex b/source/utilities.tex index 212daad266..a40e2ebeba 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -1850,7 +1850,8 @@ \pnum In addition to being available via inclusion of the \tcode{} header, the three templates are available -when any of the headers \tcode{}, \tcode{}, or \tcode{} +when any of the headers +\tcode{}, \tcode{}, \tcode{}, or \tcode{} are included. \end{itemdescr} @@ -1880,7 +1881,8 @@ \pnum In addition to being available via inclusion of the \tcode{} header, the three templates are available -when any of the headers \tcode{}, \tcode{}, or \tcode{} +when any of the headers +\tcode{}, \tcode{}, \tcode{}, or \tcode{} are included. \end{itemdescr} From 927dc13e1010e031692f3a94d8e9599beeb877ac Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 14 Mar 2019 17:22:07 -0700 Subject: [PATCH 105/148] [array.tuple] Fix broken description of tuple_element for std::array. --- source/containers.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/containers.tex b/source/containers.tex index 20434c9ed8..8e63326dac 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -3511,7 +3511,7 @@ \tcode{I < N} is \tcode{true}. \pnum -\value The type T. +\cvalue The type \tcode{T}. \end{itemdescr} \indexlibrarymember{array}{get}% From de5f9bb5660c2278fc089e01cc3bdc0fbd57cd6d Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Thu, 28 Feb 2019 15:40:13 +0100 Subject: [PATCH 106/148] P0920R2 Precalculated hash values in lookup --- source/containers.tex | 154 ++++++++++++++++++++++++++++++++++++++++-- source/support.tex | 2 + 2 files changed, 151 insertions(+), 5 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index 8e63326dac..62d4616c6f 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -2298,8 +2298,9 @@ \end{itemize} where \tcode{r1} and \tcode{r2} are keys of elements in \tcode{a_tran}, \item \tcode{n} denotes a value of type \tcode{size_type}, -\item \tcode{z} denotes a value of type \tcode{float}, and -\item \tcode{nh} denotes a non-const rvalue of type \tcode{X::node_type}. +\item \tcode{z} denotes a value of type \tcode{float}, +\item \tcode{nh} denotes a non-const rvalue of type \tcode{X::node_type}, and +\item \tcode{hk} and \tcode{hke} denote values of type \tcode{size_t}. \end{itemize} % Local command to index names as members of all unordered containers. @@ -2753,12 +2754,29 @@ & Average case \bigoh{1}, worst case \bigoh{\tcode{b.size()}}. \\ \rowsep % +\tcode{b.find(k, hk)} +& \tcode{iterator}; \br \tcode{const_iterator} for const \tcode{b}. +& \expects \tcode{b.hash_function()(k)} equals \tcode{hk}.\br + \returns An iterator pointing to an element with key equivalent to + \tcode{k}, or \tcode{b.end()} if no such element exists. +& Average case \bigoh{1}, worst case \bigoh{\tcode{b.size()}}. +\\ \rowsep +% \tcode{a_tran.find(ke)} & \tcode{iterator}; \br \tcode{const_iterator} for const \tcode{a_tran}. & \returns An iterator pointing to an element with key equivalent to \tcode{ke}, or \tcode{a_tran.end()} if no such element exists. & Average case \bigoh{1}, - worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid wverfull + worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull +\\ \rowsep +% +\tcode{a_tran.find(ke, hke)} +& \tcode{iterator}; \br \tcode{const_iterator} for const \tcode{a_tran}. +& \expects \tcode{a_tran.hash_function()(ke)} equals \tcode{hke}.\br + \returns An iterator pointing to an element with key equivalent to + \tcode{ke}, or \tcode{a_tran.end()} if no such element exists.% +& Average case \bigoh{1}, + worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull \\ \rowsep % \indexunordmem{count}% @@ -2768,6 +2786,13 @@ & Average case \bigoh{\tcode{b.count(k)}}, worst case \bigoh{\tcode{b.size()}}. \\ \rowsep % +\tcode{b.count(k, hk)} +& \tcode{size_type} +& \expects \tcode{b.hash_function()(k)} equals \tcode{hk}.\br + \returns The number of elements with key equivalent to \tcode{k}.% +& Average case \bigoh{\tcode{b.count(k)}}, worst case \bigoh{\tcode{b.size()}}. +\\ \rowsep +% \tcode{a_tran.count(ke)} & \tcode{size_type} & \returns The number of elements with key equivalent to \tcode{ke}.% @@ -2776,16 +2801,40 @@ worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull \\ \rowsep % +\tcode{a_tran.count(ke, hke)} +& \tcode{size_type} +& \expects \tcode{b.hash_function()(ke)} equals \tcode{hke}.\br + \returns The number of elements with key equivalent to \tcode{ke}.% +& Average case + \bigoh{\tcode{a_tran.}\br{}\tcode{count(ke)}}, % avoid overfull + worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull +\\ \rowsep +% \indexunordmem{contains}% \tcode{b.contains(k)} & \tcode{bool} -& Equivalent to \tcode{b.find(k) != b.end()}% +& \effects Equivalent to \tcode{b.find(k) != b.end()}% +& Average case \bigoh{1}, worst case \bigoh{\tcode{b.size()}}. +\\ \rowsep +% +\tcode{b.contains(k, hk)} +& \tcode{bool} +& \expects \tcode{b.hash_function()(ke)} equals \tcode{hke}.\br + \effects Equivalent to \tcode{b.find(k) != b.end()}% & Average case \bigoh{1}, worst case \bigoh{\tcode{b.size()}}. \\ \rowsep % \tcode{a_tran.contains(ke)} & \tcode{bool} -& Equivalent to \tcode{a_tran.find(ke) != a_tran.end()}% +& \effects Equivalent to \tcode{a_tran.find(ke) != a_tran.end()}% +& Average case \bigoh{1}, + worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull +\\ \rowsep +% +\tcode{a_tran.contains(ke, hke)} +& \tcode{bool} +& \expects \tcode{a_tran.hash_function()(ke)} equals \tcode{hke}.\br + \effects Equivalent to \tcode{a_tran.find(ke, hke) != a_tran.end()}% & Average case \bigoh{1}, worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull \\ \rowsep @@ -2801,6 +2850,17 @@ \bigoh{\tcode{b.size()}}. \\ \rowsep % +\tcode{b.equal_range(k, hk)} +& \tcode{pair}; \br + \tcode{pair} for const \tcode{b}. +& \expects \tcode{b.hash_function()(k)} equals \tcode{hk}.\br + \returns A range containing all elements with keys equivalent to + \tcode{k}. Returns \tcode{make_pair(b.end(), b.end())} if + no such elements exist.% +& Average case \bigoh{\tcode{b.count(k)}}. Worst case + \bigoh{\tcode{b.size()}}. +\\ \rowsep +% \tcode{a_tran.equal_range(ke)} & \tcode{pair}; \br \tcode{pair} for const \tcode{a_tran}. @@ -2811,6 +2871,18 @@ \bigoh{\tcode{a_tran.}\br{}\tcode{count(ke)}}. % avoid overfull Worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull \\ \rowsep +% +\tcode{a_tran.equal_range(ke, hke)} +& \tcode{pair}; \br + \tcode{pair} for const \tcode{a_tran}. +& \expects \tcode{a_tran.hash_function()(ke)} equals \tcode{hke}.\br + \returns A range containing all elements with keys equivalent to + \tcode{ke}. Returns \tcode{make_pair(a_tran.end(), a_tran.end())} if + no such elements exist.% +& Average case + \bigoh{\tcode{a_tran.}\br{}\tcode{count(ke)}}. % avoid overfull + Worst case \bigoh{\tcode{a_tran.}\br{}\tcode{size()}}. % avoid overfull +\\ \rowsep \indexunordmem{bucket_count}% \tcode{b.bucket_count()} & \tcode{size_type} @@ -7964,22 +8036,40 @@ // map operations iterator find(const key_type& k); const_iterator find(const key_type& k) const; + iterator find(const key_type& k, size_t hash); + const_iterator find(const key_type& k, size_t hash) const; template iterator find(const K& k); template const_iterator find(const K& k) const; + template + iterator find(const K& k, size_t hash); + template + const_iterator find(const K& k, size_t hash) const; size_type count(const key_type& k) const; + size_type count(const key_type& k, size_t hash) const; template size_type count(const K& k) const; + template + size_type count(const K& k, size_t hash) const; bool contains(const key_type& k) const; + bool contains(const key_type& k, size_t hash) const; template bool contains(const K& k) const; + template + bool contains(const K& k, size_t hash) const; pair equal_range(const key_type& k); pair equal_range(const key_type& k) const; + pair equal_range(const key_type& k, size_t hash); + pair equal_range(const key_type& k, size_t hash) const; template pair equal_range(const K& k); template pair equal_range(const K& k) const; + template + pair equal_range(const K& k, size_t hash); + template + pair equal_range(const K& k, size_t hash) const; // \ref{unord.map.elem}, element access mapped_type& operator[](const key_type& k); @@ -8534,22 +8624,40 @@ // map operations iterator find(const key_type& k); const_iterator find(const key_type& k) const; + iterator find(const key_type& k, size_t hash); + const_iterator find(const key_type& k, size_t hash) const; template iterator find(const K& k); template const_iterator find(const K& k) const; + template + iterator find(const K& k, size_t hash); + template + const_iterator find(const K& k, size_t hash) const; size_type count(const key_type& k) const; + size_type count(const key_type& k, size_t hash) const; template size_type count(const K& k) const; + template + size_type count(const K& k, size_t hash) const; bool contains(const key_type& k) const; + bool contains(const key_type& k, size_t hash) const; template bool contains(const K& k) const; + template + bool contains(const K& k, size_t hash) const; pair equal_range(const key_type& k); pair equal_range(const key_type& k) const; + pair equal_range(const key_type& k, size_t hash); + pair equal_range(const key_type& k, size_t hash) const; template pair equal_range(const K& k); template pair equal_range(const K& k) const; + template + pair equal_range(const K& k, size_t hash); + template + pair equal_range(const K& k, size_t hash) const; // bucket interface size_type bucket_count() const noexcept; @@ -8896,22 +9004,40 @@ // set operations iterator find(const key_type& k); const_iterator find(const key_type& k) const; + iterator find(const key_type& k, size_t hash); + const_iterator find(const key_type& k, size_t hash) const; template iterator find(const K& k); template const_iterator find(const K& k) const; + template + iterator find(const K& k, size_t hash); + template + const_iterator find(const K& k, size_t hash) const; size_type count(const key_type& k) const; + size_type count(const key_type& k, size_t hash) const; template size_type count(const K& k) const; + template + size_type count(const K& k, size_t hash) const; bool contains(const key_type& k) const; + bool contains(const key_type& k, size_t hash) const; template bool contains(const K& k) const; + template + bool contains(const K& k, size_t hash) const; pair equal_range(const key_type& k); pair equal_range(const key_type& k) const; + pair equal_range(const key_type& k, size_t hash); + pair equal_range(const key_type& k, size_t hash) const; template pair equal_range(const K& k); template pair equal_range(const K& k) const; + template + pair equal_range(const K& k, size_t hash); + template + pair equal_range(const K& k, size_t hash) const; // bucket interface size_type bucket_count() const noexcept; @@ -9220,22 +9346,40 @@ // set operations iterator find(const key_type& k); const_iterator find(const key_type& k) const; + iterator find(const key_type& k, size_t hash); + const_iterator find(const key_type& k, size_t hash) const; template iterator find(const K& k); template const_iterator find(const K& k) const; + template + iterator find(const K& k, size_t hash); + template + const_iterator find(const K& k, size_t hash) const; size_type count(const key_type& k) const; + size_type count(const key_type& k, size_t hash) const; template size_type count(const K& k) const; + template + size_type count(const K& k, size_t hash) const; bool contains(const key_type& k) const; + bool contains(const key_type& k, size_t hash) const; template bool contains(const K& k) const; + template + bool contains(const K& k, size_t hash) const; pair equal_range(const key_type& k); pair equal_range(const key_type& k) const; + pair equal_range(const key_type& k, size_t hash); + pair equal_range(const key_type& k, size_t hash) const; template pair equal_range(const K& k); template pair equal_range(const K& k) const; + template + pair equal_range(const K& k, size_t hash); + template + pair equal_range(const K& k, size_t hash) const; // bucket interface size_type bucket_count() const noexcept; diff --git a/source/support.tex b/source/support.tex index 0858b1fed9..dec92ca3d0 100644 --- a/source/support.tex +++ b/source/support.tex @@ -598,6 +598,8 @@ \tcode{} \tcode{} \\ \rowsep \defnlibxname{cpp_lib_generic_unordered_lookup} & \tcode{201811L} & \tcode{} \tcode{} \\ \rowsep +\defnlibxname{cpp_lib_generic_unordered_hash_lookup} & \tcode{201902L} & + \tcode{} \tcode{} \\ \rowsep \defnlibxname{cpp_lib_hardware_interference_size} & \tcode{201703L} & \tcode{} \\ \rowsep \defnlibxname{cpp_lib_has_unique_object_representations} & \tcode{201606L} & From d8a29dae22ab08c04d3379c7509ac190517b8374 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Wed, 27 Feb 2019 21:22:58 +0100 Subject: [PATCH 107/148] P1357R1 Traits for [Un]bounded Arrays --- source/support.tex | 2 ++ source/utilities.tex | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/source/support.tex b/source/support.tex index dec92ca3d0..1a58399d24 100644 --- a/source/support.tex +++ b/source/support.tex @@ -555,6 +555,8 @@ \tcode{} \\ \rowsep \defnlibxname{cpp_lib_bool_constant} & \tcode{201505L} & \tcode{} \\ \rowsep +\defnlibxname{cpp_lib_bounded_array_traits} & \tcode{201902L} & + \tcode{} \\ \rowsep \defnlibxname{cpp_lib_boyer_moore_searcher} & \tcode{201603L} & \tcode{} \\ \rowsep \defnlibxname{cpp_lib_byte} & \tcode{201603L} & diff --git a/source/utilities.tex b/source/utilities.tex index a40e2ebeba..ddb6aeb145 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16490,6 +16490,8 @@ template struct is_signed; template struct is_unsigned; + template struct is_bounded_array; + template struct is_unbounded_array; template struct is_constructible; template struct is_default_constructible; @@ -16734,6 +16736,10 @@ inline constexpr bool is_signed_v = is_signed::value; template inline constexpr bool is_unsigned_v = is_unsigned::value; + template + inline constexpr bool is_bounded_array_v = is_bounded_array::value; + template + inline constexpr bool is_unbounded_array_v = is_unbounded_array::value; template inline constexpr bool is_constructible_v = is_constructible::value; template @@ -17137,6 +17143,18 @@ \tcode{T(0) < T(-1)}; otherwise, \tcode{false} & \\ \rowsep +\indexlibrary{\idxcode{is_bounded_array}}% +\tcode{template}\br + \tcode{struct is_bounded_array;} & + \tcode{T} is an array type of known bound\iref{dcl.array} + & \\ \rowsep + +\indexlibrary{\idxcode{is_unbounded_array}}% +\tcode{template}\br + \tcode{struct is_unbounded_array;} & + \tcode{T} is an array type of unknown bound\iref{dcl.array} + & \\ \rowsep + \indexlibrary{\idxcode{is_constructible}}% \tcode{template}\br \tcode{struct is_constructible;} & From 8d238bd4e100495f032e9cca2a8f051797f0888f Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 14 Mar 2019 18:47:47 -0700 Subject: [PATCH 108/148] [lib] Remove space between 'template' and argument list. --- source/containers.tex | 160 +++++++++++++++++++++--------------------- source/iterators.tex | 4 +- source/strings.tex | 4 +- source/support.tex | 2 +- source/utilities.tex | 56 +++++++-------- 5 files changed, 113 insertions(+), 113 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index 62d4616c6f..e426993b61 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -3212,9 +3212,9 @@ void swap(deque& x, deque& y) noexcept(noexcept(x.swap(y))); - template + template void erase(deque& c, const U& value); - template + template void erase_if(deque& c, Predicate pred); namespace pmr { @@ -3252,9 +3252,9 @@ void swap(forward_list& x, forward_list& y) noexcept(noexcept(x.swap(y))); - template + template void erase(forward_list& c, const U& value); - template + template void erase_if(forward_list& c, Predicate pred); namespace pmr { @@ -3292,9 +3292,9 @@ void swap(list& x, list& y) noexcept(noexcept(x.swap(y))); - template + template void erase(list& c, const U& value); - template + template void erase_if(list& c, Predicate pred); namespace pmr { @@ -3332,9 +3332,9 @@ void swap(vector& x, vector& y) noexcept(noexcept(x.swap(y))); - template + template void erase(vector& c, const U& value); - template + template void erase_if(vector& c, Predicate pred); // \ref{vector.bool}, class \tcode{vector} @@ -3983,7 +3983,7 @@ \indexlibrary{\idxcode{erase}!\idxcode{deque}}% \begin{itemdecl} -template +template void erase(deque& c, const U& value); \end{itemdecl} @@ -3995,7 +3995,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{deque}}% \begin{itemdecl} -template +template void erase_if(deque& c, Predicate pred); \end{itemdecl} @@ -4693,7 +4693,7 @@ \indexlibrary{\idxcode{erase}!\idxcode{forward_list}}% \begin{itemdecl} -template +template void erase(forward_list& c, const U& value); \end{itemdecl} @@ -4705,7 +4705,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{forward_list}}% \begin{itemdecl} -template +template void erase_if(forward_list& c, Predicate pred); \end{itemdecl} @@ -5385,7 +5385,7 @@ \indexlibrary{\idxcode{erase}!\idxcode{list}}% \begin{itemdecl} -template +template void erase(list& c, const U& value); \end{itemdecl} @@ -5397,7 +5397,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{list}}% \begin{itemdecl} -template +template void erase_if(list& c, Predicate pred); \end{itemdecl} @@ -5902,7 +5902,7 @@ \indexlibrary{\idxcode{erase}!\idxcode{vector}}% \begin{itemdecl} -template +template void erase(vector& c, const U& value); \end{itemdecl} @@ -5914,7 +5914,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{vector}}% \begin{itemdecl} -template +template void erase_if(vector& c, Predicate pred); \end{itemdecl} @@ -6160,7 +6160,7 @@ map& y) noexcept(noexcept(x.swap(y))); - template + template void erase_if(map& c, Predicate pred); // \ref{multimap}, class template \tcode{multimap} @@ -6192,7 +6192,7 @@ multimap& y) noexcept(noexcept(x.swap(y))); - template + template void erase_if(multimap& c, Predicate pred); namespace pmr { @@ -6243,7 +6243,7 @@ set& y) noexcept(noexcept(x.swap(y))); - template + template void erase_if(set& c, Predicate pred); // \ref{multiset}, class template \tcode{multiset} @@ -6274,7 +6274,7 @@ multiset& y) noexcept(noexcept(x.swap(y))); - template + template void erase_if(multiset& c, Predicate pred); namespace pmr { @@ -6807,7 +6807,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{map}}% \begin{itemdecl} -template +template void erase_if(map& c, Predicate pred); \end{itemdecl} @@ -7130,7 +7130,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{multimap}}% \begin{itemdecl} -template +template void erase_if(multimap& c, Predicate pred); \end{itemdecl} @@ -7409,7 +7409,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{set}}% \begin{itemdecl} -template +template void erase_if(set& c, Predicate pred); \end{itemdecl} @@ -7686,7 +7686,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{multiset}}% \begin{itemdecl} -template +template void erase_if(multiset& c, Predicate pred); \end{itemdecl} @@ -7768,10 +7768,10 @@ unordered_multimap& y) noexcept(noexcept(x.swap(y))); - template + template void erase_if(unordered_map& c, Predicate pred); - template + template void erase_if(unordered_multimap& c, Predicate pred); namespace pmr { @@ -7840,10 +7840,10 @@ unordered_multiset& y) noexcept(noexcept(x.swap(y))); - template + template void erase_if(unordered_set& c, Predicate pred); - template + template void erase_if(unordered_multiset& c, Predicate pred); namespace pmr { @@ -8038,37 +8038,37 @@ const_iterator find(const key_type& k) const; iterator find(const key_type& k, size_t hash); const_iterator find(const key_type& k, size_t hash) const; - template + template iterator find(const K& k); - template + template const_iterator find(const K& k) const; - template + template iterator find(const K& k, size_t hash); - template + template const_iterator find(const K& k, size_t hash) const; size_type count(const key_type& k) const; size_type count(const key_type& k, size_t hash) const; - template + template size_type count(const K& k) const; - template + template size_type count(const K& k, size_t hash) const; bool contains(const key_type& k) const; bool contains(const key_type& k, size_t hash) const; - template + template bool contains(const K& k) const; - template + template bool contains(const K& k, size_t hash) const; pair equal_range(const key_type& k); pair equal_range(const key_type& k) const; pair equal_range(const key_type& k, size_t hash); pair equal_range(const key_type& k, size_t hash) const; - template + template pair equal_range(const K& k); - template + template pair equal_range(const K& k) const; - template + template pair equal_range(const K& k, size_t hash); - template + template pair equal_range(const K& k, size_t hash) const; // \ref{unord.map.elem}, element access @@ -8443,7 +8443,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{unordered_map}}% \begin{itemdecl} -template +template void erase_if(unordered_map& c, Predicate pred); \end{itemdecl} @@ -8626,37 +8626,37 @@ const_iterator find(const key_type& k) const; iterator find(const key_type& k, size_t hash); const_iterator find(const key_type& k, size_t hash) const; - template + template iterator find(const K& k); - template + template const_iterator find(const K& k) const; - template + template iterator find(const K& k, size_t hash); - template + template const_iterator find(const K& k, size_t hash) const; size_type count(const key_type& k) const; size_type count(const key_type& k, size_t hash) const; - template + template size_type count(const K& k) const; - template + template size_type count(const K& k, size_t hash) const; bool contains(const key_type& k) const; bool contains(const key_type& k, size_t hash) const; - template + template bool contains(const K& k) const; - template + template bool contains(const K& k, size_t hash) const; pair equal_range(const key_type& k); pair equal_range(const key_type& k) const; pair equal_range(const key_type& k, size_t hash); pair equal_range(const key_type& k, size_t hash) const; - template + template pair equal_range(const K& k); - template + template pair equal_range(const K& k) const; - template + template pair equal_range(const K& k, size_t hash); - template + template pair equal_range(const K& k, size_t hash) const; // bucket interface @@ -8832,7 +8832,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{unordered_multimap}}% \begin{itemdecl} -template +template void erase_if(unordered_multimap& c, Predicate pred); \end{itemdecl} @@ -9006,37 +9006,37 @@ const_iterator find(const key_type& k) const; iterator find(const key_type& k, size_t hash); const_iterator find(const key_type& k, size_t hash) const; - template + template iterator find(const K& k); - template + template const_iterator find(const K& k) const; - template + template iterator find(const K& k, size_t hash); - template + template const_iterator find(const K& k, size_t hash) const; size_type count(const key_type& k) const; size_type count(const key_type& k, size_t hash) const; - template + template size_type count(const K& k) const; - template + template size_type count(const K& k, size_t hash) const; bool contains(const key_type& k) const; bool contains(const key_type& k, size_t hash) const; - template + template bool contains(const K& k) const; - template + template bool contains(const K& k, size_t hash) const; pair equal_range(const key_type& k); pair equal_range(const key_type& k) const; pair equal_range(const key_type& k, size_t hash); pair equal_range(const key_type& k, size_t hash) const; - template + template pair equal_range(const K& k); - template + template pair equal_range(const K& k) const; - template + template pair equal_range(const K& k, size_t hash); - template + template pair equal_range(const K& k, size_t hash) const; // bucket interface @@ -9168,7 +9168,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{unordered_set}}% \begin{itemdecl} -template +template void erase_if(unordered_set& c, Predicate pred); \end{itemdecl} @@ -9348,37 +9348,37 @@ const_iterator find(const key_type& k) const; iterator find(const key_type& k, size_t hash); const_iterator find(const key_type& k, size_t hash) const; - template + template iterator find(const K& k); - template + template const_iterator find(const K& k) const; - template + template iterator find(const K& k, size_t hash); - template + template const_iterator find(const K& k, size_t hash) const; size_type count(const key_type& k) const; size_type count(const key_type& k, size_t hash) const; - template + template size_type count(const K& k) const; - template + template size_type count(const K& k, size_t hash) const; bool contains(const key_type& k) const; bool contains(const key_type& k, size_t hash) const; - template + template bool contains(const K& k) const; - template + template bool contains(const K& k, size_t hash) const; pair equal_range(const key_type& k); pair equal_range(const key_type& k) const; pair equal_range(const key_type& k, size_t hash); pair equal_range(const key_type& k, size_t hash) const; - template + template pair equal_range(const K& k); - template + template pair equal_range(const K& k) const; - template + template pair equal_range(const K& k, size_t hash); - template + template pair equal_range(const K& k, size_t hash) const; // bucket interface @@ -9509,7 +9509,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{unordered_multiset}}% \begin{itemdecl} -template +template void erase_if(unordered_multiset& c, Predicate pred); \end{itemdecl} diff --git a/source/iterators.tex b/source/iterators.tex index dd03d00a5d..505093f841 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -6461,7 +6461,7 @@ \indexlibrary{\idxcode{ssize(C\& c)}}% \begin{itemdecl} -template constexpr auto ssize(const C& c) +template constexpr auto ssize(const C& c) -> common_type_t>; \end{itemdecl} \begin{itemdescr} @@ -6473,7 +6473,7 @@ \indexlibrary{\idxcode{ssize(T (\&array)[N])}}% \begin{itemdecl} -template constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept; +template constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept; \end{itemdecl} \begin{itemdescr} \pnum \returns \tcode{N}. diff --git a/source/strings.tex b/source/strings.tex index d11b550a7f..2c7671a226 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -3565,7 +3565,7 @@ \indexlibrary{\idxcode{erase}!\idxcode{basic_string}}% \begin{itemdecl} -template +template void erase(basic_string& c, const U& value); \end{itemdecl} @@ -3577,7 +3577,7 @@ \indexlibrary{\idxcode{erase_if}!\idxcode{basic_string}}% \begin{itemdecl} -template +template void erase_if(basic_string& c, Predicate pred); \end{itemdecl} diff --git a/source/support.tex b/source/support.tex index 1a58399d24..30f98b2fc3 100644 --- a/source/support.tex +++ b/source/support.tex @@ -5157,7 +5157,7 @@ \indexlibrary{\idxcode{hash}!\idxcode{coroutine_handle}}% \begin{itemdecl} -template struct hash>; +template struct hash>; \end{itemdecl} \begin{itemdescr} diff --git a/source/utilities.tex b/source/utilities.tex index ddb6aeb145..295079f65a 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -3786,7 +3786,7 @@ // \ref{variant.visit}, visitation template constexpr @\seebelow@ visit(Visitor&&, Variants&&...); - template + template constexpr R visit(Visitor&&, Variants&&...); // \ref{variant.monostate}, class \tcode{monostate} @@ -4882,7 +4882,7 @@ \begin{itemdecl} template constexpr @\seebelow@ visit(Visitor&& vis, Variants&&... vars); -template +template constexpr R visit(Visitor&& vis, Variants&&... vars); \end{itemdecl} @@ -6590,22 +6590,22 @@ inline constexpr bool uses_allocator_v = uses_allocator::value; // \ref{allocator.uses.construction}, uses-allocator construction - template + template auto uses_allocator_construction_args(const Alloc& alloc, Args&&... args) -> @\seebelow@; - template + template auto uses_allocator_construction_args(const Alloc& alloc, piecewise_construct_t, Tuple1&& x, Tuple2&& y) -> @\seebelow@; - template + template auto uses_allocator_construction_args(const Alloc& alloc) -> @\seebelow@; - template + template auto uses_allocator_construction_args(const Alloc& alloc, U&& u, V&& v) -> @\seebelow@; - template + template auto uses_allocator_construction_args(const Alloc& alloc, const pair& pr) -> @\seebelow@; - template + template auto uses_allocator_construction_args(const Alloc& alloc, pair&& pr) -> @\seebelow@; - template + template T make_obj_using_allocator(const Alloc& alloc, Args&&... args); - template + template T* uninitialized_construct_using_allocator(T* p, const Alloc& alloc, Args&&... args); // \ref{allocator.traits}, allocator traits @@ -7457,7 +7457,7 @@ \indexlibrary{\idxcode{uses_allocator_construction_args}}% \begin{itemdecl} -template +template auto uses_allocator_construction_args(const Alloc& alloc, Args&&... args) -> @\seebelow@; \end{itemdecl} @@ -7499,7 +7499,7 @@ \indexlibrary{\idxcode{uses_allocator_construction_args}}% \begin{itemdecl} -template +template auto uses_allocator_construction_args(const Alloc& alloc, piecewise_construct_t, Tuple1&& x, Tuple2&& y) -> @\seebelow@; \end{itemdecl} @@ -7528,7 +7528,7 @@ \indexlibrary{\idxcode{uses_allocator_construction_args}}% \begin{itemdecl} -template +template auto uses_allocator_construction_args(const Alloc& alloc) -> @\seebelow@; \end{itemdecl} @@ -7548,7 +7548,7 @@ \indexlibrary{\idxcode{uses_allocator_construction_args}}% \begin{itemdecl} -template +template auto uses_allocator_construction_args(const Alloc& alloc, U&& u, V&& v) -> @\seebelow@; \end{itemdecl} @@ -7569,7 +7569,7 @@ \indexlibrary{\idxcode{uses_allocator_construction_args}}% \begin{itemdecl} -template +template auto uses_allocator_construction_args(const Alloc& alloc, const pair& pr) -> @\seebelow@; \end{itemdecl} @@ -7590,7 +7590,7 @@ \indexlibrary{\idxcode{uses_allocator_construction_args}}% \begin{itemdecl} -template +template auto uses_allocator_construction_args(const Alloc& alloc, pair&& pr) -> @\seebelow@; \end{itemdecl} @@ -7611,7 +7611,7 @@ \indexlibrary{\idxcode{make_obj_using_allocator}}% \begin{itemdecl} -template +template T make_obj_using_allocator(const Alloc& alloc, Args&&... args); \end{itemdecl} @@ -7627,7 +7627,7 @@ \indexlibrary{\idxcode{uninitialized_construct_using_allocator}}% \begin{itemdecl} -template +template T* uninitialized_construct_using_allocator(T* p, const Alloc& alloc, Args&&... args); \end{itemdecl} @@ -12394,10 +12394,10 @@ void* allocate_bytes(size_t nbytes, size_t alignment = alignof(max_align_t)); void deallocate_bytes(void* p, size_t nbytes, size_t alignment = alignof(max_align_t)); - template T* allocate_object(size_t n = 1); - template void deallocate_object(T* p, size_t n = 1); - template T* new_object(CtorArgs&&... ctor_args); - template void delete_object(T* p); + template T* allocate_object(size_t n = 1); + template void deallocate_object(T* p, size_t n = 1); + template T* new_object(CtorArgs&&... ctor_args); + template void delete_object(T* p); template void construct(T* p, Args&&... args); @@ -12531,7 +12531,7 @@ \indexlibrarymember{allocate_object}{polymorphic_allocator}% \begin{itemdecl} -template +template T* allocate_object(size_t n = 1); \end{itemdecl} @@ -12558,7 +12558,7 @@ \indexlibrarymember{deallocate_object}{polymorphic_allocator}% \begin{itemdecl} -template +template void deallocate_object(T* p, size_t n = 1); \end{itemdecl} @@ -12570,7 +12570,7 @@ \indexlibrarymember{new_object}{polymorphic_allocator}% \begin{itemdecl} -template +template T* new_object(CtorArgs&&... ctor_args); \end{itemdecl} @@ -12598,7 +12598,7 @@ \indexlibrarymember{new_object}{polymorphic_allocator}% \begin{itemdecl} -template +template void delete_object(T* p); \end{itemdecl} @@ -13847,7 +13847,7 @@ template @\unspec@ not_fn(F&& f); // \ref{func.bind_front}, function template \tcode{bind_front} - template @\unspec@ bind_front(F&&, Args&&...); + template @\unspec@ bind_front(F&&, Args&&...); // \ref{func.bind}, bind template struct is_bind_expression; @@ -15288,7 +15288,7 @@ \indexlibrary{\idxcode{bind_front}}% \begin{itemdecl} -template +template @\unspec@ bind_front(F&& f, Args&&... args); \end{itemdecl} From 42e5df5c08c9ef805da304fe05fe387cfc3d33d5 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Thu, 14 Mar 2019 00:02:25 +0100 Subject: [PATCH 109/148] [basic.lookup.argdep] Reorder bullets to group semantics. --- source/basic.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 46b76af04a..6b2d0dda10 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -1805,15 +1805,15 @@ \begin{itemize} \item Any \grammarterm{using-directive}{s} in \tcode{N} are ignored. +\item All names except those of (possibly overloaded) functions and +function templates are ignored. + \item Any namespace-scope friend functions or friend function templates\iref{class.friend} declared in classes with reachable definitions in the set of associated entities are visible within their respective namespaces even if they are not visible during an ordinary lookup\iref{namespace.memdef}. -\item All names except those of (possibly overloaded) functions and -function templates are ignored. - \item Any declaration \tcode{D} in \tcode{N} that is in the interface of From 023dea0bb1ac154c63eb8c1d857fd95ed2b9f583 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Thu, 14 Mar 2019 16:21:15 -0700 Subject: [PATCH 110/148] [meta.type.synop] Align type_identity_t's "=" with following declarations --- source/utilities.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/utilities.tex b/source/utilities.tex index 295079f65a..44fb27e98d 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16629,7 +16629,7 @@ template struct invoke_result; template - using type_identity_t = typename type_identity::type; + using type_identity_t = typename type_identity::type; template // see \ref{meta.trans.other} using aligned_storage_t = typename aligned_storage::type; template From d4dca1303e0776e444aefaefc7046dff8c0df2d7 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Thu, 14 Mar 2019 17:35:10 -0700 Subject: [PATCH 111/148] [template.bitset,bitset.members] Fix template parameter indentation --- source/utilities.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 44fb27e98d..4e1e52f602 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -5760,8 +5760,8 @@ unsigned long to_ulong() const; unsigned long long to_ullong() const; template, - class Allocator = allocator> + class traits = char_traits, + class Allocator = allocator> basic_string to_string(charT zero = charT('0'), charT one = charT('1')) const; @@ -6222,8 +6222,8 @@ \indexlibrarymember{to_string}{bitset}% \begin{itemdecl} template, - class Allocator = allocator> + class traits = char_traits, + class Allocator = allocator> basic_string to_string(charT zero = charT('0'), charT one = charT('1')) const; \end{itemdecl} From 688be40cdc6baa22b50a0e1847fcf04aff7ba6c2 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Thu, 14 Mar 2019 17:36:06 -0700 Subject: [PATCH 112/148] [default.allocator] align all typdef-name declarations at = --- source/utilities.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 4e1e52f602..b010f01851 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -7937,11 +7937,11 @@ namespace std { template class allocator { public: - using value_type = T; - using size_type = size_t; - using difference_type = ptrdiff_t; + using value_type = T; + using size_type = size_t; + using difference_type = ptrdiff_t; using propagate_on_container_move_assignment = true_type; - using is_always_equal = true_type; + using is_always_equal = true_type; constexpr allocator() noexcept; constexpr allocator(const allocator&) noexcept; From d875f3f9e9b2de170715fe095de5ca72f79e56ea Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Thu, 14 Mar 2019 17:36:51 -0700 Subject: [PATCH 113/148] [mem.res.monotonic.buffer] Fix indents in class synopsis --- source/utilities.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index b010f01851..51e0054944 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -13137,11 +13137,11 @@ monotonic_buffer_resource(void* buffer, size_t buffer_size, memory_resource* upstream); monotonic_buffer_resource() - : monotonic_buffer_resource(get_default_resource()) {} + : monotonic_buffer_resource(get_default_resource()) {} explicit monotonic_buffer_resource(size_t initial_size) - : monotonic_buffer_resource(initial_size, get_default_resource()) {} + : monotonic_buffer_resource(initial_size, get_default_resource()) {} monotonic_buffer_resource(void* buffer, size_t buffer_size) - : monotonic_buffer_resource(buffer, buffer_size, get_default_resource()) {} + : monotonic_buffer_resource(buffer, buffer_size, get_default_resource()) {} monotonic_buffer_resource(const monotonic_buffer_resource&) = delete; From 71c19821e60c0a6000e7dd3a20a86c644afa83c4 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Thu, 14 Mar 2019 17:37:28 -0700 Subject: [PATCH 114/148] [type.index.overview] Remove excess space in member declarations --- source/utilities.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 51e0054944..52ee8ca60e 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -18786,8 +18786,8 @@ bool operator!=(const type_index& rhs) const noexcept; bool operator< (const type_index& rhs) const noexcept; bool operator> (const type_index& rhs) const noexcept; - bool operator<= (const type_index& rhs) const noexcept; - bool operator>= (const type_index& rhs) const noexcept; + bool operator<=(const type_index& rhs) const noexcept; + bool operator>=(const type_index& rhs) const noexcept; size_t hash_code() const noexcept; const char* name() const noexcept; From 5ba461ec9836f95ed7a54b563b06d480f564e987 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Wed, 13 Mar 2019 22:46:19 +0100 Subject: [PATCH 115/148] [class.eq,class.spaceship] Clarify order of comparison. --- source/classes.tex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/classes.tex b/source/classes.tex index 0672ace2ff..1fda4958a4 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -6748,6 +6748,7 @@ with parameters \tcode{x} and \tcode{y} is determined by comparing corresponding elements $\tcode{x}_i$ and $\tcode{y}_i$ in the expanded lists of subobjects for \tcode{x} and \tcode{y} +(in increasing index order) until the first index $i$ where $\tcode{x}_i\tcode{ == }\tcode{y}_i$ yields a result value which, when contextually converted to \tcode{bool}, yields \tcode{false}. @@ -6810,6 +6811,7 @@ is determined by comparing corresponding elements $\tcode{x}_i$ and $\tcode{y}_i$ in the expanded lists of subobjects for \tcode{x} and \tcode{y} +(in increasing index order) until the first index $i$ where $\tcode{x}_i$ \tcode{<=>} $\tcode{y}_i$ yields a result value $\tcode{v}_i$ where $\tcode{v}_i \mathrel{\tcode{!=}} 0$, From f0f7ba234644d3690d18fcba73f618648014a47c Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Wed, 13 Mar 2019 22:21:42 +0100 Subject: [PATCH 116/148] [lib] Use '(inclusive)', not other punctuation to indicate inclusive ranges in prose. --- source/locales.tex | 8 ++++---- source/numerics.tex | 3 +-- source/strings.tex | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/source/locales.tex b/source/locales.tex index da9cff27cd..542130dfc6 100644 --- a/source/locales.tex +++ b/source/locales.tex @@ -4231,8 +4231,8 @@ or in the range from \tcode{'0'} through -\tcode{'9'}, -inclusive) +\tcode{'9'} +(inclusive)) stored in \tcode{digits}. \begin{example} @@ -4664,8 +4664,8 @@ in the range \tcode{'0'} through -\tcode{'9'}, -inclusive, and +\tcode{'9'} +(inclusive) and \tcode{ct} is a reference of type \tcode{const ctype\&} diff --git a/source/numerics.tex b/source/numerics.tex index ba41a03871..d6f09ed046 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -3917,8 +3917,7 @@ \begin{itemdescr} \pnum\returns A nondeterministic random value, uniformly distributed - between \tcode{min()} and \tcode{max()}, - inclusive. + between \tcode{min()} and \tcode{max()} (inclusive). It is \impldef{how \tcode{random_device::operator()} generates values} how these values are generated. diff --git a/source/strings.tex b/source/strings.tex index 2c7671a226..0195195d58 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -5535,7 +5535,7 @@ the multibyte character that corresponds to the U+0000 Unicode character (which is the value stored). -\item between \tcode{1} and \tcode{n} inclusive, +\item between \tcode{1} and \tcode{n} (inclusive), if the next n or fewer bytes complete a valid multibyte character (which is the value stored); the value returned is the number of bytes that complete the multibyte character. From b0116b87bf33fed9648e6e8b1b0c7cee0d90b311 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 12 Mar 2019 09:06:23 -0400 Subject: [PATCH 117/148] [over.match.best] Add number for paragraph 2. --- source/overloading.tex | 1 + 1 file changed, 1 insertion(+) diff --git a/source/overloading.tex b/source/overloading.tex index 5a4a0d33a9..8c90f86275 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -1695,6 +1695,7 @@ another. \end{itemize} +\pnum Given these definitions, a viable function \tcode{F1} is defined From dd227824ade24ab51dd4cc926c4b9e87cc29becf Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 10 Mar 2019 20:28:41 +0100 Subject: [PATCH 118/148] [dcl.attr.contract.cond] References cannot be modified. Avoid confusion caused by using the words "makes [...] modifications of the value of [a] parameter" by excluding references. --- source/declarations.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/declarations.tex b/source/declarations.tex index 9c39aa890b..4d5225aa8b 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -8865,7 +8865,7 @@ \pnum If a postcondition odr-uses\iref{basic.def.odr} -a parameter in its predicate +a non-reference parameter in its predicate and the function body makes direct or indirect modifications of the value of that parameter, the behavior is undefined. From b8fd249c737ff2c3652cf6ef77db25712038d353 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 10 Mar 2019 20:20:10 +0100 Subject: [PATCH 119/148] [dcl.init] Prepend 'Otherwise' to a bullet --- source/declarations.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/declarations.tex b/source/declarations.tex index 4d5225aa8b..e9bee58004 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -4426,7 +4426,7 @@ is sequenced before those associated with the initialization of the $j^\text{th}$ element. \item -If the destination type is a (possibly cv-qualified) class type: +Otherwise, if the destination type is a (possibly cv-qualified) class type: \begin{itemize} \item From d7d2580c7d8fabe25ada4dd0e091f9997c0916f5 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 9 Mar 2019 22:36:47 +0100 Subject: [PATCH 120/148] [range.iota,range.adaptors] Add cross-references for private member types. --- source/ranges.tex | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/ranges.tex b/source/ranges.tex index 16cbefefd5..8b94a6415c 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -1696,7 +1696,9 @@ requires @\placeholdernc{weakly-equality-comparable-with}@ class iota_view : public view_interface> { private: + // \ref{range.iota.iterator}, class \tcode{iota_view::iterator} struct iterator; // \expos + // \ref{range.iota.sentinel}, class \tcode{iota_view::sentinel} struct sentinel; // \expos W value_ = W(); // \expos Bound bound_ = Bound(); // \expos @@ -2501,7 +2503,9 @@ V base_ = V(); // \expos @\placeholdernc{semiregular}@ pred_; // \expos + // \ref{range.filter.iterator}, class \tcode{filter_view::iterator} class iterator; // \expos + // \ref{range.filter.sentinel}, class \tcode{filter_view::sentinel} class sentinel; // \expos public: @@ -2937,7 +2941,9 @@ RegularInvocable>> class transform_view : public view_interface> { private: + // \ref{range.transform.iterator}, class template \tcode{transform_view::iterator} template struct iterator; // \expos + // \ref{range.transform.sentinel}, class template \tcode{transform_view::sentinel} template struct sentinel; // \expos V base_ = V(); // \expos @@ -3616,6 +3622,7 @@ private: V base_ = V(); // \expos iter_difference_t> count_ = 0; // \expos + // \ref{range.take.sentinel}, class template \tcode{take_view::sentinel} template struct sentinel; // \expos public: take_view() = default; @@ -3838,8 +3845,10 @@ private: using InnerRng = // \expos iter_reference_t>; + // \ref{range.join.iterator}, class template \tcode{join_view::iterator} template struct iterator; // \expos + // \ref{range.join.sentinel}, class template \tcode{join_view::sentinel} template struct sentinel; // \expos @@ -4365,7 +4374,9 @@ V base_ = V(); // \expos Pattern pattern_ = Pattern(); // \expos iterator_t current_ = iterator_t(); // \expos, present only if \tcode{!ForwardRange} + // \ref{range.split.outer}, class template \tcode{split_view::outer_iterator} template struct outer_iterator; // \expos + // \ref{range.split.inner}, class template \tcode{split_view::inner_iterator} template struct inner_iterator; // \expos public: split_view() = default; From b5d07d1242c5ae7f5ddc3401bd182cf596dbbe19 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 9 Mar 2019 22:13:33 +0100 Subject: [PATCH 121/148] [temp.deduct.conv] Add missing formatting for 'noexcept'. --- source/templates.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/templates.tex b/source/templates.tex index 9d725db851..978b8240b9 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -7937,11 +7937,11 @@ \item If the original \tcode{A} is a function pointer type, \tcode{A} can be ``pointer to function'' -even if the deduced \tcode{A} is ``pointer to noexcept function''. +even if the deduced \tcode{A} is ``pointer to \tcode{noexcept} function''. \item If the original \tcode{A} is a pointer-to-member-function type, \tcode{A} can be ``pointer to member of type function'' -even if the deduced \tcode{A} is ``pointer to member of type noexcept function''. +even if the deduced \tcode{A} is ``pointer to member of type \tcode{noexcept} function''. \item The deduced \tcode{A} can be another pointer or pointer-to-member type that From e935c9a0fe95295594856063220b6fc6a13cbc36 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 9 Mar 2019 22:08:17 +0100 Subject: [PATCH 122/148] [expr.type] Fix missing formatting for 'T'. --- source/expressions.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/expressions.tex b/source/expressions.tex index 5316defb12..8c6bb9baad 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -362,7 +362,7 @@ \item if \tcode{T1} or \tcode{T2} is ``pointer to \cvqual{cv1} \tcode{void}'' and the -other type is ``pointer to \cvqual{cv2} T'', +other type is ``pointer to \cvqual{cv2} \tcode{T}'', where \tcode{T} is an object type or \tcode{void}, ``pointer to \cvqual{cv12} \tcode{void}'', where \cvqual{cv12} is the union of \cvqual{cv1} and \cvqual{cv2}; From c5fb73ba6a9b71f6e247103ab4baac1c9f72e210 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 8 Mar 2019 01:13:35 +0100 Subject: [PATCH 123/148] [conv.prom] b_min and b_max are no longer defined in [dcl.enum] --- source/expressions.tex | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 8c6bb9baad..f9db23ac26 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -834,9 +834,8 @@ \pnum \indextext{type!underlying!enumeration}% A prvalue of an unscoped enumeration type whose underlying type is not -fixed\iref{dcl.enum} can be converted to a prvalue of the first of the following -types that can represent all the values of the enumeration (i.e., the values in the -range $b_\text{min}$ to $b_\text{max}$ as described in~\ref{dcl.enum}): \tcode{int}, +fixed can be converted to a prvalue of the first of the following +types that can represent all the values of the enumeration\iref{dcl.enum}: \tcode{int}, \tcode{unsigned int}, \tcode{long int}, \tcode{unsigned long int}, \tcode{long long int}, or \tcode{unsigned long long int}. If none of the types in that list can represent all the values of the enumeration, a prvalue of an unscoped From d48c79e223cfbd5ec134703e20989235208e9364 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 8 Mar 2019 01:14:16 +0100 Subject: [PATCH 124/148] [dcl.enum] Fix singular/plural mismatch. --- source/declarations.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/declarations.tex b/source/declarations.tex index e9bee58004..173db26466 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -6833,7 +6833,7 @@ For an enumeration whose underlying type is fixed, the values of the enumeration are the values of the underlying type. Otherwise, the values of the enumeration are the values representable by -a hypothetical integer types with minimal range exponent $M$ +a hypothetical integer type with minimal range exponent $M$ such that all enumerators can be represented. The width of the smallest bit-field large enough to hold all the values of the enumeration type is $M$. From 2103e51d49773329f8f672e2e813d4ccd737b969 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 8 Mar 2019 01:05:49 +0100 Subject: [PATCH 125/148] [stmt.iter,stmt.select] Add formatting for grammar terms and avoid starting a new paragraph after a single sentence. --- source/statements.tex | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/statements.tex b/source/statements.tex index 15220d86aa..c3be4d2f0c 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -251,9 +251,9 @@ The substatement in a \grammarterm{selection-statement} (each substatement, in the \tcode{else} form of the \tcode{if} statement) implicitly defines a block scope\iref{basic.scope}. If the substatement in a -selection-statement is a single statement and not a +\grammarterm{selection-statement} is a single statement and not a \grammarterm{compound-statement}, it is as if it was rewritten to be a -compound-statement containing the original substatement. +\grammarterm{compound-statement} containing the original substatement. \begin{example} \begin{codeblock} @@ -479,14 +479,14 @@ \end{note} \pnum +\indextext{scope!\idxgram{iteration-statement}}% The substatement in an \grammarterm{iteration-statement} implicitly defines a block scope\iref{basic.scope} which is entered and exited each time through the loop. - -\indextext{scope!\idxgram{iteration-statement}}% -If the substatement in an iteration-statement is a single statement and -not a \grammarterm{compound-statement}, it is as if it was rewritten to be -a compound-statement containing the original statement. +If the substatement in an \grammarterm{iteration-statement} is +a single statement and not a \grammarterm{compound-statement}, +it is as if it was rewritten to be +a \grammarterm{compound-statement} containing the original statement. \begin{example} \begin{codeblock} From c769f835dadd4a35df9febad684a296d6cb71a53 Mon Sep 17 00:00:00 2001 From: JF Bastien Date: Thu, 14 Mar 2019 19:45:53 -0700 Subject: [PATCH 126/148] [dcl.attr.contract.cond] Replace return type with 'void' in example that does not return Also remove the (unused) name for the return value in the postcondition. --- source/declarations.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index 173db26466..994ad50117 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -8877,8 +8877,8 @@ return ++x; // undefined behavior } -int g(int * p) - [[ensures r: p != nullptr]] +void g(int * p) + [[ensures: p != nullptr]] { *p = 42; // OK, \tcode{p} is not modified } From 3117814eaf800a5e1dd387f4c5a0522f2627689e Mon Sep 17 00:00:00 2001 From: languagelawyer <38548419+languagelawyer@users.noreply.github.com> Date: Fri, 15 Mar 2019 05:48:28 +0300 Subject: [PATCH 127/148] [expr.sizeof] Remove the redundant paragraph 3 Paragraph 1 already says that functions are disallowed and function pointers are allowed. --- source/expressions.tex | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index f9db23ac26..86daba4831 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -4527,10 +4527,6 @@ array. This implies that the size of an array of \term{n} elements is \term{n} times the size of an element. -\pnum -The \tcode{sizeof} operator can be applied to a pointer to a function, -but shall not be applied directly to a function. - \pnum The lvalue-to-rvalue\iref{conv.lval}, array-to-pointer\iref{conv.array}, and From 48484c967ee5f3ecb65ff857f8f4794e108ba0cb Mon Sep 17 00:00:00 2001 From: Krystian Date: Thu, 14 Mar 2019 22:49:33 -0400 Subject: [PATCH 128/148] [temp.class.spec.mfunc] Correct "class template specialization" to the intended "class template partial specialization" --- source/templates.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/templates.tex b/source/templates.tex index 978b8240b9..fb5f350ae5 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -3337,7 +3337,7 @@ The template argument list of a member of a class template partial specialization shall match the template argument list of the class template partial specialization. -A class template specialization is a distinct template. +A class template partial specialization is a distinct template. The members of the class template partial specialization are unrelated to the members of the primary template. Class template partial specialization members that are used in a way that From 721f2d606f90cc20a16ad9b4383bc78cb368abdc Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Fri, 15 Mar 2019 02:53:18 +0000 Subject: [PATCH 129/148] [func.not_fn], [func.bind_front] fix phrasing of \mandates and \expects (#2750) The Mandates: element should just state its condition, and not say "shall". Cpp17 concept requirements should be phrased as "X meets the Y requirements" not "X shall meet the requirements of Y". --- source/utilities.tex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 52ee8ca60e..1f45f5483a 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -15268,11 +15268,11 @@ \pnum \mandates \tcode{is_constructible_v \&\& is_move_constructible_v} -shall be true. +is true. \pnum \expects -\tcode{FD} shall meet the requirements of \oldconcept{MoveConstructible}. +\tcode{FD} meets the \oldconcept{MoveConstructible} requirements. \pnum \returns @@ -15319,14 +15319,14 @@ conjunction_v, is_move_constructible, is_constructible..., is_move_constructible...> \end{codeblock} -shall be true. +is true. \pnum \expects -\tcode{FD} shall meet the requirements of \oldconcept{MoveConstructible}. +\tcode{FD} meets the \oldconcept{MoveConstructible} requirements. For each $\tcode{T}_i$ in \tcode{BoundArgs}, if $\tcode{T}_i$ is an object type, -$\tcode{T}_i$ shall meet the requirements of \oldconcept{MoveConstructible}. +$\tcode{T}_i$ meets the \oldconcept{MoveConstructible} requirements. \pnum \returns From a2dfa61a0d50a24e7be6cbc004bb0f076b8c62b5 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 8 Mar 2019 22:25:38 +0100 Subject: [PATCH 130/148] [queue.syn,stack.syn] Add partial specialization of uses_allocator --- source/containers.tex | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index e426993b61..a329e9091a 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -9568,9 +9568,6 @@ namespace std { template> class queue; - template, - class Compare = less> - class priority_queue; template bool operator==(const queue& x, const queue& y); @@ -9587,9 +9584,18 @@ template void swap(queue& x, queue& y) noexcept(noexcept(x.swap(y))); + template + struct uses_allocator, Alloc>; + + template, + class Compare = less> + class priority_queue; + template void swap(priority_queue& x, priority_queue& y) noexcept(noexcept(x.swap(y))); + template + struct uses_allocator, Alloc>; } \end{codeblock} @@ -9617,6 +9623,8 @@ template void swap(stack& x, stack& y) noexcept(noexcept(x.swap(y))); + template + struct uses_allocator, Alloc>; } \end{codeblock} From 554a8926404bd5e0f772a6cb72c04bd12a5b7984 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Mon, 4 Mar 2019 09:29:50 -0800 Subject: [PATCH 131/148] [specialized.algorithms] Rename voidify's parameter `ptr` is an odd name for a parameter that is a reference to storage for an object. --- source/utilities.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 1f45f5483a..2af1a3afce 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -8105,8 +8105,8 @@ \tcode{\placeholdernc{voidify}}: \begin{codeblock} template - void* @\placeholdernc{voidify}@(T& ptr) noexcept { - return const_cast(static_cast(addressof(ptr))); + void* @\placeholdernc{voidify}@(T& obj) noexcept { + return const_cast(static_cast(addressof(obj))); } \end{codeblock} From 0b92dd0521498d80ac941e4100f6573df3e8fbf4 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Wed, 13 Mar 2019 23:57:36 +0100 Subject: [PATCH 132/148] [std] Index all mentions of keywords in grammar productions. Also add the keyword tables in [lex.name] and [lex.key]. --- source/basic.tex | 2 +- source/classes.tex | 34 ++++---- source/declarations.tex | 138 +++++++++++++++--------------- source/expressions.tex | 48 +++++------ source/lex.tex | 184 +++++++++++++++++++++------------------- source/macros.tex | 2 + source/modules.tex | 14 +-- source/overloading.tex | 10 +-- source/statements.tex | 58 ++++++------- source/templates.tex | 72 ++++++++-------- 10 files changed, 285 insertions(+), 277 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 6b2d0dda10..178a5ec5e2 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -2504,7 +2504,7 @@ \begin{bnf} \nontermdef{private-module-fragment}\br - \terminal{module} \terminal{:} \terminal{private} \terminal{;} \opt{top-level-declaration-seq} + \keyword{module} \terminal{:} \keyword{private} \terminal{;} \opt{top-level-declaration-seq} \end{bnf} \begin{bnf} diff --git a/source/classes.tex b/source/classes.tex index 1fda4958a4..f9d17fc2ea 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -45,14 +45,14 @@ \begin{bnf} \nontermdef{class-virt-specifier}\br - \terminal{final} + \keyword{final} \end{bnf} \begin{bnf} \nontermdef{class-key}\br - \terminal{class}\br - \terminal{struct}\br - \terminal{union} + \keyword{class}\br + \keyword{struct}\br + \keyword{union} \end{bnf} A class declaration where the \grammarterm{class-name} @@ -470,8 +470,8 @@ \begin{bnf} \nontermdef{virt-specifier}\br - \terminal{override}\br - \terminal{final} + \keyword{override}\br + \keyword{final} \end{bnf} \begin{bnf} @@ -2550,7 +2550,7 @@ \begin{bnf} \nontermdef{conversion-function-id}\br - \terminal{operator} conversion-type-id + \keyword{operator} conversion-type-id \end{bnf} \begin{bnf} @@ -3232,7 +3232,7 @@ A union of the form \begin{ncsimplebnf} -\terminal{union} \terminal{\{} member-specification \terminal{\}} \terminal{;} +\keyword{union} \terminal{\{} member-specification \terminal{\}} \terminal{;} \end{ncsimplebnf} is called an \defn{anonymous union}; it defines an unnamed type and @@ -3418,14 +3418,14 @@ \begin{bnf} \nontermdef{base-specifier}\br \opt{attribute-specifier-seq} class-or-decltype\br - \opt{attribute-specifier-seq} \terminal{virtual} \opt{access-specifier} class-or-decltype\br - \opt{attribute-specifier-seq} access-specifier \opt{\terminal{virtual}} class-or-decltype + \opt{attribute-specifier-seq} \keyword{virtual} \opt{access-specifier} class-or-decltype\br + \opt{attribute-specifier-seq} access-specifier \opt{\keyword{virtual}} class-or-decltype \end{bnf} \begin{bnf} \nontermdef{class-or-decltype}\br \opt{nested-name-specifier} type-name\br - nested-name-specifier \terminal{template} simple-template-id\br + nested-name-specifier \keyword{template} simple-template-id\br decltype-specifier \end{bnf} @@ -3433,9 +3433,9 @@ % \begin{bnf} \nontermdef{access-specifier}\br - \terminal{private}\br - \terminal{protected}\br - \terminal{public} + \keyword{private}\br + \keyword{protected}\br + \keyword{public} \end{bnf} The optional \grammarterm{attribute-specifier-seq} appertains to the \grammarterm{base-specifier}. @@ -5127,9 +5127,9 @@ shall have one of the following forms: \begin{ncsimplebnf} -\terminal{friend} elaborated-type-specifier \terminal{;}\br -\terminal{friend} simple-type-specifier \terminal{;}\br -\terminal{friend} typename-specifier \terminal{;} +\keyword{friend} elaborated-type-specifier \terminal{;}\br +\keyword{friend} simple-type-specifier \terminal{;}\br +\keyword{friend} typename-specifier \terminal{;} \end{ncsimplebnf} \begin{note} A friend declaration may be the diff --git a/source/declarations.tex b/source/declarations.tex index 994ad50117..7504e4ba32 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -51,7 +51,7 @@ \begin{bnf} \nontermdef{alias-declaration}\br - \terminal{using} identifier \opt{attribute-specifier-seq} \terminal{=} defining-type-id \terminal{;} + \keyword{using} identifier \opt{attribute-specifier-seq} \terminal{=} defining-type-id \terminal{;} \end{bnf} \begin{bnf} @@ -63,8 +63,8 @@ \begin{bnf} \nontermdef{static_assert-declaration}\br - \terminal{static_assert} \terminal{(} constant-expression \terminal{)} \terminal{;}\br - \terminal{static_assert} \terminal{(} constant-expression \terminal{,} string-literal \terminal{)} \terminal{;} + \keyword{static_assert} \terminal{(} constant-expression \terminal{)} \terminal{;}\br + \keyword{static_assert} \terminal{(} constant-expression \terminal{,} string-literal \terminal{)} \terminal{;} \end{bnf} \begin{bnf} @@ -253,11 +253,11 @@ storage-class-specifier\br defining-type-specifier\br function-specifier\br - \terminal{friend}\br - \terminal{typedef}\br - \terminal{constexpr}\br - \terminal{consteval}\br - \terminal{inline} + \keyword{friend}\br + \keyword{typedef}\br + \keyword{constexpr}\br + \keyword{consteval}\br + \keyword{inline} \end{bnf} \begin{bnf} @@ -335,10 +335,10 @@ \begin{bnf} \nontermdef{storage-class-specifier}\br - \terminal{static}\br - \terminal{thread_local}\br - \terminal{extern}\br - \terminal{mutable} + \keyword{static}\br + \keyword{thread_local}\br + \keyword{extern}\br + \keyword{mutable} \end{bnf} At most one \grammarterm{storage-class-specifier} shall appear in a given @@ -507,14 +507,14 @@ \begin{bnf} \nontermdef{function-specifier}\br - \terminal{virtual}\br + \keyword{virtual}\br explicit-specifier \end{bnf} \begin{bnf} \nontermdef{explicit-specifier}\br - \terminal{explicit} \terminal{(} constant-expression \terminal{)}\br - \terminal{explicit} + \keyword{explicit} \terminal{(} constant-expression \terminal{)}\br + \keyword{explicit} \end{bnf} \pnum @@ -1287,24 +1287,24 @@ \begin{bnf} \nontermdef{simple-type-specifier}\br \opt{nested-name-specifier} type-name\br - nested-name-specifier \terminal{template} simple-template-id\br + nested-name-specifier \keyword{template} simple-template-id\br decltype-specifier\br placeholder-type-specifier\br \opt{nested-name-specifier} template-name\br - \terminal{char}\br - \terminal{char8_t}\br - \terminal{char16_t}\br - \terminal{char32_t}\br - \terminal{wchar_t}\br - \terminal{bool}\br - \terminal{short}\br - \terminal{int}\br - \terminal{long}\br - \terminal{signed}\br - \terminal{unsigned}\br - \terminal{float}\br - \terminal{double}\br - \terminal{void} + \keyword{char}\br + \keyword{char8_t}\br + \keyword{char16_t}\br + \keyword{char32_t}\br + \keyword{wchar_t}\br + \keyword{bool}\br + \keyword{short}\br + \keyword{int}\br + \keyword{long}\br + \keyword{signed}\br + \keyword{unsigned}\br + \keyword{float}\br + \keyword{double}\br + \keyword{void} \end{bnf} \begin{bnf} @@ -1421,8 +1421,8 @@ \nontermdef{elaborated-type-specifier}\br class-key \opt{attribute-specifier-seq} \opt{nested-name-specifier} identifier\br class-key simple-template-id\br - class-key nested-name-specifier \opt{\terminal{template}} simple-template-id\br - \terminal{enum} \opt{nested-name-specifier} identifier + class-key nested-name-specifier \opt{\keyword{template}} simple-template-id\br + \keyword{enum} \opt{nested-name-specifier} identifier \end{bnf} \pnum @@ -1438,10 +1438,10 @@ \begin{ncsimplebnf} class-key \opt{attribute-specifier-seq} identifier \terminal{;}\br -\terminal{friend} class-key \terminal{\opt{::}} identifier \terminal{;}\br -\terminal{friend} class-key \terminal{\opt{::}} simple-template-id \terminal{;}\br -\terminal{friend} class-key nested-name-specifier identifier \terminal{;}\br -\terminal{friend} class-key nested-name-specifier \terminal{\opt{template}} simple-template-id \terminal{;} +\keyword{friend} class-key \terminal{\opt{::}} identifier \terminal{;}\br +\keyword{friend} class-key \terminal{\opt{::}} simple-template-id \terminal{;}\br +\keyword{friend} class-key nested-name-specifier identifier \terminal{;}\br +\keyword{friend} class-key nested-name-specifier \opt{\keyword{template}} simple-template-id \terminal{;} \end{ncsimplebnf} In the first case, the \grammarterm{attribute-specifier-seq}, if any, appertains @@ -1503,7 +1503,7 @@ \begin{bnf} \nontermdef{decltype-specifier}\br - \terminal{decltype} \terminal{(} expression \terminal{)} + \keyword{decltype} \terminal{(} expression \terminal{)} \end{bnf} \pnum @@ -1616,8 +1616,8 @@ \begin{bnf} \nontermdef{placeholder-type-specifier}\br - \opt{type-constraint} \terminal{auto}\br - \opt{type-constraint} \terminal{decltype} \terminal{(} \terminal{auto} \terminal{)} + \opt{type-constraint} \keyword{auto}\br + \opt{type-constraint} \keyword{decltype} \terminal{(} \keyword{auto} \terminal{)} \end{bnf} \pnum @@ -2181,8 +2181,8 @@ \begin{bnf} \nontermdef{cv-qualifier}\br - \terminal{const}\br - \terminal{volatile} + \keyword{const}\br + \keyword{volatile} \end{bnf} \begin{bnf} @@ -5904,8 +5904,8 @@ \nontermdef{function-body}\br \opt{ctor-initializer} compound-statement\br function-try-block\br - \terminal{= default ;}\br - \terminal{= delete ;} + \terminal{=} \keyword{default} \terminal{;}\br + \terminal{=} \keyword{delete} \terminal{;} \end{bnf} Any informal reference to the body of a function should be interpreted as a reference to @@ -6647,9 +6647,9 @@ \begin{bnf} \nontermdef{enum-key}\br - \terminal{enum}\br - \terminal{enum class}\br - \terminal{enum struct} + \keyword{enum}\br + \keyword{enum} \keyword{class}\br + \keyword{enum} \keyword{struct} \end{bnf} \begin{bnf} @@ -6982,23 +6982,23 @@ \begin{bnf} \nontermdef{named-namespace-definition}\br - \terminal{\opt{inline}} \terminal{namespace} \opt{attribute-specifier-seq} identifier \terminal{\{} namespace-body \terminal{\}} + \opt{\keyword{inline}} \keyword{namespace} \opt{attribute-specifier-seq} identifier \terminal{\{} namespace-body \terminal{\}} \end{bnf} \begin{bnf} \nontermdef{unnamed-namespace-definition}\br - \terminal{\opt{inline}} \terminal{namespace} \opt{attribute-specifier-seq} \terminal{\{} namespace-body \terminal{\}} + \opt{\keyword{inline}} \keyword{namespace} \opt{attribute-specifier-seq} \terminal{\{} namespace-body \terminal{\}} \end{bnf} \begin{bnf} \nontermdef{nested-namespace-definition}\br - \terminal{namespace} enclosing-namespace-specifier \terminal{::} \opt{\terminal{inline}} identifier \terminal{\{} namespace-body \terminal{\}} + \keyword{namespace} enclosing-namespace-specifier \terminal{::} \opt{\keyword{inline}} identifier \terminal{\{} namespace-body \terminal{\}} \end{bnf} \begin{bnf} \nontermdef{enclosing-namespace-specifier}\br identifier\br - enclosing-namespace-specifier \terminal{::} \opt{\terminal{inline}} identifier + enclosing-namespace-specifier \terminal{::} \opt{\keyword{inline}} identifier \end{bnf} \begin{bnf} @@ -7142,9 +7142,9 @@ replaced by \begin{ncsimplebnf} -\opt{\terminal{inline}} \terminal{namespace} \terminal{\uniquens} \terminal{\{ /* empty body */ \}}\br -\terminal{using namespace} \terminal{\uniquens} \terminal{;}\br -\terminal{namespace} \terminal{\uniquens} \terminal{\{} namespace-body \terminal{\}} +\opt{\keyword{inline}} \keyword{namespace} \terminal{\uniquens} \terminal{\{ /* empty body */ \}}\br +\keyword{using} \keyword{namespace} \terminal{\uniquens} \terminal{;}\br +\keyword{namespace} \terminal{\uniquens} \terminal{\{} namespace-body \terminal{\}} \end{ncsimplebnf} where @@ -7311,7 +7311,7 @@ \begin{bnf} \nontermdef{namespace-alias-definition}\br - \terminal{namespace} identifier \terminal{=} qualified-namespace-specifier \terminal{;} + \keyword{namespace} identifier \terminal{=} qualified-namespace-specifier \terminal{;} \end{bnf} \begin{bnf} @@ -7351,7 +7351,7 @@ \begin{bnf} \nontermdef{using-directive}\br - \opt{attribute-specifier-seq} \terminal{using namespace} \opt{nested-name-specifier} namespace-name \terminal{;} + \opt{attribute-specifier-seq} \keyword{using} \keyword{namespace} \opt{nested-name-specifier} namespace-name \terminal{;} \end{bnf} \pnum @@ -7562,7 +7562,7 @@ \begin{bnf} \nontermdef{using-declaration}\br - \terminal{using} using-declarator-list \terminal{;} + \keyword{using} using-declarator-list \terminal{;} \end{bnf} \begin{bnf} @@ -7573,7 +7573,7 @@ \begin{bnf} \nontermdef{using-declarator}\br - \terminal{\opt{typename}} nested-name-specifier unqualified-id + \opt{\keyword{typename}} nested-name-specifier unqualified-id \end{bnf} \pnum @@ -8056,7 +8056,7 @@ \begin{bnf} \nontermdef{asm-definition}\br - \opt{attribute-specifier-seq} \terminal{asm (} string-literal \terminal{) ;} + \opt{attribute-specifier-seq} \keyword{asm} \terminal{(} string-literal \terminal{) ;} \end{bnf} The \tcode{asm} declaration is conditionally-supported; its meaning is @@ -8095,8 +8095,8 @@ % \begin{bnf} \nontermdef{linkage-specification}\br - \terminal{extern} string-literal \terminal{\{} \opt{declaration-seq} \terminal{\}}\br - \terminal{extern} string-literal declaration + \keyword{extern} string-literal \terminal{\{} \opt{declaration-seq} \terminal{\}}\br + \keyword{extern} string-literal declaration \end{bnf} The \grammarterm{string-literal} indicates the required language linkage. @@ -8327,13 +8327,13 @@ \begin{bnf} \nontermdef{alignment-specifier}\br - \terminal{alignas (} type-id \opt{\terminal{...}} \terminal{)}\br - \terminal{alignas (} constant-expression \opt{\terminal{...}} \terminal{)} + \keyword{alignas} \terminal{(} type-id \opt{\terminal{...}} \terminal{)}\br + \keyword{alignas} \terminal{(} constant-expression \opt{\terminal{...}} \terminal{)} \end{bnf} \begin{bnf} \nontermdef{attribute-using-prefix}\br - \terminal{using} attribute-namespace \terminal{:} + \keyword{using} attribute-namespace \terminal{:} \end{bnf} \begin{bnf} @@ -8663,16 +8663,16 @@ \begin{bnf} \nontermdef{contract-attribute-specifier}\br - \terminal{[} \terminal{[} \terminal{expects} \opt{contract-level} \terminal{:} conditional-expression \terminal{]} \terminal{]}\br - \terminal{[} \terminal{[} \terminal{ensures} \opt{contract-level} \opt{identifier} \terminal{:} conditional-expression \terminal{]} \terminal{]}\br - \terminal{[} \terminal{[} \terminal{assert} \opt{contract-level} \terminal{:} conditional-expression \terminal{]} \terminal{]} + \terminal{[} \terminal{[} \keyword{expects} \opt{contract-level} \terminal{:} conditional-expression \terminal{]} \terminal{]}\br + \terminal{[} \terminal{[} \keyword{ensures} \opt{contract-level} \opt{identifier} \terminal{:} conditional-expression \terminal{]} \terminal{]}\br + \terminal{[} \terminal{[} \keyword{assert} \opt{contract-level} \terminal{:} conditional-expression \terminal{]} \terminal{]} \end{bnf} \begin{bnf} \nontermdef{contract-level}\br - \terminal{default}\br - \terminal{audit}\br - \terminal{axiom} + \keyword{default}\br + \keyword{audit}\br + \keyword{axiom} \end{bnf} diff --git a/source/expressions.tex b/source/expressions.tex index 86daba4831..bd32564219 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -1140,7 +1140,7 @@ \begin{bnf} \nontermdef{primary-expression}\br literal\br - \terminal{this}\br + \keyword{this}\br \terminal{(} expression \terminal{)}\br id-expression\br lambda-expression\br @@ -1414,7 +1414,7 @@ % \begin{bnf} \nontermdef{qualified-id}\br - nested-name-specifier \opt{\terminal{template}} unqualified-id + nested-name-specifier \opt{\keyword{template}} unqualified-id \end{bnf} \indextext{operator!scope resolution}% @@ -1427,7 +1427,7 @@ namespace-name \terminal{::}\br decltype-specifier \terminal{::}\br nested-name-specifier identifier \terminal{::}\br - nested-name-specifier \opt{\terminal{template}} simple-template-id \terminal{::} + nested-name-specifier \opt{\keyword{template}} simple-template-id \terminal{::} \end{bnf} \pnum @@ -1965,7 +1965,7 @@ \nontermdef{simple-capture}\br identifier\br \terminal{\&} identifier\br - \terminal{this}\br + \keyword{this}\br \terminal{* this} \end{bnf} @@ -2475,7 +2475,7 @@ \begin{bnf} \nontermdef{requires-expression}\br - \terminal{requires} \opt{requirement-parameter-list} requirement-body + \keyword{requires} \opt{requirement-parameter-list} requirement-body \end{bnf} \begin{bnf} @@ -2620,7 +2620,7 @@ \begin{bnf} \nontermdef{type-requirement}\br - \terminal{typename} \opt{nested-name-specifier} type-name \terminal{;} + \keyword{typename} \opt{nested-name-specifier} type-name \terminal{;} \end{bnf} \pnum @@ -2651,7 +2651,7 @@ \begin{bnf} \nontermdef{compound-requirement}\br - \terminal{\{} expression \terminal{\}} \opt{\terminal{noexcept}} \opt{return-type-requirement} \terminal{;} + \terminal{\{} expression \terminal{\}} \opt{\keyword{noexcept}} \opt{return-type-requirement} \terminal{;} \end{bnf} \begin{bnf} @@ -2760,7 +2760,7 @@ \begin{bnf} \nontermdef{nested-requirement}\br - \terminal{requires} constraint-expression \terminal{;} + \keyword{requires} constraint-expression \terminal{;} \end{bnf} \pnum @@ -2818,12 +2818,12 @@ postfix-expression \opt{\terminal{-> template}} id-expression\br postfix-expression \terminal{++}\br postfix-expression \terminal{-{-}}\br - \terminal{dynamic_cast <} type-id \terminal{> (} expression \terminal{)}\br - \terminal{static_cast <} type-id \terminal{> (} expression \terminal{)}\br - \terminal{reinterpret_cast <} type-id \terminal{> (} expression \terminal{)}\br - \terminal{const_cast <} type-id \terminal{> (} expression \terminal{)}\br - \terminal{typeid (} expression \terminal{)}\br - \terminal{typeid (} type-id \terminal{)} + \keyword{dynamic_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br + \keyword{static_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br + \keyword{reinterpret_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br + \keyword{const_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br + \keyword{typeid} \terminal{(} expression \terminal{)}\br + \keyword{typeid} \terminal{(} type-id \terminal{)} \end{bnf} \begin{bnf} @@ -4092,10 +4092,10 @@ \terminal{++} cast-expression\br \terminal{-{-}} cast-expression\br await-expression\br - \terminal{sizeof} unary-expression\br - \terminal{sizeof (} type-id \terminal{)}\br - \terminal{sizeof ...} \terminal{(} identifier \terminal{)}\br - \terminal{alignof (} type-id \terminal{)}\br + \keyword{sizeof} unary-expression\br + \keyword{sizeof} \terminal{(} type-id \terminal{)}\br + \keyword{sizeof} \terminal{...} \terminal{(} identifier \terminal{)}\br + \keyword{alignof} \terminal{(} type-id \terminal{)}\br noexcept-expression\br new-expression\br delete-expression @@ -4588,8 +4588,8 @@ \begin{bnf} \nontermdef{new-expression}\br - \opt{\terminal{::}} \terminal{new} \opt{new-placement} new-type-id \opt{new-initializer} \br - \opt{\terminal{::}} \terminal{new} \opt{new-placement} \terminal{(} type-id \terminal{)} \opt{new-initializer} + \opt{\terminal{::}} \keyword{new} \opt{new-placement} new-type-id \opt{new-initializer} \br + \opt{\terminal{::}} \keyword{new} \opt{new-placement} \terminal{(} type-id \terminal{)} \opt{new-initializer} \end{bnf} \indextext{\idxcode{new}!storage allocation}% @@ -5130,8 +5130,8 @@ \begin{bnf} \nontermdef{delete-expression}\br - \opt{\terminal{::}} \terminal{delete} cast-expression\br - \opt{\terminal{::}} \terminal{delete [ ]} cast-expression + \opt{\terminal{::}} \keyword{delete} cast-expression\br + \opt{\terminal{::}} \keyword{delete} \terminal{[ ]} cast-expression \end{bnf} The first alternative is a @@ -5391,7 +5391,7 @@ \begin{bnf} \nontermdef{noexcept-expression}\br - \terminal{noexcept} \terminal{(} expression \terminal{)} + \keyword{noexcept} \terminal{(} expression \terminal{)} \end{bnf} \pnum @@ -6556,7 +6556,7 @@ % \begin{bnf} \nontermdef{throw-expression}\br - \terminal{throw} \opt{assignment-expression} + \keyword{throw} \opt{assignment-expression} \end{bnf} \pnum diff --git a/source/lex.tex b/source/lex.tex index f969a89c0b..1bc1a163dc 100644 --- a/source/lex.tex +++ b/source/lex.tex @@ -656,6 +656,12 @@ \end{floattable} \pnum +\indextext{\idxcode{audit}}% +\indextext{\idxcode{axiom}}% +\indextext{\idxcode{import}}% +\indextext{\idxcode{final}}% +\indextext{\idxcode{module}}% +\indextext{\idxcode{override}}% The identifiers in \tref{identifiers.special} have a special meaning when appearing in a certain context. When referred to in the grammar, these identifiers are used explicitly rather than using the \grammarterm{identifier} grammar production. @@ -665,14 +671,14 @@ \begin{multicolfloattable}{Identifiers with special meaning}{tab:identifiers.special} {lll} -\tcode{audit} \\ -\tcode{axiom} \\ +\keyword{audit} \\ +\keyword{axiom} \\ \columnbreak -\tcode{import} \\ -\tcode{final} \\ +\keyword{final} \\ +\keyword{import} \\ \columnbreak -\tcode{module} \\ -\tcode{override} \\ +\keyword{module} \\ +\keyword{override} \\ \end{multicolfloattable} \pnum @@ -710,93 +716,93 @@ \begin{multicolfloattable}{Keywords}{tab:keywords} {lllll} -\tcode{alignas} \\ -\tcode{alignof} \\ -\tcode{asm} \\ -\tcode{auto} \\ -\tcode{bool} \\ -\tcode{break} \\ -\tcode{case} \\ -\tcode{catch} \\ -\tcode{char} \\ -\tcode{char8_t} \\ -\tcode{char16_t} \\ -\tcode{char32_t} \\ -\tcode{class} \\ -\tcode{concept} \\ -\tcode{const} \\ -\tcode{consteval} \\ +\keyword{alignas} \\ +\keyword{alignof} \\ +\keyword{asm} \\ +\keyword{auto} \\ +\keyword{bool} \\ +\keyword{break} \\ +\keyword{case} \\ +\keyword{catch} \\ +\keyword{char} \\ +\keyword{char8_t} \\ +\keyword{char16_t} \\ +\keyword{char32_t} \\ +\keyword{class} \\ +\keyword{concept} \\ +\keyword{const} \\ +\keyword{consteval} \\ \columnbreak -\tcode{constexpr} \\ -\tcode{const_cast} \\ -\tcode{continue} \\ -\tcode{co_await} \\ -\tcode{co_return} \\ -\tcode{co_yield} \\ -\tcode{decltype} \\ -\tcode{default} \\ -\tcode{delete} \\ -\tcode{do} \\ -\tcode{double} \\ -\tcode{dynamic_cast} \\ -\tcode{else} \\ -\tcode{enum} \\ -\tcode{explicit} \\ -\tcode{export} \\ +\keyword{constexpr} \\ +\keyword{const_cast} \\ +\keyword{continue} \\ +\keyword{co_await} \\ +\keyword{co_return} \\ +\keyword{co_yield} \\ +\keyword{decltype} \\ +\keyword{default} \\ +\keyword{delete} \\ +\keyword{do} \\ +\keyword{double} \\ +\keyword{dynamic_cast} \\ +\keyword{else} \\ +\keyword{enum} \\ +\keyword{explicit} \\ +\keyword{export} \\ \columnbreak -\tcode{extern} \\ -\tcode{false} \\ -\tcode{float} \\ -\tcode{for} \\ -\tcode{friend} \\ -\tcode{goto} \\ -\tcode{if} \\ -\tcode{inline} \\ -\tcode{int} \\ -\tcode{long} \\ -\tcode{mutable} \\ -\tcode{namespace} \\ -\tcode{new} \\ -\tcode{noexcept} \\ -\tcode{nullptr} \\ -\tcode{operator} \\ +\keyword{extern} \\ +\keyword{false} \\ +\keyword{float} \\ +\keyword{for} \\ +\keyword{friend} \\ +\keyword{goto} \\ +\keyword{if} \\ +\keyword{inline} \\ +\keyword{int} \\ +\keyword{long} \\ +\keyword{mutable} \\ +\keyword{namespace} \\ +\keyword{new} \\ +\keyword{noexcept} \\ +\keyword{nullptr} \\ +\keyword{operator} \\ \columnbreak -\tcode{private} \\ -\tcode{protected} \\ -\tcode{public} \\ -\tcode{register} \\ -\tcode{reinterpret_cast} \\ -\tcode{requires} \\ -\tcode{return} \\ -\tcode{short} \\ -\tcode{signed} \\ -\tcode{sizeof} \\ -\tcode{static} \\ -\tcode{static_assert} \\ -\tcode{static_cast} \\ -\tcode{struct} \\ -\tcode{switch} \\ -\tcode{template} \\ +\keyword{private} \\ +\keyword{protected} \\ +\keyword{public} \\ +\keyword{register} \\ +\keyword{reinterpret_cast} \\ +\keyword{requires} \\ +\keyword{return} \\ +\keyword{short} \\ +\keyword{signed} \\ +\keyword{sizeof} \\ +\keyword{static} \\ +\keyword{static_assert} \\ +\keyword{static_cast} \\ +\keyword{struct} \\ +\keyword{switch} \\ +\keyword{template} \\ \columnbreak -\tcode{this} \\ -\tcode{thread_local} \\ -\tcode{throw} \\ -\tcode{true} \\ -\tcode{try} \\ -\tcode{typedef} \\ -\tcode{typeid} \\ -\tcode{typename} \\ -\tcode{union} \\ -\tcode{unsigned} \\ -\tcode{using} \\ -\tcode{virtual} \\ -\tcode{void} \\ -\tcode{volatile} \\ -\tcode{wchar_t} \\ -\tcode{while} \\ +\keyword{this} \\ +\keyword{thread_local} \\ +\keyword{throw} \\ +\keyword{true} \\ +\keyword{try} \\ +\keyword{typedef} \\ +\keyword{typeid} \\ +\keyword{typename} \\ +\keyword{union} \\ +\keyword{unsigned} \\ +\keyword{using} \\ +\keyword{virtual} \\ +\keyword{void} \\ +\keyword{volatile} \\ +\keyword{wchar_t} \\ +\keyword{while} \\ \end{multicolfloattable} -\begin{note} The \tcode{register} keyword is unused but +\begin{note} The \keyword{register} keyword is unused but is reserved for future use.\end{note} \pnum @@ -809,8 +815,8 @@ \begin{floattable}{Alternative representations}{tab:alternative.representations} {llllll} \topline -\tcode{and} & \tcode{and_eq} & \tcode{bitand} & \tcode{bitor} & \tcode{compl} & \tcode{not} \\ -\tcode{not_eq} & \tcode{or} & \tcode{or_eq} & \tcode{xor} & \tcode{xor_eq} & \\ +\keyword{and} & \keyword{and_eq} & \keyword{bitand} & \keyword{bitor} & \keyword{compl} & \keyword{not} \\ +\keyword{not_eq} & \keyword{or} & \keyword{or_eq} & \keyword{xor} & \keyword{xor_eq} & \\ \end{floattable}% \indextext{keyword|)}% diff --git a/source/macros.tex b/source/macros.tex index 39da8a743f..166f6d8a9c 100644 --- a/source/macros.tex +++ b/source/macros.tex @@ -184,6 +184,7 @@ \newcommand{\term}[1]{\textit{#1}} \newcommand{\gterm}[1]{\GrammarStylex{#1}} \newcommand{\fakegrammarterm}[1]{\gterm{#1}} +\newcommand{\keyword}[1]{\tcode{#1}\indextext{\idxcode{#1}}} \newcommand{\grammarterm}[1]{\indexgram{\idxgram{#1}}\gterm{#1}} \newcommand{\grammartermnc}[1]{\indexgram{\idxgram{#1}}\gterm{#1\nocorr}} \newcommand{\placeholder}[1]{\textit{#1}} @@ -488,6 +489,7 @@ { \newcommand{\nontermdef}[1]{{\BnfNontermshape##1\itcorr}\indexgrammar{\idxgram{##1}}\textnormal{:}} \newcommand{\terminal}[1]{{\BnfTermshape ##1}} + \renewcommand{\keyword}[1]{\terminal{##1}\indextext{\idxcode{##1}}} \newcommand{\descr}[1]{\textnormal{##1}} \newcommand{\bnfindent}{\hspace*{\bnfindentfirst}} \newcommand{\bnfindentfirst}{\BnfIndent} diff --git a/source/modules.tex b/source/modules.tex index 679690a901..b5b476e404 100644 --- a/source/modules.tex +++ b/source/modules.tex @@ -7,7 +7,7 @@ \begin{bnf} \nontermdef{module-declaration}\br - \opt{\terminal{export}} \terminal{module} module-name \opt{module-partition} \opt{attribute-specifier-seq} \terminal{;} + \opt{\keyword{export}} \keyword{module} module-name \opt{module-partition} \opt{attribute-specifier-seq} \terminal{;} \end{bnf} \begin{bnf} @@ -180,8 +180,8 @@ \begin{bnf} \nontermdef{export-declaration}\br - \terminal{export} declaration\br - \terminal{export} \terminal{\{} \opt{declaration-seq} \terminal{\}} + \keyword{export} declaration\br + \keyword{export} \terminal{\{} \opt{declaration-seq} \terminal{\}} \end{bnf} \pnum @@ -411,9 +411,9 @@ \begin{bnf} \nontermdef{module-import-declaration}\br - \opt{\terminal{export}} \terminal{import} module-name \opt{attribute-specifier-seq} \terminal{;}\br - \opt{\terminal{export}} \terminal{import} module-partition \opt{attribute-specifier-seq} \terminal{;}\br - \opt{\terminal{export}} \terminal{import} header-name \opt{attribute-specifier-seq} \terminal{;} + \opt{\keyword{export}} \keyword{import} module-name \opt{attribute-specifier-seq} \terminal{;}\br + \opt{\keyword{export}} \keyword{import} module-partition \opt{attribute-specifier-seq} \terminal{;}\br + \opt{\keyword{export}} \keyword{import} header-name \opt{attribute-specifier-seq} \terminal{;} \end{bnf} \pnum @@ -556,7 +556,7 @@ \begin{bnf} \nontermdef{global-module-fragment}\br - \terminal{module} \terminal{;} \opt{top-level-declaration-seq} + \keyword{module} \terminal{;} \opt{top-level-declaration-seq} \end{bnf} \pnum diff --git a/source/overloading.tex b/source/overloading.tex index 8c90f86275..b4e50d9951 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -845,7 +845,7 @@ form \begin{ncsimplebnf} -\terminal{operator} conversion-type-id \terminal{(\,)} cv-qualifier \opt{ref-qualifier} \opt{noexcept-specifier} \opt{attribute-specifier-seq} \terminal{;} +\keyword{operator} conversion-type-id \terminal{(\,)} cv-qualifier \opt{ref-qualifier} \opt{noexcept-specifier} \opt{attribute-specifier-seq} \terminal{;} \end{ncsimplebnf} where @@ -3120,7 +3120,7 @@ \begin{bnf} \nontermdef{operator-function-id}\br - \terminal{operator} operator + \keyword{operator} operator \end{bnf} \begin{bnf} @@ -3442,7 +3442,7 @@ uses \tcode{->}. \begin{ncsimplebnf} -postfix-expression \terminal{->} \terminal{\opt{template}} id-expression +postfix-expression \terminal{->} \opt{\keyword{template}} id-expression \end{ncsimplebnf} An expression @@ -3532,8 +3532,8 @@ \begin{bnf} \nontermdef{literal-operator-id}\br - \terminal{operator} string-literal identifier\br - \terminal{operator} user-defined-string-literal + \keyword{operator} string-literal identifier\br + \keyword{operator} user-defined-string-literal \end{bnf} \pnum diff --git a/source/statements.tex b/source/statements.tex index c3be4d2f0c..86dbafb830 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -143,8 +143,8 @@ \begin{bnf} \nontermdef{labeled-statement}\br \opt{attribute-specifier-seq} identifier \terminal{:} statement\br - \opt{attribute-specifier-seq} \terminal{case} constant-expression \terminal{:} statement\br - \opt{attribute-specifier-seq} \terminal{default :} statement + \opt{attribute-specifier-seq} \keyword{case} constant-expression \terminal{:} statement\br + \opt{attribute-specifier-seq} \keyword{default} \terminal{:} statement \end{bnf} The optional \grammarterm{attribute-specifier-seq} appertains to the label. An @@ -236,9 +236,9 @@ % \begin{bnf} \nontermdef{selection-statement}\br - \terminal{if \opt{constexpr} (} \opt{init-statement} condition \terminal{)} statement\br - \terminal{if \opt{constexpr} (} \opt{init-statement} condition \terminal{)} statement \terminal{else} statement\br - \terminal{switch (} \opt{init-statement} condition \terminal{)} statement + \keyword{if} \opt{\keyword{constexpr}} \terminal{(} \opt{init-statement} condition \terminal{)} statement\br + \keyword{if} \opt{\keyword{constexpr}} \terminal{(} \opt{init-statement} condition \terminal{)} statement \keyword{else} statement\br + \keyword{switch} \terminal{(} \opt{init-statement} condition \terminal{)} statement \end{bnf} See~\ref{dcl.meaning} for the optional \grammarterm{attribute-specifier-seq} in a condition. @@ -333,24 +333,24 @@ \pnum An \tcode{if} statement of the form \begin{ncsimplebnf} -\terminal{if \opt{constexpr} (} init-statement condition \terminal{)} statement +\keyword{if} \opt{\keyword{constexpr}} \terminal{(} init-statement condition \terminal{)} statement \end{ncsimplebnf} is equivalent to \begin{ncsimplebnf} \terminal{\{}\br \bnfindent init-statement\br -\bnfindent \terminal{if \opt{constexpr} (} condition \terminal{)} statement\br +\bnfindent \keyword{if} \opt{\keyword{constexpr}} \terminal{(} condition \terminal{)} statement\br \terminal{\}} \end{ncsimplebnf} and an \tcode{if} statement of the form \begin{ncsimplebnf} -\terminal{if \opt{constexpr} (} init-statement condition \terminal{)} statement \terminal{else} statement +\keyword{if} \opt{\keyword{constexpr}} \terminal{(} init-statement condition \terminal{)} statement \keyword{else} statement \end{ncsimplebnf} is equivalent to \begin{ncsimplebnf} \terminal{\{}\br \bnfindent init-statement\br -\bnfindent \terminal{if \opt{constexpr} (} condition \terminal{)} statement \terminal{else} statement\br +\bnfindent \keyword{if} \opt{\keyword{constexpr}} \terminal{(} condition \terminal{)} statement \keyword{else} statement\br \terminal{\}} \end{ncsimplebnf} except that names declared in the \grammarterm{init-statement} are in @@ -378,7 +378,7 @@ \begin{ncbnf} \indextext{label!\idxcode{case}}% -\terminal{case} constant-expression \terminal{:} +\keyword{case} constant-expression \terminal{:} \end{ncbnf} where the \grammarterm{constant-expression} shall be @@ -429,13 +429,13 @@ \pnum A \tcode{switch} statement of the form \begin{ncsimplebnf} -\terminal{switch (} init-statement condition \terminal{)} statement +\keyword{switch} \terminal{(} init-statement condition \terminal{)} statement \end{ncsimplebnf} is equivalent to \begin{ncsimplebnf} \terminal{\{}\br \bnfindent init-statement\br -\bnfindent \terminal{switch (} condition \terminal{)} statement\br +\bnfindent \keyword{switch} \terminal{(} condition \terminal{)} statement\br \terminal{\}} \end{ncsimplebnf} except that names declared in the \grammarterm{init-statement} are in @@ -455,10 +455,10 @@ % \begin{bnf} \nontermdef{iteration-statement}\br - \terminal{while (} condition \terminal{)} statement\br - \terminal{do} statement \terminal{while (} expression \terminal{) ;}\br - \terminal{for (} init-statement \opt{condition} \terminal{;} \opt{expression} \terminal{)} statement\br - \terminal{for (} \opt{init-statement} for-range-declaration \terminal{:} for-range-initializer \terminal{)} statement + \keyword{while} \terminal{(} condition \terminal{)} statement\br + \keyword{do} statement \keyword{while} \terminal{(} expression \terminal{) ;}\br + \keyword{for} \terminal{(} init-statement \opt{condition} \terminal{;} \opt{expression} \terminal{)} statement\br + \keyword{for} \terminal{(} \opt{init-statement} for-range-declaration \terminal{:} for-range-initializer \terminal{)} statement \end{bnf} \begin{bnf} @@ -538,9 +538,9 @@ \begin{ncsimplebnf} \terminal{label:}\br \terminal{\{}\br -\bnfindent \terminal{if (} condition \terminal{) \{}\br +\bnfindent \keyword{if} \terminal{(} condition \terminal{) \{}\br \bnfindent \bnfindent statement\br -\bnfindent \bnfindent \terminal{goto label;}\br +\bnfindent \bnfindent \keyword{goto} \terminal{label;}\br \bnfindent \terminal{\}}\br \terminal{\}} \end{ncsimplebnf} @@ -585,13 +585,13 @@ \pnum The \tcode{for} statement \begin{ncsimplebnf} -\terminal{for (} init-statement \opt{condition} \terminal{;} \opt{expression} \terminal{)} statement +\keyword{for} \terminal{(} init-statement \opt{condition} \terminal{;} \opt{expression} \terminal{)} statement \end{ncsimplebnf} is equivalent to \begin{ncsimplebnf} \terminal{\{}\br \bnfindent init-statement\br -\bnfindent \terminal{while (} condition \terminal{) \{}\br +\bnfindent \keyword{while} \terminal{(} condition \terminal{) \{}\br \bnfindent\bnfindent statement\br \bnfindent\bnfindent expression \terminal{;}\br \bnfindent \terminal{\}}\br @@ -643,16 +643,16 @@ \pnum The range-based \tcode{for} statement \begin{ncsimplebnf} -\terminal{for (} \opt{init-statement} for-range-declaration \terminal{:} for-range-initializer \terminal{)} statement +\keyword{for} \terminal{(} \opt{init-statement} for-range-declaration \terminal{:} for-range-initializer \terminal{)} statement \end{ncsimplebnf} is equivalent to \begin{ncsimplebnf} \terminal{\{}\br \bnfindent \opt{init-statement}\br -\bnfindent \terminal{auto \&\&__range =} for-range-initializer \terminal{;}\br -\bnfindent \terminal{auto __begin =} begin-expr \terminal{;}\br -\bnfindent \terminal{auto __end =} end-expr \terminal{;}\br -\bnfindent \terminal{for ( ; __begin != __end; ++__begin ) \{}\br +\bnfindent \keyword{auto} \terminal{\&\&__range =} for-range-initializer \terminal{;}\br +\bnfindent \keyword{auto} \terminal{__begin =} begin-expr \terminal{;}\br +\bnfindent \keyword{auto} \terminal{__end =} end-expr \terminal{;}\br +\bnfindent \keyword{for} \terminal{( ; __begin != __end; ++__begin ) \{}\br \bnfindent\bnfindent for-range-declaration \terminal{= *__begin;}\br \bnfindent\bnfindent statement\br \bnfindent \terminal{\}}\br @@ -724,11 +724,11 @@ % \begin{bnf} \nontermdef{jump-statement}\br - \terminal{break ;}\br - \terminal{continue ;}\br - \terminal{return} \opt{expr-or-braced-init-list} \terminal{;}\br + \keyword{break ;}\br + \keyword{continue ;}\br + \keyword{return} \opt{expr-or-braced-init-list} \terminal{;}\br coroutine-return-statement\br - \terminal{goto} identifier \terminal{;} + \keyword{goto} identifier \terminal{;} \end{bnf} \pnum diff --git a/source/templates.tex b/source/templates.tex index fb5f350ae5..3d34b79e47 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -21,7 +21,7 @@ \begin{bnf} \nontermdef{template-head}\br - \terminal{template} \terminal{<} template-parameter-list \terminal{>} \opt{requires-clause} + \keyword{template} \terminal{<} template-parameter-list \terminal{>} \opt{requires-clause} \end{bnf} \begin{bnf} @@ -32,7 +32,7 @@ \begin{bnf} \nontermdef{requires-clause}\br - \terminal{requires} constraint-logical-or-expression + \keyword{requires} constraint-logical-or-expression \end{bnf} \begin{bnf} @@ -49,7 +49,7 @@ \begin{bnf} \nontermdef{concept-definition}\br - \terminal{concept} concept-name \terminal{=} constraint-expression \terminal{;} + \keyword{concept} concept-name \terminal{=} constraint-expression \terminal{;} \end{bnf} \begin{bnf} @@ -278,8 +278,8 @@ \begin{bnf} \nontermdef{type-parameter-key}\br - \terminal{class}\br - \terminal{typename} + \keyword{class}\br + \keyword{typename} \end{bnf} \begin{note} The \tcode{>} token following the @@ -4015,8 +4015,8 @@ \begin{bnf} \nontermdef{typename-specifier}\br - \terminal{typename} nested-name-specifier identifier\br - \terminal{typename} nested-name-specifier \terminal{\opt{template}} simple-template-id + \keyword{typename} nested-name-specifier identifier\br + \keyword{typename} nested-name-specifier \terminal{\opt{template}} simple-template-id \end{bnf} \pnum @@ -5120,12 +5120,12 @@ \begin{ncsimplebnf} simple-type-specifier \terminal{(} \opt{expression-list} \terminal{)}\br -\terminal{\opt{::} new} \opt{new-placement} new-type-id \opt{new-initializer}\br -\terminal{\opt{::} new} \opt{new-placement} \terminal{(} type-id \terminal{)} \opt{new-initializer}\br -\terminal{dynamic_cast <} type-id \terminal{> (} expression \terminal{)}\br -\terminal{static_cast <} type-id \terminal{> (} expression \terminal{)}\br -\terminal{const_cast <} type-id \terminal{> (} expression \terminal{)}\br -\terminal{reinterpret_cast <} type-id \terminal{> (} expression \terminal{)}\br +\opt{\terminal{::}} \keyword{new} \opt{new-placement} new-type-id \opt{new-initializer}\br +\opt{\terminal{::}} \keyword{new} \opt{new-placement} \terminal{(} type-id \terminal{)} \opt{new-initializer}\br +\keyword{dynamic_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br +\keyword{static_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br +\keyword{const_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br +\keyword{reinterpret_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br \terminal{(} type-id \terminal{)} cast-expression \end{ncsimplebnf} @@ -5135,16 +5135,16 @@ \begin{ncsimplebnf} literal\br -\terminal{sizeof} unary-expression\br -\terminal{sizeof (} type-id \terminal{)}\br -\terminal{sizeof} \terminal{...} \terminal{(} identifier \terminal{)}\br -\terminal{alignof (} type-id \terminal{)}\br -\terminal{typeid (} expression \terminal{)}\br -\terminal{typeid (} type-id \terminal{)}\br -\terminal{\opt{::} delete} cast-expression\br -\terminal{\opt{::} delete [ ]} cast-expression\br -\terminal{throw} \opt{assignment-expression}\br -\terminal{noexcept} \terminal{(} expression \terminal{)} +\keyword{sizeof} unary-expression\br +\keyword{sizeof} \terminal{(} type-id \terminal{)}\br +\keyword{sizeof} \terminal{...} \terminal{(} identifier \terminal{)}\br +\keyword{alignof} \terminal{(} type-id \terminal{)}\br +\keyword{typeid} \terminal{(} expression \terminal{)}\br +\keyword{typeid} \terminal{(} type-id \terminal{)}\br +\opt{\terminal{::}} \keyword{delete} cast-expression\br +\opt{\terminal{::}} \keyword{delete} \terminal{[ ]} cast-expression\br +\keyword{throw} \opt{assignment-expression}\br +\keyword{noexcept} \terminal{(} expression \terminal{)} \end{ncsimplebnf} \begin{note} For the standard library macro \tcode{offsetof}, @@ -5225,12 +5225,12 @@ is dependent: \begin{ncsimplebnf} -\terminal{sizeof} unary-expression\br -\terminal{sizeof (} type-id \terminal{)}\br -\terminal{typeid (} expression \terminal{)}\br -\terminal{typeid (} type-id \terminal{)}\br -\terminal{alignof (} type-id \terminal{)}\br -\terminal{noexcept} \terminal{(} expression \terminal{)} +\keyword{sizeof} unary-expression\br +\keyword{sizeof} \terminal{(} type-id \terminal{)}\br +\keyword{typeid} \terminal{(} expression \terminal{)}\br +\keyword{typeid} \terminal{(} type-id \terminal{)}\br +\keyword{alignof} \terminal{(} type-id \terminal{)}\br +\keyword{noexcept} \terminal{(} expression \terminal{)} \end{ncsimplebnf} \begin{note} For the standard library macro \tcode{offsetof}, @@ -5249,9 +5249,9 @@ \begin{ncsimplebnf} simple-type-specifier \terminal{(} \opt{expression-list} \terminal{)}\br -\terminal{static_cast <} type-id \terminal{> (} expression \terminal{)}\br -\terminal{const_cast <} type-id \terminal{> (} expression \terminal{)}\br -\terminal{reinterpret_cast <} type-id \terminal{> (} expression \terminal{)}\br +\keyword{static_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br +\keyword{const_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br +\keyword{reinterpret_cast} \terminal{<} type-id \terminal{> (} expression \terminal{)}\br \terminal{(} type-id \terminal{)} cast-expression \end{ncsimplebnf} @@ -5259,7 +5259,7 @@ Expressions of the following form are value-dependent: \begin{ncsimplebnf} -\terminal{sizeof} \terminal{...} \terminal{(} identifier \terminal{)}\br +\keyword{sizeof} \terminal{...} \terminal{(} identifier \terminal{)}\br fold-expression \end{ncsimplebnf} @@ -6225,7 +6225,7 @@ \begin{bnf} \nontermdef{explicit-instantiation}\br - \terminal{\opt{extern}} \terminal{template} declaration + \opt{\keyword{extern}} \keyword{template} declaration \end{bnf} There are two forms of explicit instantiation: an explicit instantiation @@ -6496,7 +6496,7 @@ \begin{bnf} \nontermdef{explicit-specialization}\br - \terminal{template < >} declaration + \keyword{template} \terminal{< >} declaration \end{bnf} \begin{example} @@ -8988,7 +8988,7 @@ \begin{bnf} \nontermdef{deduction-guide}\br - \opt{\terminal{explicit}} template-name \terminal{(} parameter-declaration-clause \terminal{) ->} simple-template-id \terminal{;} + \opt{\keyword{explicit}} template-name \terminal{(} parameter-declaration-clause \terminal{) ->} simple-template-id \terminal{;} \end{bnf} \pnum From 2585d7f5894b46e0aa2f961183060a5201b2cca7 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 21 Dec 2018 19:29:38 +0100 Subject: [PATCH 133/148] [std] Replace underscores in stable labels with periods. --- source/algorithms.tex | 16 +++---- source/basic.tex | 2 +- source/classes.tex | 2 +- source/containers.tex | 4 +- source/diagnostics.tex | 2 +- source/future.tex | 2 +- source/iostreams.tex | 106 ++++++++++++++++++++--------------------- source/numerics.tex | 82 +++++++++++++++---------------- source/strings.tex | 6 +-- source/support.tex | 2 +- source/threads.tex | 12 ++--- source/time.tex | 6 +-- source/utilities.tex | 30 ++++++------ source/xrefdelta.tex | 84 ++++++++++++++++++++++++++++++++ 14 files changed, 220 insertions(+), 136 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index bdb7a4cac9..5b3761e6ab 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -609,7 +609,7 @@ namespace std { // \ref{alg.nonmodifying}, non-modifying sequence operations - // \ref{alg.all_of}, all of + // \ref{alg.all.of}, all of template constexpr bool all_of(InputIterator first, InputIterator last, Predicate pred); template @@ -625,7 +625,7 @@ constexpr bool all_of(R&& r, Pred pred, Proj proj = {}); } - // \ref{alg.any_of}, any of + // \ref{alg.any.of}, any of template constexpr bool any_of(InputIterator first, InputIterator last, Predicate pred); template @@ -641,7 +641,7 @@ constexpr bool any_of(R&& r, Pred pred, Proj proj = {}); } - // \ref{alg.none_of}, none of + // \ref{alg.none.of}, none of template constexpr bool none_of(InputIterator first, InputIterator last, Predicate pred); template @@ -1013,7 +1013,7 @@ Proj1 proj1 = {}, Proj2 proj2 = {}); } - // \ref{alg.is_permutation}, is permutation + // \ref{alg.is.permutation}, is permutation template constexpr bool is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2); @@ -2888,7 +2888,7 @@ \rSec1[alg.nonmodifying]{Non-modifying sequence operations} -\rSec2[alg.all_of]{All of} +\rSec2[alg.all.of]{All of} \indexlibrary{\idxcode{all_of}}% \begin{itemdecl} @@ -2924,7 +2924,7 @@ At most \tcode{last - first} applications of the predicate and any projection. \end{itemdescr} -\rSec2[alg.any_of]{Any of} +\rSec2[alg.any.of]{Any of} \indexlibrary{\idxcode{any_of}}% \begin{itemdecl} @@ -2959,7 +2959,7 @@ and any projection. \end{itemdescr} -\rSec2[alg.none_of]{None of} +\rSec2[alg.none.of]{None of} \indexlibrary{\idxcode{none_of}}% \begin{itemdecl} @@ -3781,7 +3781,7 @@ \end{itemize} \end{itemdescr} -\rSec2[alg.is_permutation]{Is permutation} +\rSec2[alg.is.permutation]{Is permutation} \indexlibrary{\idxcode{is_permutation}}% \begin{itemdecl} diff --git a/source/basic.tex b/source/basic.tex index 178a5ec5e2..65f6c04717 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -135,7 +135,7 @@ \item it declares a static data member outside a class definition and the variable was defined within the class with the \tcode{constexpr} -specifier (this usage is deprecated; see \ref{depr.static_constexpr}), +specifier (this usage is deprecated; see \ref{depr.static.constexpr}), \item \indextext{declaration!class name}% it is introduced by an \grammarterm{elaborated-type-specifier}\iref{class.name}, diff --git a/source/classes.tex b/source/classes.tex index f9d17fc2ea..f6e85bcfe6 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -2837,7 +2837,7 @@ and may specify a \grammarterm{brace-or-equal-initializer}. If the member is declared with the \tcode{constexpr} specifier, it may be redeclared in namespace scope with no initializer (this usage is -deprecated; see \ref{depr.static_constexpr}). Declarations of other +deprecated; see \ref{depr.static.constexpr}). Declarations of other static data members shall not specify a \grammarterm{brace-or-equal-initializer}. \pnum diff --git a/source/containers.tex b/source/containers.tex index a329e9091a..99d4b109e5 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -3224,7 +3224,7 @@ } \end{codeblock} -\rSec2[forward_list.syn]{Header \tcode{} synopsis} +\rSec2[forward.list.syn]{Header \tcode{} synopsis} \indexhdr{forward_list}% @@ -4689,7 +4689,7 @@ \complexity Linear time. \end{itemdescr} -\rSec3[forward_list.erasure]{Erasure} +\rSec3[forward.list.erasure]{Erasure} \indexlibrary{\idxcode{erase}!\idxcode{forward_list}}% \begin{itemdecl} diff --git a/source/diagnostics.tex b/source/diagnostics.tex index 1d805a450f..1cc9dd3e3f 100644 --- a/source/diagnostics.tex +++ b/source/diagnostics.tex @@ -677,7 +677,7 @@ Implementations should leave the error states provided by other libraries unchanged. -\rSec2[system_error.syn]{Header \tcode{} synopsis} +\rSec2[system.error.syn]{Header \tcode{} synopsis} \indexhdr{system_error}% \indexlibrary{\idxcode{error_category}}% \indexlibrary{\idxcode{error_code}}% diff --git a/source/future.tex b/source/future.tex index ad16437031..8bdf04e2f1 100644 --- a/source/future.tex +++ b/source/future.tex @@ -73,7 +73,7 @@ \end{codeblock} \end{example} -\rSec1[depr.static_constexpr]{Redeclaration of \tcode{static constexpr} data members} +\rSec1[depr.static.constexpr]{Redeclaration of \tcode{static constexpr} data members} \pnum For compatibility with prior \Cpp{} International Standards, a \tcode{constexpr} diff --git a/source/iostreams.tex b/source/iostreams.tex index 91bb85982f..43932c05df 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -10822,13 +10822,13 @@ void swap(path& lhs, path& rhs) noexcept; size_t hash_value(const path& p) noexcept; - // \ref{fs.class.filesystem_error}, filesystem errors + // \ref{fs.class.filesystem.error}, filesystem errors class filesystem_error; - // \ref{fs.class.directory_entry}, directory entries + // \ref{fs.class.directory.entry}, directory entries class directory_entry; - // \ref{fs.class.directory_iterator}, directory iterators + // \ref{fs.class.directory.iterator}, directory iterators class directory_iterator; // \ref{fs.dir.itr.nonmembers}, range access for directory iterators @@ -10842,7 +10842,7 @@ recursive_directory_iterator begin(recursive_directory_iterator iter) noexcept; recursive_directory_iterator end(const recursive_directory_iterator&) noexcept; - // \ref{fs.class.file_status}, file status + // \ref{fs.class.file.status}, file status class file_status; struct space_info { @@ -12862,7 +12862,7 @@ \effects Equivalent to: \tcode{return path(lhs) /= rhs;} \end{itemdescr} -\rSec2[fs.class.filesystem_error]{Class \tcode{filesystem_error}} +\rSec2[fs.class.filesystem.error]{Class \tcode{filesystem_error}} \indexlibrary{\idxcode{filesystem_error}}% \begin{codeblock} @@ -12886,7 +12886,7 @@ objects thrown as exceptions to report file system errors from functions described in this subclause. -\rSec3[fs.filesystem_error.members]{Members} +\rSec3[fs.filesystem.error.members]{Members} \pnum Constructors are provided that store zero, one, or two paths associated with @@ -13003,16 +13003,16 @@ \end{note} \\\rowsep \end{floattable} -\rSec3[fs.enum.file_type]{Enum class \tcode{file_type}} +\rSec3[fs.enum.file.type]{Enum class \tcode{file_type}} \indexlibrary{\idxcode{file_type}}% \pnum This enum class specifies constants used to identify file types, -with the meanings listed in \tref{fs.enum.file_type}. +with the meanings listed in \tref{fs.enum.file.type}. The values of the constants are distinct. \begin{floattable} -{Enum class \tcode{file_type}}{tab:fs.enum.file_type} +{Enum class \tcode{file_type}}{tab:fs.enum.file.type} {lp{4.5in}} \topline \lhdr{Constant} & @@ -13217,14 +13217,14 @@ Skip directories that would otherwise result in permission denied. \\ \end{floattable} -\rSec2[fs.class.file_status]{Class \tcode{file_status}} +\rSec2[fs.class.file.status]{Class \tcode{file_status}} \indexlibrary{\idxcode{file_status}}% \begin{codeblock} namespace std::filesystem { class file_status { public: - // \ref{fs.file_status.cons}, constructors and destructor + // \ref{fs.file.status.cons}, constructors and destructor file_status() noexcept : file_status(file_type::none) {} explicit file_status(file_type ft, perms prms = perms::unknown) noexcept; @@ -13236,11 +13236,11 @@ file_status& operator=(const file_status&) noexcept = default; file_status& operator=(file_status&&) noexcept = default; - // \ref{fs.file_status.mods}, modifiers + // \ref{fs.file.status.mods}, modifiers void type(file_type ft) noexcept; void permissions(perms prms) noexcept; - // \ref{fs.file_status.obs}, observers + // \ref{fs.file.status.obs}, observers file_type type() const noexcept; perms permissions() const noexcept; }; @@ -13250,7 +13250,7 @@ \pnum An object of type \tcode{file_status} stores information about the type and permissions of a file. -\rSec3[fs.file_status.cons]{Constructors} +\rSec3[fs.file.status.cons]{Constructors} \indexlibrary{\idxcode{file_status}!constructor}% \begin{itemdecl} @@ -13262,7 +13262,7 @@ \ensures \tcode{type() == ft} and \tcode{permissions() == prms}. \end{itemdescr} -\rSec3[fs.file_status.obs]{Observers} +\rSec3[fs.file.status.obs]{Observers} \indexlibrarymember{type}{file_status}% \begin{itemdecl} @@ -13286,7 +13286,7 @@ \tcode{operator=}, or \tcode{permissions(perms)} function. \end{itemdescr} -\rSec3[fs.file_status.mods]{Modifiers} +\rSec3[fs.file.status.mods]{Modifiers} \indexlibrarymember{type}{file_status}% \begin{itemdecl} @@ -13308,7 +13308,7 @@ \ensures \tcode{permissions() == prms}. \end{itemdescr} -\rSec2[fs.class.directory_entry]{Class \tcode{directory_entry}} +\rSec2[fs.class.directory.entry]{Class \tcode{directory_entry}} \indexlibrary{\idxcode{directory_entry}}% \begin{codeblock} @@ -13396,7 +13396,7 @@ \pnum \begin{note} For purposes of exposition, -class \tcode{directory_iterator}\iref{fs.class.directory_iterator} +class \tcode{directory_iterator}\iref{fs.class.directory.iterator} is shown above as a friend of class \tcode{directory_entry}. Friendship allows the \tcode{directory_iterator} implementation to cache already available attribute values @@ -13507,7 +13507,7 @@ \pnum \begin{note} -Implementations of \tcode{directory_iterator}\iref{fs.class.directory_iterator} +Implementations of \tcode{directory_iterator}\iref{fs.class.directory.iterator} are prohibited from directly or indirectly calling the \tcode{refresh} function since it must access the external file system, and the objective of caching is to avoid unnecessary file system accesses. @@ -13794,13 +13794,13 @@ \returns \tcode{pathobject >= rhs.pathobject}. \end{itemdescr} -\rSec2[fs.class.directory_iterator]{Class \tcode{directory_iterator}} +\rSec2[fs.class.directory.iterator]{Class \tcode{directory_iterator}} \indexlibrary{\idxcode{directory_iterator}}% \pnum An object of type \tcode{directory_iterator} provides an iterator for a sequence of \tcode{directory_entry} elements representing the -path and any cached attribute values\iref{fs.class.directory_entry} +path and any cached attribute values\iref{fs.class.directory.entry} for each file in a directory or in an \impldef{type of a directory-like file} directory-like file type. \begin{note} For iteration into sub-directories, see class \tcode{recursive_directory_iterator}\iref{fs.class.rec.dir.itr}. @@ -13873,13 +13873,13 @@ \pnum Constructors and non-const \tcode{directory_iterator} member functions -store the values of any cached attributes\iref{fs.class.directory_entry} +store the values of any cached attributes\iref{fs.class.directory.entry} in the \tcode{directory_entry} element returned by \tcode{operator*()}. \tcode{directory_iterator} member functions shall not directly or indirectly call any \tcode{directory_entry} \tcode{refresh} function. \begin{note} The exact mechanism for storing cached attribute values is not exposed to users. -For exposition, class \tcode{directory_iterator} is shown in \ref{fs.class.directory_entry} +For exposition, class \tcode{directory_iterator} is shown in \ref{fs.class.directory.entry} as a friend of class \tcode{directory_entry}. \end{note} @@ -14506,7 +14506,7 @@ \begin{itemize} \item If \tcode{f.type()} or \tcode{t.type()} is an implementation-defined -file type\iref{fs.enum.file_type}, then the effects are +file type\iref{fs.enum.file.type}, then the effects are \impldef{effect of \tcode{filesystem::copy}}. \item @@ -14628,7 +14628,7 @@ \end{itemdescr} -\rSec3[fs.op.copy_file]{Copy file} +\rSec3[fs.op.copy.file]{Copy file} \indexlibrary{\idxcode{copy_file}}% \begin{itemdecl} @@ -14684,7 +14684,7 @@ \item \tcode{exists(to)} is \tcode{false}, or \item \tcode{(options \& copy_options::overwrite_existing) != copy_options::none}, or \item \tcode{(options \& copy_options::update_existing) \: \: != copy_options::none} and \tcode{from} - is more recent than \tcode{to}, determined as if by use of the \tcode{last_write_time} function\iref{fs.op.last_write_time}. + is more recent than \tcode{to}, determined as if by use of the \tcode{last_write_time} function\iref{fs.op.last.write.time}. \end{itemize} \item @@ -14703,7 +14703,7 @@ \complexity At most one direct or indirect invocation of \tcode{status(to)}. \end{itemdescr} -\rSec3[fs.op.copy_symlink]{Copy symlink} +\rSec3[fs.op.copy.symlink]{Copy symlink} \indexlibrary{\idxcode{copy_symlink}}% \begin{itemdecl} @@ -14725,7 +14725,7 @@ \end{itemdescr} -\rSec3[fs.op.create_directories]{Create directories} +\rSec3[fs.op.create.directories]{Create directories} \indexlibrary{\idxcode{create_directories}}% \begin{itemdecl} @@ -14752,7 +14752,7 @@ \end{itemdescr} -\rSec3[fs.op.create_directory]{Create directory} +\rSec3[fs.op.create.directory]{Create directory} \indexlibrary{\idxcode{create_directory}}% \begin{itemdecl} @@ -14806,7 +14806,7 @@ \end{itemdescr} -\rSec3[fs.op.create_dir_symlk]{Create directory symlink} +\rSec3[fs.op.create.dir.symlk]{Create directory symlink} \indexlibrary{\idxcode{create_directory_symlink}}% \begin{itemdecl} @@ -14838,7 +14838,7 @@ symbolic links regardless of the operating system. \end{note} \end{itemdescr} -\rSec3[fs.op.create_hard_lk]{Create hard link} +\rSec3[fs.op.create.hard.lk]{Create hard link} \indexlibrary{\idxcode{create_hard_link}}% \begin{itemdecl} @@ -14869,7 +14869,7 @@ Some file systems limit the number of links per file. \end{note} \end{itemdescr} -\rSec3[fs.op.create_symlink]{Create symlink} +\rSec3[fs.op.create.symlink]{Create symlink} \indexlibrary{\idxcode{create_symlink}}% \begin{itemdecl} @@ -14896,7 +14896,7 @@ support symbolic links regardless of the operating system. \end{note} \end{itemdescr} -\rSec3[fs.op.current_path]{Current path} +\rSec3[fs.op.current.path]{Current path} \indexlibrary{\idxcode{current_path}}% \begin{itemdecl} @@ -15019,7 +15019,7 @@ \end{itemdescr} -\rSec3[fs.op.file_size]{File size} +\rSec3[fs.op.file.size]{File size} \indexlibrary{\idxcode{file_size}}% \begin{itemdecl} @@ -15050,7 +15050,7 @@ \end{itemdescr} -\rSec3[fs.op.hard_lk_ct]{Hard link count} +\rSec3[fs.op.hard.lk.ct]{Hard link count} \indexlibrary{\idxcode{hard_link_count}}% \begin{itemdecl} @@ -15069,7 +15069,7 @@ \end{itemdescr} -\rSec3[fs.op.is_block_file]{Is block file} +\rSec3[fs.op.is.block.file]{Is block file} \indexlibrary{\idxcode{is_block_file}}% \begin{itemdecl} @@ -15097,7 +15097,7 @@ \end{itemdescr} -\rSec3[fs.op.is_char_file]{Is character file} +\rSec3[fs.op.is.char.file]{Is character file} \indexlibrary{\idxcode{is_character_file}}% \begin{itemdecl} @@ -15127,7 +15127,7 @@ \end{itemdescr} -\rSec3[fs.op.is_directory]{Is directory} +\rSec3[fs.op.is.directory]{Is directory} \indexlibrary{\idxcode{is_directory}}% \begin{itemdecl} @@ -15156,7 +15156,7 @@ \end{itemdescr} -\rSec3[fs.op.is_empty]{Is empty} +\rSec3[fs.op.is.empty]{Is empty} \indexlibrary{\idxcode{is_empty}!function}% \begin{itemdecl} @@ -15197,7 +15197,7 @@ \end{itemdescr} -\rSec3[fs.op.is_fifo]{Is fifo} +\rSec3[fs.op.is.fifo]{Is fifo} \indexlibrary{\idxcode{is_fifo}}% \begin{itemdecl} @@ -15226,7 +15226,7 @@ \end{itemdescr} -\rSec3[fs.op.is_other]{Is other} +\rSec3[fs.op.is.other]{Is other} \indexlibrary{\idxcode{is_other}}% \begin{itemdecl} @@ -15255,7 +15255,7 @@ \end{itemdescr} -\rSec3[fs.op.is_regular_file]{Is regular file} +\rSec3[fs.op.is.regular.file]{Is regular file} \indexlibrary{\idxcode{is_regular_file}}% \begin{itemdecl} @@ -15297,7 +15297,7 @@ \end{itemdescr} -\rSec3[fs.op.is_socket]{Is socket} +\rSec3[fs.op.is.socket]{Is socket} \indexlibrary{\idxcode{is_socket}}% \begin{itemdecl} @@ -15326,7 +15326,7 @@ \end{itemdescr} -\rSec3[fs.op.is_symlink]{Is symlink} +\rSec3[fs.op.is.symlink]{Is symlink} \indexlibrary{\idxcode{is_symlink}}% \begin{itemdecl} @@ -15355,7 +15355,7 @@ \end{itemdescr} -\rSec3[fs.op.last_write_time]{Last write time} +\rSec3[fs.op.last.write.time]{Last write time} \indexlibrary{\idxcode{last_write_time}}% \begin{itemdecl} @@ -15465,7 +15465,7 @@ \throws As specified in~\ref{fs.err.report}. \end{itemdescr} -\rSec3[fs.op.read_symlink]{Read symlink} +\rSec3[fs.op.read.symlink]{Read symlink} \indexlibrary{\idxcode{read_symlink}}% \begin{itemdecl} @@ -15550,7 +15550,7 @@ \end{itemdescr} -\rSec3[fs.op.remove_all]{Remove all} +\rSec3[fs.op.remove.all]{Remove all} \indexlibrary{\idxcode{remove_all}}% \begin{itemdecl} @@ -15612,7 +15612,7 @@ \end{itemdescr} -\rSec3[fs.op.resize_file]{Resize file} +\rSec3[fs.op.resize.file]{Resize file} \indexlibrary{\idxcode{resize_file}}% \begin{itemdecl} @@ -15751,7 +15751,7 @@ \item Otherwise, if the attributes indicate a socket, as if by POSIX \tcode{S_ISSOCK}, returns \tcode{file_status(file_type::socket, prms)}. \item Otherwise, if the attributes indicate an implementation-defined - file type\iref{fs.enum.file_type}, + file type\iref{fs.enum.file.type}, returns \tcode{file_status(file_type::\placeholdernc{A}, prms)}, where \tcode{\placeholdernc{A}} is the constant for the \impldef{file type of the file argument of \tcode{filesystem::status}} file type. @@ -15765,7 +15765,7 @@ \end{itemdescr} -\rSec3[fs.op.status_known]{Status known} +\rSec3[fs.op.status.known]{Status known} \indexlibrary{\idxcode{status_known}}% \begin{itemdecl} @@ -15778,7 +15778,7 @@ \end{itemdescr} -\rSec3[fs.op.symlink_status]{Symlink status} +\rSec3[fs.op.symlink.status]{Symlink status} \indexlibrary{\idxcode{symlink_status}}% \begin{itemdecl} @@ -15813,7 +15813,7 @@ \end{itemdescr} -\rSec3[fs.op.temp_dir_path]{Temporary directory path} +\rSec3[fs.op.temp.dir.path]{Temporary directory path} \indexlibrary{\idxcode{temp_directory_path}}% \begin{itemdecl} @@ -15848,7 +15848,7 @@ \end{example} \end{itemdescr} -\rSec3[fs.op.weakly_canonical]{Weakly canonical} +\rSec3[fs.op.weakly.canonical]{Weakly canonical} \indexlibrary{\idxcode{weakly_canonical}}% \begin{itemdecl} diff --git a/source/numerics.tex b/source/numerics.tex index d6f09ed046..80e12d9793 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -9174,12 +9174,12 @@ // \ref{sf.cmath}, mathematical special functions - // \ref{sf.cmath.assoc_laguerre}, associated Laguerre polynomials + // \ref{sf.cmath.assoc.laguerre}, associated Laguerre polynomials double assoc_laguerre(unsigned n, unsigned m, double x); float assoc_laguerref(unsigned n, unsigned m, float x); long double assoc_laguerrel(unsigned n, unsigned m, long double x); - // \ref{sf.cmath.assoc_legendre}, associated Legendre functions + // \ref{sf.cmath.assoc.legendre}, associated Legendre functions double assoc_legendre(unsigned l, unsigned m, double x); float assoc_legendref(unsigned l, unsigned m, float x); long double assoc_legendrel(unsigned l, unsigned m, long double x); @@ -9189,53 +9189,53 @@ float betaf(float x, float y); long double betal(long double x, long double y); - // \ref{sf.cmath.comp_ellint_1}, complete elliptic integral of the first kind + // \ref{sf.cmath.comp.ellint.1}, complete elliptic integral of the first kind double comp_ellint_1(double k); float comp_ellint_1f(float k); long double comp_ellint_1l(long double k); - // \ref{sf.cmath.comp_ellint_2}, complete elliptic integral of the second kind + // \ref{sf.cmath.comp.ellint.2}, complete elliptic integral of the second kind double comp_ellint_2(double k); float comp_ellint_2f(float k); long double comp_ellint_2l(long double k); - // \ref{sf.cmath.comp_ellint_3}, complete elliptic integral of the third kind + // \ref{sf.cmath.comp.ellint.3}, complete elliptic integral of the third kind double comp_ellint_3(double k, double nu); float comp_ellint_3f(float k, float nu); long double comp_ellint_3l(long double k, long double nu); - // \ref{sf.cmath.cyl_bessel_i}, regular modified cylindrical Bessel functions + // \ref{sf.cmath.cyl.bessel.i}, regular modified cylindrical Bessel functions double cyl_bessel_i(double nu, double x); float cyl_bessel_if(float nu, float x); long double cyl_bessel_il(long double nu, long double x); - // \ref{sf.cmath.cyl_bessel_j}, cylindrical Bessel functions of the first kind + // \ref{sf.cmath.cyl.bessel.j}, cylindrical Bessel functions of the first kind double cyl_bessel_j(double nu, double x); float cyl_bessel_jf(float nu, float x); long double cyl_bessel_jl(long double nu, long double x); - // \ref{sf.cmath.cyl_bessel_k}, irregular modified cylindrical Bessel functions + // \ref{sf.cmath.cyl.bessel.k}, irregular modified cylindrical Bessel functions double cyl_bessel_k(double nu, double x); float cyl_bessel_kf(float nu, float x); long double cyl_bessel_kl(long double nu, long double x); - // \ref{sf.cmath.cyl_neumann}, cylindrical Neumann functions; + // \ref{sf.cmath.cyl.neumann}, cylindrical Neumann functions; // cylindrical Bessel functions of the second kind double cyl_neumann(double nu, double x); float cyl_neumannf(float nu, float x); long double cyl_neumannl(long double nu, long double x); - // \ref{sf.cmath.ellint_1}, incomplete elliptic integral of the first kind + // \ref{sf.cmath.ellint.1}, incomplete elliptic integral of the first kind double ellint_1(double k, double phi); float ellint_1f(float k, float phi); long double ellint_1l(long double k, long double phi); - // \ref{sf.cmath.ellint_2}, incomplete elliptic integral of the second kind + // \ref{sf.cmath.ellint.2}, incomplete elliptic integral of the second kind double ellint_2(double k, double phi); float ellint_2f(float k, float phi); long double ellint_2l(long double k, long double phi); - // \ref{sf.cmath.ellint_3}, incomplete elliptic integral of the third kind + // \ref{sf.cmath.ellint.3}, incomplete elliptic integral of the third kind double ellint_3(double k, double nu, double phi); float ellint_3f(float k, float nu, float phi); long double ellint_3l(long double k, long double nu, long double phi); @@ -9260,22 +9260,22 @@ float legendref(unsigned l, float x); long double legendrel(unsigned l, long double x); - // \ref{sf.cmath.riemann_zeta}, Riemann zeta function + // \ref{sf.cmath.riemann.zeta}, Riemann zeta function double riemann_zeta(double x); float riemann_zetaf(float x); long double riemann_zetal(long double x); - // \ref{sf.cmath.sph_bessel}, spherical Bessel functions of the first kind + // \ref{sf.cmath.sph.bessel}, spherical Bessel functions of the first kind double sph_bessel(unsigned n, double x); float sph_besself(unsigned n, float x); long double sph_bessell(unsigned n, long double x); - // \ref{sf.cmath.sph_legendre}, spherical associated Legendre functions + // \ref{sf.cmath.sph.legendre}, spherical associated Legendre functions double sph_legendre(unsigned l, unsigned m, double theta); float sph_legendref(unsigned l, unsigned m, float theta); long double sph_legendrel(unsigned l, unsigned m, long double theta); - // \ref{sf.cmath.sph_neumann}, spherical Neumann functions; + // \ref{sf.cmath.sph.neumann}, spherical Neumann functions; // spherical Bessel functions of the second kind double sph_neumann(unsigned n, double x); float sph_neumannf(unsigned n, float x); @@ -9472,7 +9472,7 @@ for negative infinity, and for positive infinity. -\rSec3[sf.cmath.assoc_laguerre]{Associated Laguerre polynomials}% +\rSec3[sf.cmath.assoc.laguerre]{Associated Laguerre polynomials}% \indexlibrary{\idxcode{assoc_laguerre}}% \indexlibrary{\idxcode{assoc_laguerref}}% \indexlibrary{\idxcode{assoc_laguerrel}}% @@ -9509,7 +9509,7 @@ if \tcode{n >= 128} or if \tcode{m >= 128}. \end{itemdescr} -\rSec3[sf.cmath.assoc_legendre]{Associated Legendre functions}% +\rSec3[sf.cmath.assoc.legendre]{Associated Legendre functions}% \indexlibrary{\idxcode{assoc_legendre}}% \indexlibrary{\idxcode{assoc_legendref}}% \indexlibrary{\idxcode{assoc_legendrel}}% @@ -9575,7 +9575,7 @@ $y$ is \tcode{y}. \end{itemdescr} -\rSec3[sf.cmath.comp_ellint_1]{Complete elliptic integral of the first kind}% +\rSec3[sf.cmath.comp.ellint.1]{Complete elliptic integral of the first kind}% \indexlibrary{\idxcode{comp_ellint_1}}% \indexlibrary{\idxcode{comp_ellint_1f}}% \indexlibrary{\idxcode{comp_ellint_1l}}% @@ -9602,10 +9602,10 @@ $k$ is \tcode{k}. \pnum -See also \ref{sf.cmath.ellint_1}. +See also \ref{sf.cmath.ellint.1}. \end{itemdescr} -\rSec3[sf.cmath.comp_ellint_2]{Complete elliptic integral of the second kind}% +\rSec3[sf.cmath.comp.ellint.2]{Complete elliptic integral of the second kind}% \indexlibrary{\idxcode{comp_ellint_2}}% \indexlibrary{\idxcode{comp_ellint_2f}}% \indexlibrary{\idxcode{comp_ellint_2l}}% @@ -9632,10 +9632,10 @@ $k$ is \tcode{k}. \pnum -See also \ref{sf.cmath.ellint_2}. +See also \ref{sf.cmath.ellint.2}. \end{itemdescr} -\rSec3[sf.cmath.comp_ellint_3]{Complete elliptic integral of the third kind}% +\rSec3[sf.cmath.comp.ellint.3]{Complete elliptic integral of the third kind}% \indexlibrary{\idxcode{comp_ellint_3}}% \indexlibrary{\idxcode{comp_ellint_3f}}% \indexlibrary{\idxcode{comp_ellint_3l}}% @@ -9663,10 +9663,10 @@ $\nu$ is \tcode{nu}. \pnum -See also \ref{sf.cmath.ellint_3}. +See also \ref{sf.cmath.ellint.3}. \end{itemdescr} -\rSec3[sf.cmath.cyl_bessel_i]{Regular modified cylindrical Bessel functions}% +\rSec3[sf.cmath.cyl.bessel.i]{Regular modified cylindrical Bessel functions}% \indexlibrary{\idxcode{cyl_bessel_i}}% \indexlibrary{\idxcode{cyl_bessel_if}}% \indexlibrary{\idxcode{cyl_bessel_il}}% @@ -9703,10 +9703,10 @@ if \tcode{nu >= 128}. \pnum -See also \ref{sf.cmath.cyl_bessel_j}. +See also \ref{sf.cmath.cyl.bessel.j}. \end{itemdescr} -\rSec3[sf.cmath.cyl_bessel_j]{Cylindrical Bessel functions of the first kind}% +\rSec3[sf.cmath.cyl.bessel.j]{Cylindrical Bessel functions of the first kind}% \indexlibrary{\idxcode{cyl_bessel_j}}% \indexlibrary{\idxcode{cyl_bessel_jf}}% \indexlibrary{\idxcode{cyl_bessel_jl}}% @@ -9740,7 +9740,7 @@ if \tcode{nu >= 128}. \end{itemdescr} -\rSec3[sf.cmath.cyl_bessel_k]{Irregular modified cylindrical Bessel functions}% +\rSec3[sf.cmath.cyl.bessel.k]{Irregular modified cylindrical Bessel functions}% \indexlibrary{\idxcode{cyl_bessel_k}}% \indexlibrary{\idxcode{cyl_bessel_kf}}% \indexlibrary{\idxcode{cyl_bessel_kl}}% @@ -9793,10 +9793,10 @@ is \impldef{effect of calling irregular modified cylindrical Bessel functions with \tcode{nu >= 128}} if \tcode{nu >= 128}. -\pnum See also \ref{sf.cmath.cyl_bessel_i}, \ref{sf.cmath.cyl_bessel_j}, \ref{sf.cmath.cyl_neumann}. +\pnum See also \ref{sf.cmath.cyl.bessel.i}, \ref{sf.cmath.cyl.bessel.j}, \ref{sf.cmath.cyl.neumann}. \end{itemdescr} -\rSec3[sf.cmath.cyl_neumann]{Cylindrical Neumann functions}% +\rSec3[sf.cmath.cyl.neumann]{Cylindrical Neumann functions}% \indexlibrary{\idxcode{cyl_neumann}}% \indexlibrary{\idxcode{cyl_neumannf}}% \indexlibrary{\idxcode{cyl_neumannl}}% @@ -9844,10 +9844,10 @@ is \impldef{effect of calling cylindrical Neumann functions with \tcode{nu >= 128}} if \tcode{nu >= 128}. -\pnum See also \ref{sf.cmath.cyl_bessel_j}. +\pnum See also \ref{sf.cmath.cyl.bessel.j}. \end{itemdescr} -\rSec3[sf.cmath.ellint_1]{Incomplete elliptic integral of the first kind}% +\rSec3[sf.cmath.ellint.1]{Incomplete elliptic integral of the first kind}% \indexlibrary{\idxcode{ellint_1}}% \indexlibrary{\idxcode{ellint_1f}}% \indexlibrary{\idxcode{ellint_1l}}% @@ -9877,7 +9877,7 @@ $\phi$ is \tcode{phi}. \end{itemdescr} -\rSec3[sf.cmath.ellint_2]{Incomplete elliptic integral of the second kind}% +\rSec3[sf.cmath.ellint.2]{Incomplete elliptic integral of the second kind}% \indexlibrary{\idxcode{ellint_2}}% \indexlibrary{\idxcode{ellint_2f}}% \indexlibrary{\idxcode{ellint_2l}}% @@ -9906,7 +9906,7 @@ $\phi$ is \tcode{phi}. \end{itemdescr} -\rSec3[sf.cmath.ellint_3]{Incomplete elliptic integral of the third kind}% +\rSec3[sf.cmath.ellint.3]{Incomplete elliptic integral of the third kind}% \indexlibrary{\idxcode{ellint_3}}% \indexlibrary{\idxcode{ellint_3f}}% \indexlibrary{\idxcode{ellint_3l}}% @@ -10073,7 +10073,7 @@ if \tcode{l >= 128}. \end{itemdescr} -\rSec3[sf.cmath.riemann_zeta]{Riemann zeta function}% +\rSec3[sf.cmath.riemann.zeta]{Riemann zeta function}% \indexlibrary{\idxcode{riemann_zeta}}% \indexlibrary{\idxcode{riemann_zetaf}}% \indexlibrary{\idxcode{riemann_zetal}}% @@ -10119,7 +10119,7 @@ $x$ is \tcode{x}. \end{itemdescr} -\rSec3[sf.cmath.sph_bessel]{Spherical Bessel functions of the first kind}% +\rSec3[sf.cmath.sph.bessel]{Spherical Bessel functions of the first kind}% \indexlibrary{\idxcode{sph_bessel}}% \indexlibrary{\idxcode{sph_besself}}% \indexlibrary{\idxcode{sph_bessell}}% @@ -10151,10 +10151,10 @@ is \impldef{effect of calling spherical Bessel functions with \tcode{n >= 128}} if \tcode{n >= 128}. -\pnum See also \ref{sf.cmath.cyl_bessel_j}. +\pnum See also \ref{sf.cmath.cyl.bessel.j}. \end{itemdescr} -\rSec3[sf.cmath.sph_legendre]{Spherical associated Legendre functions}% +\rSec3[sf.cmath.sph.legendre]{Spherical associated Legendre functions}% \indexlibrary{\idxcode{sph_legendre}}% \indexlibrary{\idxcode{sph_legendref}}% \indexlibrary{\idxcode{sph_legendrel}}% @@ -10195,10 +10195,10 @@ if \tcode{l >= 128}. \pnum -See also \ref{sf.cmath.assoc_legendre}. +See also \ref{sf.cmath.assoc.legendre}. \end{itemdescr} -\rSec3[sf.cmath.sph_neumann]{Spherical Neumann functions}% +\rSec3[sf.cmath.sph.neumann]{Spherical Neumann functions}% \indexlibrary{\idxcode{sph_neumann}}% \indexlibrary{\idxcode{sph_neumannf}}% \indexlibrary{\idxcode{sph_neumannl}}% @@ -10234,7 +10234,7 @@ if \tcode{n >= 128}. \pnum -See also \ref{sf.cmath.cyl_neumann}. +See also \ref{sf.cmath.cyl.neumann}. \end{itemdescr} \indextext{mathematical special functions|)} diff --git a/source/strings.tex b/source/strings.tex index 0195195d58..eef5db0a36 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -313,7 +313,7 @@ returns \tcode{EOF}. -\rSec3[char.traits.specializations.char8_t]{\tcode{struct char_traits}} +\rSec3[char.traits.specializations.char8.t]{\tcode{struct char_traits}} \indexlibrary{\idxcode{char_traits}}% \begin{codeblock} @@ -354,7 +354,7 @@ The member \tcode{eof()} returns an implementation-defined constant that cannot appear as a valid UTF-8 code unit. -\rSec3[char.traits.specializations.char16_t]{\tcode{struct char_traits}} +\rSec3[char.traits.specializations.char16.t]{\tcode{struct char_traits}} \indexlibrary{\idxcode{char_traits}}% \begin{codeblock} @@ -399,7 +399,7 @@ \impldef{return value of \tcode{char_traits::eof}} constant that cannot appear as a valid UTF-16 code unit. -\rSec3[char.traits.specializations.char32_t]{\tcode{struct char_traits}} +\rSec3[char.traits.specializations.char32.t]{\tcode{struct char_traits}} \indexlibrary{\idxcode{char_traits}}% \begin{codeblock} diff --git a/source/support.tex b/source/support.tex index 30f98b2fc3..c4e9903869 100644 --- a/source/support.tex +++ b/source/support.tex @@ -3769,7 +3769,7 @@ \indextext{signal-safe!\idxcode{initializer_list} functions}% All functions specified in this subclause are signal-safe\iref{support.signal}. -\rSec2[initializer_list.syn]{Header \tcode{} synopsis} +\rSec2[initializer.list.syn]{Header \tcode{} synopsis} \indexlibrary{\idxcode{initializer_list}}% \indexlibrary{\idxcode{begin}}% \indexlibrary{\idxcode{end}}% diff --git a/source/threads.tex b/source/threads.tex index c2ddd2b54c..72111de61a 100644 --- a/source/threads.tex +++ b/source/threads.tex @@ -843,7 +843,7 @@ } \end{codeblock} -\rSec2[shared_mutex.syn]{Header \tcode{} synopsis} +\rSec2[shared.mutex.syn]{Header \tcode{} synopsis} \indexhdr{shared_mutex}% \begin{codeblock} @@ -2857,7 +2857,7 @@ \pnum Condition variable construction and destruction need not be synchronized. -\rSec2[condition_variable.syn]{Header \tcode{} synopsis} +\rSec2[condition.variable.syn]{Header \tcode{} synopsis} \indexhdr{condition_variable}% \indexlibrary{\idxcode{cv_status}}% @@ -3692,7 +3692,7 @@ \returns \tcode{error_condition(static_cast(e), future_category())}. \end{itemdescr} -\rSec2[futures.future_error]{Class \tcode{future_error}} +\rSec2[futures.future.error]{Class \tcode{future_error}} \indexlibrary{\idxcode{future_error}}% \begin{codeblock} @@ -3849,7 +3849,7 @@ \begin{note} This explicitly specifies that the result of the shared state is visible in the objects that reference this state in the sense of data race avoidance\iref{res.on.data.races}. For example, concurrent accesses through -references returned by \tcode{shared_future::get()}\iref{futures.shared_future} +references returned by \tcode{shared_future::get()}\iref{futures.shared.future} must either use read-only operations or provide additional synchronization. \end{note} @@ -4156,7 +4156,7 @@ \effects As if by \tcode{x.swap(y)}. \end{itemdescr} -\rSec2[futures.unique_future]{Class template \tcode{future}} +\rSec2[futures.unique.future]{Class template \tcode{future}} \pnum The class template \tcode{future} defines a type for asynchronous return objects which @@ -4443,7 +4443,7 @@ \end{itemdescr} -\rSec2[futures.shared_future]{Class template \tcode{shared_future}} +\rSec2[futures.shared.future]{Class template \tcode{shared_future}} \pnum The class template \tcode{shared_future} defines a type for asynchronous return objects diff --git a/source/time.tex b/source/time.tex index 8c213eb35f..df55cb2282 100644 --- a/source/time.tex +++ b/source/time.tex @@ -1105,7 +1105,7 @@ \rSec1[time.traits]{Time-related traits} -\rSec2[time.traits.is_fp]{\tcode{treat_as_floating_point}} +\rSec2[time.traits.is.fp]{\tcode{treat_as_floating_point}} \indexlibrary{\idxcode{treat_as_floating_point}}% \begin{itemdecl} @@ -1126,7 +1126,7 @@ if it behaved like an integral type for the purpose of these conversions. \end{note} -\rSec2[time.traits.duration_values]{\tcode{duration_values}} +\rSec2[time.traits.duration.values]{\tcode{duration_values}} \indexlibrary{\idxcode{duration_values}}% \begin{itemdecl} @@ -1226,7 +1226,7 @@ The common type of two \tcode{time_point} types is a \tcode{time_point} with the same clock as the two types and the common type of their two \tcode{duration}s. -\rSec2[time.traits.is_clock]{Class template \tcode{is_clock}} +\rSec2[time.traits.is.clock]{Class template \tcode{is_clock}} \indexlibrary{\idxcode{is_clock}}% \begin{itemdecl} diff --git a/source/utilities.tex b/source/utilities.tex index 2af1a3afce..627472f172 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -42,7 +42,7 @@ throughout the rest of the library. \begin{codeblock} -#include // see \ref{initializer_list.syn} +#include // see \ref{initializer.list.syn} namespace std { // \ref{utility.swap}, swap @@ -67,7 +67,7 @@ !is_nothrow_move_constructible_v && is_copy_constructible_v, const T&, T&&> move_if_noexcept(T& x) noexcept; - // \ref{utility.as_const}, \tcode{as_const} + // \ref{utility.as.const}, \tcode{as_const} template constexpr add_const_t& as_const(T& t) noexcept; template @@ -361,7 +361,7 @@ \returns \tcode{std::move(x)}. \end{itemdescr} -\rSec2[utility.as_const]{Function template \tcode{as_const}} +\rSec2[utility.as.const]{Function template \tcode{as_const}} \indexlibrary{\idxcode{as_const}}% \begin{itemdecl} @@ -2172,7 +2172,7 @@ template constexpr bool operator>=(const optional&, nullopt_t) noexcept; template constexpr bool operator>=(nullopt_t, const optional&) noexcept; - // \ref{optional.comp_with_t}, comparison with \tcode{T} + // \ref{optional.comp.with.t}, comparison with \tcode{T} template constexpr bool operator==(const optional&, const U&); template constexpr bool operator==(const T&, const optional&); template constexpr bool operator!=(const optional&, const U&); @@ -3423,7 +3423,7 @@ \tcode{!x}. \end{itemdescr} -\rSec2[optional.comp_with_t]{Comparison with \tcode{T}} +\rSec2[optional.comp.with.t]{Comparison with \tcode{T}} \indexlibrarymember{operator==}{optional}% \begin{itemdecl} @@ -5061,7 +5061,7 @@ \begin{codeblock} namespace std { - // \ref{any.bad_any_cast}, class \tcode{bad_any_cast} + // \ref{any.bad.any.cast}, class \tcode{bad_any_cast} class bad_any_cast; // \ref{any.class}, class \tcode{any} @@ -5089,7 +5089,7 @@ } \end{codeblock} -\rSec2[any.bad_any_cast]{Class \tcode{bad_any_cast}} +\rSec2[any.bad.any.cast]{Class \tcode{bad_any_cast}} \indexlibrary{\idxcode{bad_any_cast}}% \begin{codeblock} @@ -13843,10 +13843,10 @@ // \ref{func.identity}, identity struct identity; - // \ref{func.not_fn}, function template \tcode{not_fn} + // \ref{func.not.fn}, function template \tcode{not_fn} template @\unspec@ not_fn(F&& f); - // \ref{func.bind_front}, function template \tcode{bind_front} + // \ref{func.bind.front}, function template \tcode{bind_front} template @\unspec@ bind_front(F&&, Args&&...); // \ref{func.bind}, bind @@ -14547,7 +14547,7 @@ that is consistent among those specializations and is also consistent with the partial order imposed by those built-in operators. -\rSec3[comparisons.equal_to]{Class template \tcode{equal_to}} +\rSec3[comparisons.equal.to]{Class template \tcode{equal_to}} \indexlibrary{\idxcode{equal_to}}% \begin{itemdecl} @@ -14585,7 +14585,7 @@ \pnum\returns \tcode{std::forward(t) == std::forward(u)}. \end{itemdescr} -\rSec3[comparisons.not_equal_to]{Class template \tcode{not_equal_to}} +\rSec3[comparisons.not.equal.to]{Class template \tcode{not_equal_to}} \indexlibrary{\idxcode{not_equal_to}}% \begin{itemdecl} @@ -14699,7 +14699,7 @@ \pnum\returns \tcode{std::forward(t) < std::forward(u)}. \end{itemdescr} -\rSec3[comparisons.greater_equal]{Class template \tcode{greater_equal}} +\rSec3[comparisons.greater.equal]{Class template \tcode{greater_equal}} \indexlibrary{\idxcode{greater_equal}}% \begin{itemdecl} @@ -14737,7 +14737,7 @@ \pnum\returns \tcode{std::forward(t) >= std::forward(u)}. \end{itemdescr} -\rSec3[comparisons.less_equal]{Class template \tcode{less_equal}} +\rSec3[comparisons.less.equal]{Class template \tcode{less_equal}} \indexlibrary{\idxcode{less_equal}}% \begin{itemdecl} @@ -15244,7 +15244,7 @@ \end{itemdescr} -\rSec2[func.not_fn]{Function template \tcode{not_fn}} +\rSec2[func.not.fn]{Function template \tcode{not_fn}} \indexlibrary{\idxcode{not_fn}}% \begin{itemdecl} @@ -15284,7 +15284,7 @@ Any exception thrown by the initialization of \tcode{fd}. \end{itemdescr} -\rSec2[func.bind_front]{Function template \tcode{bind_front}} +\rSec2[func.bind.front]{Function template \tcode{bind_front}} \indexlibrary{\idxcode{bind_front}}% \begin{itemdecl} diff --git a/source/xrefdelta.tex b/source/xrefdelta.tex index c77de6bc85..38c0929ec5 100644 --- a/source/xrefdelta.tex +++ b/source/xrefdelta.tex @@ -198,6 +198,90 @@ \movedxref{iterator.container}{iterator.range} +% Remove underscores in stable labels. +\movedxref{alg.all_of}{alg.all.of} +\movedxref{alg.any_of}{alg.any.of} +\movedxref{alg.is_permutation}{alg.is.permutation} +\movedxref{alg.none_of}{alg.none.of} +\movedxref{any.bad_any_cast}{any.bad.any.cast} +\movedxref{char.traits.specializations.char16_t}{char.traits.specializations.char16.t} +\movedxref{char.traits.specializations.char32_t}{char.traits.specializations.char32.t} +\movedxref{char.traits.specializations.char8_t}{char.traits.specializations.char8.t} +\movedxref{class.mfct.non-static}{class.mfct.non-static} +\movedxref{comparisons.equal_to}{comparisons.equal.to} +\movedxref{comparisons.greater_equal}{comparisons.greater.equal} +\movedxref{comparisons.less_equal}{comparisons.less.equal} +\movedxref{comparisons.not_equal_to}{comparisons.not.equal.to} +\movedxref{condition_variable.syn}{condition.variable.syn} +\movedxref{depr.static_constexpr}{depr.static.constexpr} +\movedxref{forward_list.erasure}{forward.list.erasure} +\movedxref{forward_list.syn}{forward.list.syn} +\movedxref{fs.class.directory_entry}{fs.class.directory.entry} +\movedxref{fs.class.directory_iterator}{fs.class.directory.iterator} +\movedxref{fs.class.file_status}{fs.class.file.status} +\movedxref{fs.class.filesystem_error}{fs.class.filesystem.error} +\movedxref{fs.enum.file_type}{fs.enum.file.type} +\movedxref{fs.file_status.cons}{fs.file.status.cons} +\movedxref{fs.file_status.mods}{fs.file.status.mods} +\movedxref{fs.file_status.obs}{fs.file.status.obs} +\movedxref{fs.filesystem_error.members}{fs.filesystem.error.members} +\movedxref{fs.op.copy_file}{fs.op.copy.file} +\movedxref{fs.op.copy_symlink}{fs.op.copy.symlink} +\movedxref{fs.op.create_directories}{fs.op.create.directories} +\movedxref{fs.op.create_directory}{fs.op.create.directory} +\movedxref{fs.op.create_dir_symlk}{fs.op.create.dir.symlk} +\movedxref{fs.op.create_hard_lk}{fs.op.create.hard.lk} +\movedxref{fs.op.create_symlink}{fs.op.create.symlink} +\movedxref{fs.op.current_path}{fs.op.current.path} +\movedxref{fs.op.file_size}{fs.op.file.size} +\movedxref{fs.op.hard_lk_ct}{fs.op.hard.lk.ct} +\movedxref{fs.op.is_block_file}{fs.op.is.block.file} +\movedxref{fs.op.is_char_file}{fs.op.is.char.file} +\movedxref{fs.op.is_directory}{fs.op.is.directory} +\movedxref{fs.op.is_empty}{fs.op.is.empty} +\movedxref{fs.op.is_fifo}{fs.op.is.fifo} +\movedxref{fs.op.is_other}{fs.op.is.other} +\movedxref{fs.op.is_regular_file}{fs.op.is.regular.file} +\movedxref{fs.op.is_socket}{fs.op.is.socket} +\movedxref{fs.op.is_symlink}{fs.op.is.symlink} +\movedxref{fs.op.last_write_time}{fs.op.last.write.time} +\movedxref{fs.op.read_symlink}{fs.op.read.symlink} +\movedxref{fs.op.remove_all}{fs.op.remove.all} +\movedxref{fs.op.resize_file}{fs.op.resize.file} +\movedxref{fs.op.status_known}{fs.op.status.known} +\movedxref{fs.op.symlink_status}{fs.op.symlink.status} +\movedxref{fs.op.temp_dir_path}{fs.op.temp.dir.path} +\movedxref{fs.op.weakly_canonical}{fs.op.weakly.canonical} +\movedxref{func.bind_front}{func.bind.front} +\movedxref{func.not_fn}{func.not.fn} +\movedxref{futures.future_error}{futures.future.error} +\movedxref{futures.shared_future}{futures.shared.future} +\movedxref{futures.unique_future}{futures.unique.future} +\movedxref{initializer_list.syn}{initializer.list.syn} +\movedxref{optional.comp_with_t}{optional.comp.with.t} +\movedxref{sf.cmath.assoc_laguerre}{sf.cmath.assoc.laguerre} +\movedxref{sf.cmath.assoc_legendre}{sf.cmath.assoc.legendre} +\movedxref{sf.cmath.comp_ellint_1}{sf.cmath.comp.ellint.1} +\movedxref{sf.cmath.comp_ellint_2}{sf.cmath.comp.ellint.2} +\movedxref{sf.cmath.comp_ellint_3}{sf.cmath.comp.ellint.3} +\movedxref{sf.cmath.cyl_bessel_i}{sf.cmath.cyl.bessel.i} +\movedxref{sf.cmath.cyl_bessel_j}{sf.cmath.cyl.bessel.j} +\movedxref{sf.cmath.cyl_bessel_k}{sf.cmath.cyl.bessel.k} +\movedxref{sf.cmath.cyl_neumann}{sf.cmath.cyl.neumann} +\movedxref{sf.cmath.ellint_1}{sf.cmath.ellint.1} +\movedxref{sf.cmath.ellint_2}{sf.cmath.ellint.2} +\movedxref{sf.cmath.ellint_3}{sf.cmath.ellint.3} +\movedxref{sf.cmath.riemann_zeta}{sf.cmath.riemann.zeta} +\movedxref{sf.cmath.sph_bessel}{sf.cmath.sph.bessel} +\movedxref{sf.cmath.sph_legendre}{sf.cmath.sph.legendre} +\movedxref{sf.cmath.sph_neumann}{sf.cmath.sph.neumann} +\movedxref{shared_mutex.syn}{shared.mutex.syn} +\movedxref{system_error.syn}{system.error.syn} +\movedxref{time.traits.duration_values}{time.traits.duration.values} +\movedxref{time.traits.is_clock}{time.traits.is.clock} +\movedxref{time.traits.is_fp}{time.traits.is.fp} +\movedxref{utility.as_const}{utility.as.const} + % Deprecated features. %\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref) From 154f2c59c4377897937f4b0722cfe2b6d726cc59 Mon Sep 17 00:00:00 2001 From: birbacher Date: Fri, 15 Mar 2019 18:39:16 +0000 Subject: [PATCH 134/148] [container.node] Add 3 "template" keywords for dependent name (#2676) On: [container.node.overview]/4 [container.node.cons]/3.1 [container.node.dtor]/1 --- source/containers.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index 99d4b109e5..4ba41eda89 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -1267,7 +1267,7 @@ using container_node_type = @\unspecnc@; using ator_traits = allocator_traits; - typename ator_traits::rebind_traits::pointer ptr_; + typename ator_traits::template rebind_traits::pointer ptr_; optional alloc_; public: @@ -1330,7 +1330,7 @@ If \tcode{ptr_ != nullptr}, destroys the \tcode{value_type} subobject in the \tcode{container_node_type} object pointed to by \tcode{ptr_} by calling \tcode{ator_traits::destroy}, then deallocates \tcode{ptr_} by -calling \tcode{ator_traits::rebind_traits::deallocate}. +calling \tcode{ator_traits::template rebind_traits::deallocate}. \item Assigns \tcode{nh.ptr_} to \tcode{ptr_}. \item @@ -1359,7 +1359,7 @@ \effects If \tcode{ptr_ != nullptr}, destroys the \tcode{value_type} subobject in the \tcode{container_node_type} object pointed to by \tcode{ptr_} by calling \tcode{ator_traits::destroy}, then deallocates \tcode{ptr_} by calling -\tcode{ator_traits::rebind_traits::deallocate}. +\tcode{ator_traits::template rebind_traits::deallocate}. \end{itemdescr} \rSec3[container.node.observers]{Observers} From 41853024e5e6fcd5feb496f64767d2888d76154f Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 15 Mar 2019 11:38:57 -0700 Subject: [PATCH 135/148] Revert "[expr.const] Add missing definition of 'usable in constant expressions'" The prior editorial fix was an attempt to re-add wording that was missing from P0595R2 (moved as 2018-11 CWG Motion 14). However, CWG analysis has indicated that the editorial fix is incomplete, so we're reverting it to restore the wording to the as-moved state. This reverts commit e58439bce8af85e6569328272c2cfb73f5fc44d6. --- source/expressions.tex | 6 ------ 1 file changed, 6 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index bd32564219..a7e6fba8ed 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -6809,12 +6809,6 @@ its initializing declaration is encountered if it is a constexpr variable, or it is of reference type or of const-qualified integral or enumeration type, and its initializer is a constant initializer. -An object or reference is \defn{usable in constant expressions} -if it is a variable that is usable in constant expressions, -a template parameter object\iref{temp.param}, -a string literal object\iref{lex.string}, -or a non-mutable subobject or reference member -of an object that is usable in constant expressions. \pnum An expression \tcode{e} is a \defnadj{core constant}{expression} From 5d174b05d8cd08717ed7efc05d0271409651071c Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 15 Mar 2019 12:33:42 -0700 Subject: [PATCH 136/148] [expr.prim.lambda.capture] Convert paragraphs repeating the "non-odr-usable local entities shall not be odr-used" rule from [basic.def.odr] into notes. --- source/expressions.tex | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index a7e6fba8ed..50602f85ba 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -2162,10 +2162,11 @@ An entity is \defn{captured} if it is captured explicitly or implicitly. An entity captured by a \grammarterm{lambda-expression} is odr-used\iref{basic.def.odr} in the scope containing the \grammarterm{lambda-expression}. -If a \grammarterm{lambda-expression} +\begin{note} +As a consequence, if a \grammarterm{lambda-expression} explicitly captures an entity that is not odr-usable, -the program is -ill-formed. +the program is ill-formed\iref{basic.def.odr}. +\end{note} \begin{example} \indextext{Bond!James Bond}% \begin{codeblock} @@ -2215,12 +2216,17 @@ \end{example} \pnum -A \grammarterm{lambda-expression} appearing in a default argument shall not -implicitly or explicitly capture any entity, -except for an \grammarterm{init-capture} for which +\begin{note} +Because local entities are not +odr-usable within a default argument\iref{basic.def.odr}, +a \grammarterm{lambda-expression} appearing in a default argument +cannot implicitly or explicitly capture any local entity. +Such a \grammarterm{lambda-expression} +can still have an \grammarterm{init-capture} if any full-expression in its \grammarterm{initializer} satisfies the constraints of an expression appearing in a default argument\iref{dcl.fct.default}. +\end{note} \begin{example} \begin{codeblock} void f2() { From 54ddcb970132bfe026c9d9d62d967632b56ae303 Mon Sep 17 00:00:00 2001 From: BRevzin Date: Fri, 15 Mar 2019 15:30:07 -0500 Subject: [PATCH 137/148] [class.rel] Simplifying wording to avoid talking about a reversed <=>. We can never select a reversed <=> here because the operands are of the same type. --- source/classes.tex | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/source/classes.tex b/source/classes.tex index f6e85bcfe6..3e9d97f8d8 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -6875,22 +6875,17 @@ \item overload resolution\iref{over.match}, as applied to \tcode{x <=> y} -(also considering synthesized candidates with reversed order of parameters\iref{over.match.oper}), results in an ambiguity or a function that is deleted or inaccessible from the operator function, or \item the operator \tcode{@} -cannot be applied to the return type of \tcode{x <=> y} or \tcode{y <=> x}. +cannot be applied to the return type of \tcode{x <=> y}. \end{itemize} Otherwise, the operator function yields -\tcode{x <=> y @ 0} -if an \tcode{operator<=>} -with the original order of parameters was selected, or -\tcode{0 @ y <=> x} -otherwise. +\tcode{x <=> y @ 0}. \pnum \begin{example} From 9e00558f2a824421406a6703d1232cc4fb89bb15 Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Fri, 15 Mar 2019 16:43:16 -0400 Subject: [PATCH 138/148] [std] Fix a bunch of faulty parallelism with "either". --- source/algorithms.tex | 12 ++++++------ source/basic.tex | 5 ++--- source/containers.tex | 4 ++-- source/declarations.tex | 2 +- source/expressions.tex | 10 +++++----- source/future.tex | 7 +++---- source/iostreams.tex | 6 +++--- source/overloading.tex | 5 ++--- source/preprocessor.tex | 4 ++-- source/statements.tex | 4 ++-- source/templates.tex | 6 +++--- source/utilities.tex | 4 ++-- 12 files changed, 33 insertions(+), 36 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index 5b3761e6ab..e33a2759f5 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -433,8 +433,8 @@ \pnum The invocations of element access functions in parallel algorithms invoked with an execution policy object of type \tcode{execution::parallel_policy} -are permitted to execute -in either the invoking thread of execution or +are permitted to execute either +in the invoking thread of execution or in a thread of execution implicitly created by the library to support parallel algorithm execution. If the threads of execution created by \tcode{thread}\iref{thread.thread.class} @@ -4662,7 +4662,7 @@ \pnum \requires -\tcode{op} and \tcode{binary_op} shall not invalidate iterators or subranges, or +\tcode{op} and \tcode{binary_op} shall not invalidate iterators or subranges, nor modify elements in the ranges \begin{itemize} \item \crange{first1}{first1 + $N$}, @@ -9214,7 +9214,7 @@ shall be convertible to \tcode{T}. \item Neither \tcode{binary_op1} nor \tcode{binary_op2} - shall invalidate subranges, or modify elements in the ranges + shall invalidate subranges, nor modify elements in the ranges \crange{first1}{last1} and \crange{first2}{first2 + (last1 - first1)}. \end{itemize} @@ -9262,7 +9262,7 @@ shall be convertible to \tcode{T}. \item Neither \tcode{unary_op} nor \tcode{binary_op} shall invalidate subranges, - or modify elements in the range \crange{first}{last}. + nor modify elements in the range \crange{first}{last}. \end{itemize} \pnum @@ -9577,7 +9577,7 @@ shall be convertible to \tcode{T}. \item Neither \tcode{unary_op} nor \tcode{binary_op} shall - invalidate iterators or subranges, or modify elements in + invalidate iterators or subranges, nor modify elements in the ranges \crange{first}{last} or \crange{result}{result + (last - first)}. \end{itemize} diff --git a/source/basic.tex b/source/basic.tex index 65f6c04717..559b481f46 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -424,8 +424,7 @@ is \defn{odr-usable} in a declarative region\iref{basic.scope.declarative} if: \begin{itemize} -\item the local entity is either -not \tcode{*this}, or +\item either the local entity is not \tcode{*this}, or an enclosing class or non-lambda function parameter scope exists and, if the innermost such scope is a function parameter scope, it corresponds to a non-static member function, and @@ -2223,7 +2222,7 @@ During the lookup of a qualified namespace member name, if the lookup finds more than one declaration of the member, and if one declaration introduces a class name or enumeration name and the other declarations -either introduce the same variable, the same enumerator or a set of +introduce either the same variable, the same enumerator, or a set of functions, the non-type name hides the class or enumeration name if and only if the declarations are from the same namespace; otherwise (the declarations are from different namespaces), the program is ill-formed. diff --git a/source/containers.tex b/source/containers.tex index 4ba41eda89..bfceedb1e9 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -2093,7 +2093,7 @@ When an associative container is constructed by passing a comparison object the container shall not store a pointer or reference to the passed object, even if that object is passed by reference. -When an associative container is copied, either through a copy constructor +When an associative container is copied, through either a copy constructor or an assignment operator, the target container shall then use the comparison object from the container being copied, @@ -3943,7 +3943,7 @@ \complexity The complexity is linear in the number of elements inserted plus the lesser of the distances to the beginning and end of the deque. -Inserting a single element either at the beginning or end of a deque always takes constant time +Inserting a single element at either the beginning or end of a deque always takes constant time and causes a single call to a constructor of \tcode{T}. \end{itemdescr} diff --git a/source/declarations.tex b/source/declarations.tex index 7504e4ba32..636ff5c2f7 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -1897,7 +1897,7 @@ is determined using the rules for template argument deduction. Obtain \tcode{P} from \tcode{T} by replacing the occurrences of -\opt{\grammarterm{type-constraint}} \tcode{auto} with either +\opt{\grammarterm{type-constraint}} \tcode{auto} either with a new invented type template parameter \tcode{U} or, if the initialization is copy-list-initialization, with \tcode{std::initializer_list}. Deduce a value for \tcode{U} using the rules diff --git a/source/expressions.tex b/source/expressions.tex index 50602f85ba..440c5866e8 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -100,7 +100,7 @@ since if the values for \tcode{a} and \tcode{b} were, respectively, -32754 and -15, the sum \tcode{a + b} would produce an exception while the original expression would not; nor can the expression be rewritten -either as +as either \begin{codeblock} a = ((a + 32765) + b); \end{codeblock} @@ -2888,10 +2888,10 @@ constitute the arguments to the function. The postfix expression shall have function type or function pointer type. For a call to a non-member function or to a static member function, -the postfix expression shall be either an lvalue that refers to a +the postfix expression shall either be an lvalue that refers to a function (in which case the function-to-pointer standard conversion\iref{conv.func} is suppressed on the postfix expression), -or it shall have function pointer type. +or have function pointer type. \pnum For a call to a non-static member function, @@ -7124,8 +7124,8 @@ An entity is a \defnx{permitted result of a constant expression}{constant expression!permitted result of} if it is an -object with static storage duration that is either not a temporary object or is -a temporary object whose value satisfies the above constraints, or +object with static storage duration that either is not a temporary object or is +a temporary object whose value satisfies the above constraints, or if it is a non-immediate function. \begin{example} \begin{codeblock} diff --git a/source/future.tex b/source/future.tex index 8bdf04e2f1..7e801a3c19 100644 --- a/source/future.tex +++ b/source/future.tex @@ -908,10 +908,9 @@ positions the output sequence \\ \rowsep \tcode{(which \& (ios::in |}\br \tcode{ios::out)) == (ios::in |}\br -\tcode{ios::out))} and\br -\tcode{way ==} either\br -\tcode{ios::beg} or\br -\tcode{ios::end} & +\tcode{ios::out))} and either\br +\tcode{way == ios::beg} or\br +\tcode{way == ios::end} & positions both the input and the output sequences \\ \rowsep Otherwise & the positioning operation fails. \\ diff --git a/source/iostreams.tex b/source/iostreams.tex index 43932c05df..1ec261bd50 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -7794,9 +7794,9 @@ \tcode{ios_base::out)) ==}\br \tcode{(ios_base::in |}\br \tcode{ios_base::out)}\br -and \tcode{way ==} either\br -\tcode{ios_base::beg} or\br -\tcode{ios_base::end} & +and either\br +\tcode{way == ios_base::beg} or\br +\tcode{way == ios_base::end} & positions both the input and the output sequences \\ \rowsep Otherwise & the positioning operation fails. \\ diff --git a/source/overloading.tex b/source/overloading.tex index b4e50d9951..6df045151e 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -1910,8 +1910,7 @@ was not better than \tcode{G}. Hence, -\tcode{W} -is either +either \tcode{W} is the best function or there is no best function. So, make a second pass over the viable @@ -2158,7 +2157,7 @@ \pnum \begin{note} As described in \ref{conv}, -a standard conversion sequence is either the Identity conversion +a standard conversion sequence either is the Identity conversion by itself (that is, no conversion) or consists of one to three conversions from the other four categories. diff --git a/source/preprocessor.tex b/source/preprocessor.tex index f371967fba..8a523e862b 100644 --- a/source/preprocessor.tex +++ b/source/preprocessor.tex @@ -14,9 +14,9 @@ The first token in the sequence is a \tcode{\#} preprocessing token that (at the start of translation phase 4) -is either the first character in the source file +either is the first character in the source file (optionally after white space containing no new-line characters) -or that follows white space containing at least one new-line character. +or follows white space containing at least one new-line character. The last token in the sequence is the first new-line character that follows the first token in the sequence.\footnote{Thus, preprocessing directives are commonly called ``lines''. diff --git a/source/statements.tex b/source/statements.tex index 86dbafb830..94142bbb92 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -84,8 +84,8 @@ \pnum \indextext{statement!declaration in \tcode{if}}% \indextext{statement!declaration in \tcode{switch}}% -A name introduced by a declaration in a \grammarterm{condition} (either -introduced by the \grammarterm{decl-specifier-seq} or the +A name introduced by a declaration in a \grammarterm{condition} +(introduced by either the \grammarterm{decl-specifier-seq} or the \grammarterm{declarator} of the condition) is in scope from its point of declaration until the end of the substatements controlled by the condition. If the name is redeclared in the outermost block of a diff --git a/source/templates.tex b/source/templates.tex index 3d34b79e47..69e946c552 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -732,7 +732,7 @@ A name is also considered to refer to a template if it is an \grammarterm{unqualified-id} followed by a \tcode{<} -and name lookup finds either one or more functions or finds nothing. +and name lookup either finds one or more functions or finds nothing. \pnum \indextext{\idxcode{<}!template and}% @@ -4412,8 +4412,8 @@ \pnum The injected-class-name of a class template or class -template specialization can be used either -as a \grammarterm{template-name} or a \grammarterm{type-name} +template specialization can be used as either +a \grammarterm{template-name} or a \grammarterm{type-name} wherever it is in scope. \begin{example} \begin{codeblock} diff --git a/source/utilities.tex b/source/utilities.tex index 627472f172..a7900b6545 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -3871,7 +3871,7 @@ \pnum Any instance of \tcode{variant} at any given time either holds a value -of one of its alternative types, or it holds no value. +of one of its alternative types or holds no value. When an instance of \tcode{variant} holds a value of alternative type \tcode{T}, it means that a value of type \tcode{T}, referred to as the \tcode{variant} object's \defnx{contained value}{contained value!\idxcode{variant}}, is allocated within the storage of the @@ -5165,7 +5165,7 @@ An object of class \tcode{any} stores an instance of any type that satisfies the constructor requirements or it has no value, and this is referred to as the \defn{state} of the class \tcode{any} object. The stored instance is called the \defnx{contained value}{contained value!\idxcode{any}}. -Two states are equivalent if either they both have no value, or both have a value and the contained values are equivalent. +Two states are equivalent if either they both have no value, or they both have a value and the contained values are equivalent. \pnum The non-member \tcode{any_cast} functions provide type-safe access to the contained value. From 0ba5424c1beddfd8c8403ce882b96dee0f530c7f Mon Sep 17 00:00:00 2001 From: JF Bastien Date: Fri, 15 Mar 2019 13:52:39 -0700 Subject: [PATCH 139/148] [basic.fundamental] Rename 'range exponent' to 'width' to align with C --- source/basic.tex | 22 +++++++++++----------- source/classes.tex | 4 ++-- source/declarations.tex | 2 +- source/expressions.tex | 6 +++--- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 559b481f46..a7e73e817a 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -4512,7 +4512,7 @@ \defnx{signed integer types}{signed integer type}. The range of representable values for a signed integer type is $-2^{N-1}$ to $2^{N-1}-1$ (inclusive), -where \placeholder{N} is called the \defn{range exponent} of the type. +where \placeholder{N} is called the \defn{width} of the type. \indextext{integral type!implementation-defined \tcode{sizeof}}% \begin{note} Plain \tcode{int}s are intended to have @@ -4540,7 +4540,7 @@ there exists a corresponding \defn{extended unsigned integer type}. The standard and extended unsigned integer types are collectively called \defnx{unsigned integer types}{unsigned integer type}. -An unsigned integer type has the same range exponent \placeholder{N} +An unsigned integer type has the same width \placeholder{N} as the corresponding signed integer type. \indextext{arithmetic!\idxcode{unsigned}}% The range of representable values for the unsigned type is @@ -4568,9 +4568,9 @@ the largest value of the corresponding unsigned type. \end{example} -\begin{floattable}{Minimum range exponent}{tab:range.exponent}{ll} +\begin{floattable}{Minimum width}{tab:width}{ll} \topline -\lhdr{Type} & \rhdr{Minimum range exponent $N$} \\ +\lhdr{Type} & \rhdr{Minimum width $N$} \\ \capsep \tcode{signed char} & 8 \\ \tcode{short} & 16 \\ @@ -4580,10 +4580,10 @@ \end{floattable} \pnum -The range exponent of each signed integer type -shall not be less than the values specified in \tref{range.exponent}. +The width of each signed integer type +shall not be less than the values specified in \tref{width}. The value representation of a signed or unsigned integer type -comprises $N$ bits, where N is the respective range exponent. +comprises $N$ bits, where N is the respective width. Each set of values for any padding bits\iref{basic.types} in the object representation are alternative representations of the value specified by the value representation. @@ -4596,11 +4596,11 @@ the constraints given in ISO C 5.2.4.2.1. \end{note} Except as specified above, -the range exponent of a signed or unsigned integer type is -\impldef{range exponent of integral type}. +the width of a signed or unsigned integer type is +\impldef{width of integral type}. \pnum -Each value $x$ of an unsigned integer type with range exponent $N$ has +Each value $x$ of an unsigned integer type with width $N$ has a unique representation $x = x_0 2^0 + x_1 2^1 + \ldots + x_{N-1} 2^{N-1}$, where each coefficient $x_i$ is either 0 or 1; this is called the \defn{base-2 representation} of $x$. @@ -4652,7 +4652,7 @@ \end{note} \begin{note} A bit-field of narrow character type whose width is larger than -the range exponent of that type has padding bits; see \ref{basic.types}. +the width of that type has padding bits; see \ref{basic.types}. \end{note} \pnum diff --git a/source/classes.tex b/source/classes.tex index 3e9d97f8d8..41d1654433 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -2887,7 +2887,7 @@ with a value greater than or equal to zero and is called the \defn{width} of the bit-field. If the width of a bit-field is larger than -the range exponent of the bit-field's type +the width of the bit-field's type (or, in case of an enumeration type, of its underlying type), the extra bits are padding bits\iref{basic.types}. \indextext{allocation!implementation-defined bit-field}% @@ -2939,7 +2939,7 @@ If a value of integral type (other than \tcode{bool}) is stored into a bit-field of width $N$ and the value would be representable in a hypothetical signed or unsigned integer type -with range exponent $N$ and the same signedness as the bit-field's type, +with width $N$ and the same signedness as the bit-field's type, the original value and the value of the bit-field compare equal. If the value \tcode{true} or \tcode{false} is stored into a bit-field of type \tcode{bool} of any size (including a one bit bit-field), the diff --git a/source/declarations.tex b/source/declarations.tex index 636ff5c2f7..e466c1787a 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -6833,7 +6833,7 @@ For an enumeration whose underlying type is fixed, the values of the enumeration are the values of the underlying type. Otherwise, the values of the enumeration are the values representable by -a hypothetical integer type with minimal range exponent $M$ +a hypothetical integer type with minimal width $M$ such that all enumerators can be represented. The width of the smallest bit-field large enough to hold all the values of the enumeration type is $M$. diff --git a/source/expressions.tex b/source/expressions.tex index 440c5866e8..6db8a8a545 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -898,7 +898,7 @@ \indextext{conversion!to signed}% Otherwise, the result is the unique value of the destination type that is congruent to the source integer modulo $2^N$, -where $N$ is the range exponent of the destination type. +where $N$ is the width of the destination type. \pnum The conversions allowed as integral promotions are excluded from the set @@ -5791,12 +5791,12 @@ left operand. \indextext{left shift!undefined}% The behavior is undefined if the right operand is negative, or greater -than or equal to the range exponent of the promoted left operand. +than or equal to the width of the promoted left operand. \pnum The value of \tcode{E1 << E2} is the unique value congruent to $\tcode{E1} \times 2^\tcode{E2}$ modulo $2^N$, -where $N$ is the range exponent of the type of the result. +where $N$ is the width of the type of the result. \begin{note} \tcode{E1} is left-shifted \tcode{E2} bit positions; vacated bits are zero-filled. From 1ce86a62a3cff9fb2bcf6c1a2c37168e023e338b Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 9 Mar 2019 22:18:26 +0100 Subject: [PATCH 140/148] [time.clock.req] Simplify requirements for Cpp17TrivialClock. --- source/time.tex | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/source/time.tex b/source/time.tex index df55cb2282..a3931f049c 100644 --- a/source/time.tex +++ b/source/time.tex @@ -1085,12 +1085,9 @@ \item \tcode{TC} satisfies the \oldconcept{Clock} requirements\iref{time.clock.req}, \item the types \tcode{TC::rep}, \tcode{TC::duration}, and \tcode{TC::time_point} -satisfy the \oldconcept{EqualityComparable} (\tref{equalitycomparable}), -\oldconcept{LessThanComparable} (\tref{lessthancomparable}), -\oldconcept{DefaultConstructible} (\tref{defaultconstructible}), -\oldconcept{\-Copy\-Con\-structible} (\tref{copyconstructible}), -\oldconcept{CopyAssignable} (\tref{copyassignable}), and -\oldconcept{Destructible} (\tref{destructible}) requirements and the requirements of +satisfy the \oldconcept{EqualityComparable} (\tref{equalitycomparable}) and +\oldconcept{LessThanComparable} (\tref{lessthancomparable}) +requirements and the requirements of numeric types\iref{numeric.requirements}. \begin{note} This means, in particular, that operations on these types will not throw exceptions. \end{note} From c3adaef44b94cc63a8a8806f398185046461947c Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 15 Mar 2019 19:23:30 +0100 Subject: [PATCH 141/148] [numeric.requirements] Define 'numeric type'. --- source/numerics.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/numerics.tex b/source/numerics.tex index 80e12d9793..b948bceed7 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -36,8 +36,8 @@ and \tcode{valarray} components are parameterized by the type of information they contain and manipulate. -A \Cpp{} program shall instantiate these components only with -a cv-unqualified object type \tcode{T} +A \Cpp{} program shall instantiate these components only with a numeric type. +A \defnadj{numeric}{type} is a cv-unqualified object type \tcode{T} that satisfies the \oldconcept{DefaultConstructible}, \oldconcept{CopyConstructible}, From 6c844190a533950fc0100eac4da7785d99c87400 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 15 Mar 2019 20:25:59 +0100 Subject: [PATCH 142/148] [time.clock.req] Change 'satisfy' to 'meet'. --- source/time.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/time.tex b/source/time.tex index a3931f049c..95abf28e35 100644 --- a/source/time.tex +++ b/source/time.tex @@ -1085,7 +1085,7 @@ \item \tcode{TC} satisfies the \oldconcept{Clock} requirements\iref{time.clock.req}, \item the types \tcode{TC::rep}, \tcode{TC::duration}, and \tcode{TC::time_point} -satisfy the \oldconcept{EqualityComparable} (\tref{equalitycomparable}) and +meet the \oldconcept{EqualityComparable} (\tref{equalitycomparable}) and \oldconcept{LessThanComparable} (\tref{lessthancomparable}) requirements and the requirements of numeric types\iref{numeric.requirements}. \begin{note} This means, in particular, From 04a5e31a02e19e5d1c9e9a0b05c40ce8730c7064 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 26 Jan 2019 00:30:13 +0100 Subject: [PATCH 143/148] [algorithms] Qualify declarator-id with sub-namespace. Also qualify return types where appropriate. --- source/algorithms.tex | 1682 +++++++++++++++++++---------------------- 1 file changed, 758 insertions(+), 924 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index e33a2759f5..75183616f4 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -2898,14 +2898,12 @@ bool all_of(ExecutionPolicy&& exec, ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr bool all_of(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - constexpr bool all_of(R&& r, Pred pred, Proj proj = {}); -} +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr bool ranges::all_of(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + constexpr bool ranges::all_of(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -2934,14 +2932,12 @@ bool any_of(ExecutionPolicy&& exec, ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr bool any_of(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - constexpr bool any_of(R&& r, Pred pred, Proj proj = {}); -} +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr bool ranges::any_of(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + constexpr bool ranges::any_of(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -2969,14 +2965,12 @@ bool none_of(ExecutionPolicy&& exec, ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr bool none_of(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - constexpr bool none_of(R&& r, Pred pred, Proj proj = {}); -} +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr bool ranges::none_of(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + constexpr bool ranges::none_of(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -3078,16 +3072,14 @@ \indexlibrary{\idxcode{for_each}}% \begin{itemdecl} -namespace ranges { - template S, class Proj = identity, - IndirectUnaryInvocable> Fun> - constexpr for_each_result - for_each(I first, S last, Fun f, Proj proj = {}); - template, Proj>> Fun> - constexpr for_each_result, Fun> - for_each(R&& r, Fun f, Proj proj = {}); -} +template S, class Proj = identity, + IndirectUnaryInvocable> Fun> + constexpr ranges::for_each_result + ranges::for_each(I first, S last, Fun f, Proj proj = {}); +template, Proj>> Fun> + constexpr ranges::for_each_result, Fun> + ranges::for_each(R&& r, Fun f, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -3222,29 +3214,27 @@ ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class T, class Proj = identity> - requires IndirectRelation, const T*> - constexpr I find(I first, S last, const T& value, Proj proj = {}); - template - requires IndirectRelation, Proj>, const T*> - constexpr safe_iterator_t - find(R&& r, const T& value, Proj proj = {}); - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr I find_if(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - constexpr safe_iterator_t - find_if(R&& r, Pred pred, Proj proj = {}); - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr I find_if_not(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - constexpr safe_iterator_t - find_if_not(R&& r, Pred pred, Proj proj = {}); -} +template S, class T, class Proj = identity> + requires IndirectRelation, const T*> + constexpr I ranges::find(I first, S last, const T& value, Proj proj = {}); +template + requires IndirectRelation, Proj>, const T*> + constexpr safe_iterator_t + ranges::find(R&& r, const T& value, Proj proj = {}); +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr I ranges::find_if(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + constexpr safe_iterator_t + ranges::find_if(R&& r, Pred pred, Proj proj = {}); +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr I ranges::find_if_not(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + constexpr safe_iterator_t + ranges::find_if_not(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -3299,20 +3289,18 @@ ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred); -namespace ranges { - template S1, ForwardIterator I2, Sentinel S2, - class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> - requires IndirectlyComparable - constexpr subrange - find_end(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> - constexpr safe_subrange_t - find_end(R1&& r1, R2&& r2, Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, ForwardIterator I2, Sentinel S2, + class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> + requires IndirectlyComparable + constexpr subrange + ranges::find_end(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> + constexpr safe_subrange_t + ranges::find_end(R1&& r1, R2&& r2, Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -3386,23 +3374,21 @@ ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred); -namespace ranges { - template S1, ForwardIterator I2, Sentinel S2, - class Proj1 = identity, class Proj2 = identity, - IndirectRelation, - projected> Pred = ranges::equal_to> - constexpr I1 find_first_of(I1 first1, S1 last1, I2 first2, S2 last2, - Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); - template, Proj1>, - projected, Proj2>> Pred = ranges::equal_to> - constexpr safe_iterator_t - find_first_of(R1&& r1, R2&& r2, - Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, ForwardIterator I2, Sentinel S2, + class Proj1 = identity, class Proj2 = identity, + IndirectRelation, + projected> Pred = ranges::equal_to> + constexpr I1 ranges::find_first_of(I1 first1, S1 last1, I2 first2, S2 last2, + Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); +template, Proj1>, + projected, Proj2>> Pred = ranges::equal_to> + constexpr safe_iterator_t + ranges::find_first_of(R1&& r1, R2&& r2, + Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -3455,16 +3441,12 @@ ForwardIterator first, ForwardIterator last, BinaryPredicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectRelation> Pred = ranges::equal_to> - constexpr I adjacent_find(I first, S last, Pred pred = {}, - Proj proj = {}); - template, Proj>> Pred = ranges::equal_to> - constexpr safe_iterator_t - adjacent_find(R&& r, Pred pred = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectRelation> Pred = ranges::equal_to> + constexpr I ranges::adjacent_find(I first, S last, Pred pred = {}, Proj proj = {}); +template, Proj>> Pred = ranges::equal_to> + constexpr safe_iterator_t ranges::adjacent_find(R&& r, Pred pred = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -3516,24 +3498,22 @@ count_if(ExecutionPolicy&& exec, ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class T, class Proj = identity> - requires IndirectRelation, const T*> - constexpr iter_difference_t - count(I first, S last, const T& value, Proj proj = {}); - template - requires IndirectRelation, Proj>, const T*> - constexpr iter_difference_t> - count(R&& r, const T& value, Proj proj = {}); - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr iter_difference_t - count_if(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - constexpr iter_difference_t> - count_if(R&& r, Pred pred, Proj proj = {}); -} +template S, class T, class Proj = identity> + requires IndirectRelation, const T*> + constexpr iter_difference_t + ranges::count(I first, S last, const T& value, Proj proj = {}); +template + requires IndirectRelation, Proj>, const T*> + constexpr iter_difference_t> + ranges::count(R&& r, const T& value, Proj proj = {}); +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr iter_difference_t + ranges::count_if(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + constexpr iter_difference_t> + ranges::count_if(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -3615,22 +3595,20 @@ ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - class Proj1 = identity, class Proj2 = identity, - IndirectRelation, - projected> Pred = ranges::equal_to> - constexpr mismatch_result - mismatch(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); - template, Proj1>, - projected, Proj2>> Pred = ranges::equal_to> - constexpr mismatch_result, safe_iterator_t> - mismatch(R1&& r1, R2&& r2, Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + class Proj1 = identity, class Proj2 = identity, + IndirectRelation, + projected> Pred = ranges::equal_to> + constexpr ranges::mismatch_result + ranges::mismatch(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); +template, Proj1>, + projected, Proj2>> Pred = ranges::equal_to> + constexpr ranges::mismatch_result, safe_iterator_t> + ranges::mismatch(R1&& r1, R2&& r2, Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -3709,19 +3687,17 @@ ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> - requires IndirectlyComparable - constexpr bool equal(I1 first1, S1 last1, I2 first2, S2 last2, - Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> - constexpr bool equal(R1&& r1, R2&& r2, Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + class Pred = ranges::equal_to, class Proj1 = identity, class Proj2 = identity> + requires IndirectlyComparable + constexpr bool ranges::equal(I1 first1, S1 last1, I2 first2, S2 last2, + Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> + constexpr bool ranges::equal(R1&& r1, R2&& r2, Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -3842,20 +3818,18 @@ \indexlibrary{\idxcode{is_permutation}}% \begin{itemdecl} -namespace ranges { - template S1, ForwardIterator I2, - Sentinel S2, class Pred = ranges::equal_to, class Proj1 = identity, - class Proj2 = identity> - requires IndirectlyComparable - constexpr bool is_permutation(I1 first1, S1 last1, I2 first2, S2 last2, - Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> - constexpr bool is_permutation(R1&& r1, R2&& r2, Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, ForwardIterator I2, + Sentinel S2, class Pred = ranges::equal_to, class Proj1 = identity, + class Proj2 = identity> + requires IndirectlyComparable + constexpr bool ranges::is_permutation(I1 first1, S1 last1, I2 first2, S2 last2, + Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> + constexpr bool ranges::is_permutation(R1&& r1, R2&& r2, Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -3932,21 +3906,19 @@ \indexlibrary{\idxcode{search}}% \begin{itemdecl} -namespace ranges { - template S1, ForwardIterator I2, - Sentinel S2, class Pred = ranges::equal_to, - class Proj1 = identity, class Proj2 = identity> - requires IndirectlyComparable - constexpr subrange - search(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> - constexpr safe_subrange_t - search(R1&& r1, R2&& r2, Pred pred = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, ForwardIterator I2, + Sentinel S2, class Pred = ranges::equal_to, + class Proj1 = identity, class Proj2 = identity> + requires IndirectlyComparable + constexpr subrange + ranges::search(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires IndirectlyComparable, iterator_t, Pred, Proj1, Proj2> + constexpr safe_subrange_t + ranges::search(R1&& r1, R2&& r2, Pred pred = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -4022,20 +3994,18 @@ \indexlibrary{\idxcode{search_n}}% \begin{itemdecl} -namespace ranges { - template S, class T, - class Pred = ranges::equal_to, class Proj = identity> - requires IndirectlyComparable - constexpr subrange - search_n(I first, S last, iter_difference_t count, - const T& value, Pred pred = {}, Proj proj = {}); - template - requires IndirectlyComparable, const T*, Pred, Proj> - constexpr safe_subrange_t - search_n(R&& r, iter_difference_t> count, - const T& value, Pred pred = {}, Proj proj = {}); -} +template S, class T, + class Pred = ranges::equal_to, class Proj = identity> + requires IndirectlyComparable + constexpr subrange + ranges::search_n(I first, S last, iter_difference_t count, + const T& value, Pred pred = {}, Proj proj = {}); +template + requires IndirectlyComparable, const T*, Pred, Proj> + constexpr safe_subrange_t + ranges::search_n(R&& r, iter_difference_t> count, + const T& value, Pred pred = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -4081,16 +4051,12 @@ constexpr OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result); -namespace ranges { - template S, WeaklyIncrementable O> - requires IndirectlyCopyable - constexpr copy_result - copy(I first, S last, O result); - template - requires IndirectlyCopyable, O> - constexpr copy_result, O> - copy(R&& r, O result); -} +template S, WeaklyIncrementable O> + requires IndirectlyCopyable + constexpr ranges::copy_result ranges::copy(I first, S last, O result); +template + requires IndirectlyCopyable, O> + constexpr ranges::copy_result, O> ranges::copy(R&& r, O result); \end{itemdecl} \begin{itemdescr} @@ -4163,12 +4129,10 @@ ForwardIterator1 first, Size n, ForwardIterator2 result); -namespace ranges { - template - requires IndirectlyCopyable - constexpr copy_n_result - copy_n(I first, iter_difference_t n, O result); -} +template + requires IndirectlyCopyable + constexpr ranges::copy_n_result + ranges::copy_n(I first, iter_difference_t n, O result); \end{itemdecl} \begin{itemdescr} @@ -4207,18 +4171,16 @@ ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 result, Predicate pred); -namespace ranges { - template S, WeaklyIncrementable O, class Proj = identity, - IndirectUnaryPredicate> Pred> - requires IndirectlyCopyable - constexpr copy_if_result - copy_if(I first, S last, O result, Pred pred, Proj proj = {}); - template, Proj>> Pred> - requires IndirectlyCopyable, O> - constexpr copy_if_result, O> - copy_if(R&& r, O result, Pred pred, Proj proj = {}); -} +template S, WeaklyIncrementable O, class Proj = identity, + IndirectUnaryPredicate> Pred> + requires IndirectlyCopyable + constexpr ranges::copy_if_result + ranges::copy_if(I first, S last, O result, Pred pred, Proj proj = {}); +template, Proj>> Pred> + requires IndirectlyCopyable, O> + constexpr ranges::copy_if_result, O> + ranges::copy_if(R&& r, O result, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -4281,16 +4243,14 @@ BidirectionalIterator1 last, BidirectionalIterator2 result); -namespace ranges { - template S1, BidirectionalIterator I2> - requires IndirectlyCopyable - constexpr copy_backward_result - copy_backward(I1 first, S1 last, I2 result); - template - requires IndirectlyCopyable, I> - constexpr copy_backward_result, I> - copy_backward(R&& r, I result); -} +template S1, BidirectionalIterator I2> + requires IndirectlyCopyable + constexpr ranges::copy_backward_result + ranges::copy_backward(I1 first, S1 last, I2 result); +template + requires IndirectlyCopyable, I> + constexpr ranges::copy_backward_result, I> + ranges::copy_backward(R&& r, I result); \end{itemdecl} \begin{itemdescr} @@ -4335,16 +4295,14 @@ constexpr OutputIterator move(InputIterator first, InputIterator last, OutputIterator result); -namespace ranges { - template S, WeaklyIncrementable O> - requires IndirectlyMovable - constexpr move_result - move(I first, S last, O result); - template - requires IndirectlyMovable, O> - constexpr move_result, O> - move(R&& r, O result); -} +template S, WeaklyIncrementable O> + requires IndirectlyMovable + constexpr ranges::move_result + ranges::move(I first, S last, O result); +template + requires IndirectlyMovable, O> + constexpr ranges::move_result, O> + ranges::move(R&& r, O result); \end{itemdecl} \begin{itemdescr} @@ -4427,16 +4385,14 @@ move_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result); -namespace ranges { - template S1, BidirectionalIterator I2> - requires IndirectlyMovable - constexpr move_backward_result - move_backward(I1 first, S1 last, I2 result); - template - requires IndirectlyMovable, I> - constexpr move_backward_result, I> - move_backward(R&& r, I result); -} +template S1, BidirectionalIterator I2> + requires IndirectlyMovable + constexpr ranges::move_backward_result + ranges::move_backward(I1 first, S1 last, I2 result); +template + requires IndirectlyMovable, I> + constexpr ranges::move_backward_result, I> + ranges::move_backward(R&& r, I result); \end{itemdecl} \begin{itemdescr} @@ -4496,16 +4452,14 @@ ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2); -namespace ranges { - template S1, InputIterator I2, Sentinel S2> - requires IndirectlySwappable - constexpr swap_ranges_result - swap_ranges(I1 first1, S1 last1, I2 first2, S2 last2); - template - requires IndirectlySwappable, iterator_t> - constexpr swap_ranges_result, safe_iterator_t> - swap_ranges(R1&& r1, R2&& r2); -} +template S1, InputIterator I2, Sentinel S2> + requires IndirectlySwappable + constexpr ranges::swap_ranges_result + ranges::swap_ranges(I1 first1, S1 last1, I2 first2, S2 last2); +template + requires IndirectlySwappable, iterator_t> + constexpr ranges::swap_ranges_result, safe_iterator_t> + ranges::swap_ranges(R1&& r1, R2&& r2); \end{itemdecl} \begin{itemdescr} @@ -4601,33 +4555,31 @@ ForwardIterator2 first2, ForwardIterator result, BinaryOperation binary_op); -namespace ranges { - template S, WeaklyIncrementable O, - CopyConstructible F, class Proj = identity> - requires Writable>> - constexpr unary_transform_result - transform(I first1, S last1, O result, F op, Proj proj = {}); - template - requires Writable, Proj>>> - constexpr unary_transform_result, O> - transform(R&& r, O result, F op, Proj proj = {}); - template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, CopyConstructible F, class Proj1 = identity, - class Proj2 = identity> - requires Writable, - projected>> - constexpr binary_transform_result - transform(I1 first1, S1 last1, I2 first2, S2 last2, O result, - F binary_op, Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires Writable, Proj1>, - projected, Proj2>>> - constexpr binary_transform_result, safe_iterator_t, O> - transform(R1&& r1, R2&& r2, O result, - F binary_op, Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S, WeaklyIncrementable O, + CopyConstructible F, class Proj = identity> + requires Writable>> + constexpr ranges::unary_transform_result + ranges::transform(I first1, S last1, O result, F op, Proj proj = {}); +template + requires Writable, Proj>>> + constexpr ranges::unary_transform_result, O> + ranges::transform(R&& r, O result, F op, Proj proj = {}); +template S1, InputIterator I2, Sentinel S2, + WeaklyIncrementable O, CopyConstructible F, class Proj1 = identity, + class Proj2 = identity> + requires Writable, + projected>> + constexpr ranges::binary_transform_result + ranges::transform(I1 first1, S1 last1, I2 first2, S2 last2, O result, + F binary_op, Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires Writable, Proj1>, + projected, Proj2>>> + constexpr ranges::binary_transform_result, safe_iterator_t, O> + ranges::transform(R1&& r1, R2&& r2, O result, + F binary_op, Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -4722,27 +4674,25 @@ ForwardIterator first, ForwardIterator last, Predicate pred, const T& new_value); -namespace ranges { - template S, class T1, class T2, class Proj = identity> - requires Writable && - IndirectRelation, const T1*> - constexpr I - replace(I first, S last, const T1& old_value, const T2& new_value, Proj proj = {}); - template - requires Writable, const T2&> && - IndirectRelation, Proj>, const T1*> - constexpr safe_iterator_t - replace(R&& r, const T1& old_value, const T2& new_value, Proj proj = {}); - template S, class T, class Proj = identity, - IndirectUnaryPredicate> Pred> - requires Writable - constexpr I replace_if(I first, S last, Pred pred, const T& new_value, Proj proj = {}); - template, Proj>> Pred> - requires Writable, const T&> - constexpr safe_iterator_t - replace_if(R&& r, Pred pred, const T& new_value, Proj proj = {}); -} +template S, class T1, class T2, class Proj = identity> + requires Writable && + IndirectRelation, const T1*> + constexpr I + ranges::replace(I first, S last, const T1& old_value, const T2& new_value, Proj proj = {}); +template + requires Writable, const T2&> && + IndirectRelation, Proj>, const T1*> + constexpr safe_iterator_t + ranges::replace(R&& r, const T1& old_value, const T2& new_value, Proj proj = {}); +template S, class T, class Proj = identity, + IndirectUnaryPredicate> Pred> + requires Writable + constexpr I ranges::replace_if(I first, S last, Pred pred, const T& new_value, Proj proj = {}); +template, Proj>> Pred> + requires Writable, const T&> + constexpr safe_iterator_t + ranges::replace_if(R&& r, Pred pred, const T& new_value, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -4803,35 +4753,33 @@ ForwardIterator2 result, Predicate pred, const T& new_value); -namespace ranges { - template S, class T1, class T2, OutputIterator O, - class Proj = identity> - requires IndirectlyCopyable && - IndirectRelation, const T1*> - constexpr replace_copy_result - replace_copy(I first, S last, O result, const T1& old_value, const T2& new_value, - Proj proj = {}); - template O, - class Proj = identity> - requires IndirectlyCopyable, O> && - IndirectRelation, Proj>, const T1*> - constexpr replace_copy_result, O> - replace_copy(R&& r, O result, const T1& old_value, const T2& new_value, - Proj proj = {}); - - template S, class T, OutputIterator O, - class Proj = identity, IndirectUnaryPredicate> Pred> - requires IndirectlyCopyable - constexpr replace_copy_if_result - replace_copy_if(I first, S last, O result, Pred pred, const T& new_value, - Proj proj = {}); - template O, class Proj = identity, - IndirectUnaryPredicate, Proj>> Pred> - requires IndirectlyCopyable, O> - constexpr replace_copy_if_result, O> - replace_copy_if(R&& r, O result, Pred pred, const T& new_value, - Proj proj = {}); -} +template S, class T1, class T2, OutputIterator O, + class Proj = identity> + requires IndirectlyCopyable && + IndirectRelation, const T1*> + constexpr ranges::replace_copy_result + ranges::replace_copy(I first, S last, O result, const T1& old_value, const T2& new_value, + Proj proj = {}); +template O, + class Proj = identity> + requires IndirectlyCopyable, O> && + IndirectRelation, Proj>, const T1*> + constexpr ranges::replace_copy_result, O> + ranges::replace_copy(R&& r, O result, const T1& old_value, const T2& new_value, + Proj proj = {}); + +template S, class T, OutputIterator O, + class Proj = identity, IndirectUnaryPredicate> Pred> + requires IndirectlyCopyable + constexpr ranges::replace_copy_if_result + ranges::replace_copy_if(I first, S last, O result, Pred pred, const T& new_value, + Proj proj = {}); +template O, class Proj = identity, + IndirectUnaryPredicate, Proj>> Pred> + requires IndirectlyCopyable, O> + constexpr ranges::replace_copy_if_result, O> + ranges::replace_copy_if(R&& r, O result, Pred pred, const T& new_value, + Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -4899,14 +4847,12 @@ ForwardIterator first, Size n, const T& value); -namespace ranges { - template O, Sentinel S> - constexpr O fill(O first, S last, const T& value); - template R> - constexpr safe_iterator_t fill(R&& r, const T& value); - template O> - constexpr O fill_n(O first, iter_difference_t n, const T& value); -} +template O, Sentinel S> + constexpr O ranges::fill(O first, S last, const T& value); +template R> + constexpr safe_iterator_t ranges::fill(R&& r, const T& value); +template O> + constexpr O ranges::fill_n(O first, iter_difference_t n, const T& value); \end{itemdecl} \begin{itemdescr} @@ -4954,17 +4900,15 @@ ForwardIterator generate_n(ExecutionPolicy&& exec, ForwardIterator first, Size n, Generator gen); -namespace ranges { - template S, CopyConstructible F> - requires Invocable && Writable> - constexpr O generate(O first, S last, F gen); - template - requires Invocable && OutputRange> - constexpr safe_iterator_t generate(R&& r, F gen); - template - requires Invocable && Writable> - constexpr O generate_n(O first, iter_difference_t n, F gen); -} +template S, CopyConstructible F> + requires Invocable && Writable> + constexpr O ranges::generate(O first, S last, F gen); +template + requires Invocable && OutputRange> + constexpr safe_iterator_t ranges::generate(R&& r, F gen); +template + requires Invocable && Writable> + constexpr O ranges::generate_n(O first, iter_difference_t n, F gen); \end{itemdecl} \begin{itemdescr} @@ -5012,24 +4956,22 @@ ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class T, class Proj = identity> - requires IndirectRelation, const T*> - constexpr I remove(I first, S last, const T& value, Proj proj = {}); - template - requires Permutable> && - IndirectRelation, Proj>, const T*> - constexpr safe_iterator_t - remove(R&& r, const T& value, Proj proj = {}); - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr I remove_if(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - requires Permutable> - constexpr safe_iterator_t - remove_if(R&& r, Pred pred, Proj proj = {}); -} +template S, class T, class Proj = identity> + requires IndirectRelation, const T*> + constexpr I ranges::remove(I first, S last, const T& value, Proj proj = {}); +template + requires Permutable> && + IndirectRelation, Proj>, const T*> + constexpr safe_iterator_t + ranges::remove(R&& r, const T& value, Proj proj = {}); +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr I ranges::remove_if(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + requires Permutable> + constexpr safe_iterator_t + ranges::remove_if(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -5101,29 +5043,27 @@ ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 result, Predicate pred); -namespace ranges { - template S, WeaklyIncrementable O, class T, - class Proj = identity> - requires IndirectlyCopyable && - IndirectRelation, const T*> - constexpr remove_copy_result - remove_copy(I first, S last, O result, const T& value, Proj proj = {}); - template - requires IndirectlyCopyable, O> && - IndirectRelation, Proj>, const T*> - constexpr remove_copy_result, O> - remove_copy(R&& r, O result, const T& value, Proj proj = {}); - template S, WeaklyIncrementable O, - class Proj = identity, IndirectUnaryPredicate> Pred> - requires IndirectlyCopyable - constexpr remove_copy_if_result - remove_copy_if(I first, S last, O result, Pred pred, Proj proj = {}); - template, Proj>> Pred> - requires IndirectlyCopyable, O> - constexpr remove_copy_if_result, O> - remove_copy_if(R&& r, O result, Pred pred, Proj proj = {}); -} +template S, WeaklyIncrementable O, class T, + class Proj = identity> + requires IndirectlyCopyable && + IndirectRelation, const T*> + constexpr ranges::remove_copy_result + ranges::remove_copy(I first, S last, O result, const T& value, Proj proj = {}); +template + requires IndirectlyCopyable, O> && + IndirectRelation, Proj>, const T*> + constexpr ranges::remove_copy_result, O> + ranges::remove_copy(R&& r, O result, const T& value, Proj proj = {}); +template S, WeaklyIncrementable O, + class Proj = identity, IndirectUnaryPredicate> Pred> + requires IndirectlyCopyable + constexpr ranges::remove_copy_if_result + ranges::remove_copy_if(I first, S last, O result, Pred pred, Proj proj = {}); +template, Proj>> Pred> + requires IndirectlyCopyable, O> + constexpr ranges::remove_copy_if_result, O> + ranges::remove_copy_if(R&& r, O result, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -5191,16 +5131,14 @@ ForwardIterator first, ForwardIterator last, BinaryPredicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectRelation> C = ranges::equal_to> - constexpr I unique(I first, S last, C comp = {}, Proj proj = {}); - template, Proj>> C = ranges::equal_to> - requires Permutable> - constexpr safe_iterator_t - unique(R&& r, C comp = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectRelation> C = ranges::equal_to<>> + constexpr I ranges::unique(I first, S last, C comp = {}, Proj proj = {}); +template, Proj>> C = ranges::equal_to> + requires Permutable> + constexpr safe_iterator_t + ranges::unique(R&& r, C comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -5267,24 +5205,22 @@ ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 result, BinaryPredicate pred); -namespace ranges { - template S, WeaklyIncrementable O, - class Proj = identity, IndirectRelation> C = ranges::equal_to> - requires IndirectlyCopyable && - (ForwardIterator || - (InputIterator && Same, iter_value_t>) || - IndirectlyCopyableStorable) - constexpr unique_copy_result - unique_copy(I first, S last, O result, C comp = {}, Proj proj = {}); - template, Proj>> C = ranges::equal_to> - requires IndirectlyCopyable, O> && - (ForwardIterator> || - (InputIterator && Same>, iter_value_t>) || - IndirectlyCopyableStorable, O>) - constexpr unique_copy_result, O> - unique_copy(R&& r, O result, C comp = {}, Proj proj = {}); -} +template S, WeaklyIncrementable O, + class Proj = identity, IndirectRelation> C = ranges::equal_to> + requires IndirectlyCopyable && + (ForwardIterator || + (InputIterator && Same, iter_value_t>) || + IndirectlyCopyableStorable) + constexpr ranges::unique_copy_result + ranges::unique_copy(I first, S last, O result, C comp = {}, Proj proj = {}); +template, Proj>> C = ranges::equal_to> + requires IndirectlyCopyable, O> && + (ForwardIterator> || + (InputIterator && Same>, iter_value_t>) || + IndirectlyCopyableStorable, O>) + constexpr ranges::unique_copy_result, O> + ranges::unique_copy(R&& r, O result, C comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -5368,14 +5304,12 @@ void reverse(ExecutionPolicy&& exec, BidirectionalIterator first, BidirectionalIterator last); -namespace ranges { - template S> - requires Permutable - constexpr I reverse(I first, S last); - template - requires Permutable> - constexpr safe_iterator_t reverse(R&& r); -} +template S> + requires Permutable + constexpr I ranges::reverse(I first, S last); +template + requires Permutable> + constexpr safe_iterator_t ranges::reverse(R&& r); \end{itemdecl} \begin{itemdescr} @@ -5413,16 +5347,14 @@ BidirectionalIterator first, BidirectionalIterator last, ForwardIterator result); -namespace ranges { - template S, WeaklyIncrementable O> - requires IndirectlyCopyable - constexpr reverse_copy_result - reverse_copy(I first, S last, O result); - template - requires IndirectlyCopyable, O> - constexpr reverse_copy_result, O> - reverse_copy(R&& r, O result); -} +template S, WeaklyIncrementable O> + requires IndirectlyCopyable + constexpr ranges::reverse_copy_result + ranges::reverse_copy(I first, S last, O result); +template + requires IndirectlyCopyable, O> + constexpr ranges::reverse_copy_result, O> + ranges::reverse_copy(R&& r, O result); \end{itemdecl} \begin{itemdescr} @@ -5467,10 +5399,8 @@ rotate(ExecutionPolicy&& exec, ForwardIterator first, ForwardIterator middle, ForwardIterator last); -namespace ranges { - template S> - constexpr subrange rotate(I first, I middle, S last); -} +template S> + constexpr subrange ranges::rotate(I first, I middle, S last); \end{itemdecl} \begin{itemdescr} @@ -5510,11 +5440,9 @@ \end{itemdescr} \begin{itemdecl} -namespace ranges { - template - requires Permutable> - constexpr safe_subrange_t rotate(R&& r, iterator_t middle); -} +template + requires Permutable> + constexpr safe_subrange_t ranges::rotate(R&& r, iterator_t middle); \end{itemdecl} \begin{itemdescr} @@ -5536,12 +5464,10 @@ ForwardIterator1 first, ForwardIterator1 middle, ForwardIterator1 last, ForwardIterator2 result); -namespace ranges { template S, WeaklyIncrementable O> requires IndirectlyCopyable - constexpr rotate_copy_result - rotate_copy(I first, I middle, S last, O result); -} + constexpr ranges::rotate_copy_result + ranges::rotate_copy(I first, I middle, S last, O result); \end{itemdecl} \begin{itemdescr} @@ -5576,12 +5502,10 @@ \end{itemdescr} \begin{itemdecl} -namespace ranges { - template - requires IndirectlyCopyable, O> - constexpr rotate_copy_result, O> - rotate_copy(R&& r, iterator_t middle, O result); -} +template + requires IndirectlyCopyable, O> + constexpr ranges::rotate_copy_result, O> + ranges::rotate_copy(R&& r, iterator_t middle, O result); \end{itemdecl} \begin{itemdescr} @@ -5672,16 +5596,14 @@ RandomAccessIterator last, UniformRandomBitGenerator&& g); -namespace ranges { - template S, class Gen> - requires Permutable && - UniformRandomBitGenerator> - I shuffle(I first, S last, Gen&& g); - template - requires Permutable> && - UniformRandomBitGenerator> - safe_iterator_t shuffle(R&& r, Gen&& g); -} +template S, class Gen> + requires Permutable && + UniformRandomBitGenerator> + I ranges::shuffle(I first, S last, Gen&& g); +template + requires Permutable> && + UniformRandomBitGenerator> + safe_iterator_t ranges::shuffle(R&& r, Gen&& g); \end{itemdecl} \begin{itemdescr} @@ -5905,17 +5827,15 @@ RandomAccessIterator first, RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr I - sort(I first, S last, Comp comp = {}, Proj proj = {}); - template - requires Sortable, Comp, Proj> - constexpr safe_iterator_t - sort(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr I + ranges::sort(I first, S last, Comp comp = {}, Proj proj = {}); +template + requires Sortable, Comp, Proj> + constexpr safe_iterator_t + ranges::sort(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -5966,16 +5886,14 @@ RandomAccessIterator first, RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - I stable_sort(I first, S last, Comp comp = {}, Proj proj = {}); - template - requires Sortable, Comp, Proj> - safe_iterator_t - stable_sort(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + I ranges::stable_sort(I first, S last, Comp comp = {}, Proj proj = {}); +template + requires Sortable, Comp, Proj> + safe_iterator_t + ranges::stable_sort(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6040,13 +5958,11 @@ RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr I - partial_sort(I first, I middle, S last, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr I + ranges::partial_sort(I first, I middle, S last, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6086,12 +6002,10 @@ \end{itemdescr} \begin{itemdecl} -namespace ranges { - template - requires Sortable, Comp, Proj> - constexpr safe_iterator_t - partial_sort(R&& r, iterator_t middle, Comp comp = {}, Proj proj = {}); -} +template + requires Sortable, Comp, Proj> + constexpr safe_iterator_t + ranges::partial_sort(R&& r, iterator_t middle, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6135,24 +6049,22 @@ RandomAccessIterator result_last, Compare comp); -namespace ranges { - template S1, RandomAccessIterator I2, Sentinel S2, - class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> - requires IndirectlyCopyable && Sortable && - IndirectStrictWeakOrder, projected> - constexpr I2 - partial_sort_copy(I1 first, S1 last, I2 result_first, S2 result_last, - Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires IndirectlyCopyable, iterator_t> && - Sortable, Comp, Proj2> && - IndirectStrictWeakOrder, Proj1>, - projected, Proj2>> - constexpr safe_iterator_t - partial_sort_copy(R1&& r, R2&& result_r, Comp comp = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, RandomAccessIterator I2, Sentinel S2, + class Comp = ranges::less, class Proj1 = identity, class Proj2 = identity> + requires IndirectlyCopyable && Sortable && + IndirectStrictWeakOrder, projected> + constexpr I2 + ranges::partial_sort_copy(I1 first, S1 last, I2 result_first, S2 result_last, + Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires IndirectlyCopyable, iterator_t> && + Sortable, Comp, Proj2> && + IndirectStrictWeakOrder, Proj1>, + projected, Proj2>> + constexpr safe_iterator_t + ranges::partial_sort_copy(R1&& r, R2&& result_r, Comp comp = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -6269,14 +6181,12 @@ \indexlibrary{\idxcode{is_sorted}}% \begin{itemdecl} -namespace ranges { - template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr bool is_sorted(I first, S last, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - constexpr bool is_sorted(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr bool ranges::is_sorted(I first, S last, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + constexpr bool ranges::is_sorted(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6306,15 +6216,13 @@ ForwardIterator first, ForwardIterator last, Compare comp); -namespace ranges { - template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr I is_sorted_until(I first, S last, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - constexpr safe_iterator_t - is_sorted_until(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr I ranges::is_sorted_until(I first, S last, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + constexpr safe_iterator_t + ranges::is_sorted_until(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6354,13 +6262,11 @@ RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr I - nth_element(I first, I nth, S last, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr I + ranges::nth_element(I first, I nth, S last, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6402,12 +6308,10 @@ \end{itemdescr} \begin{itemdecl} -namespace ranges { - template - requires Sortable, Comp, Proj> - constexpr safe_iterator_t - nth_element(R&& r, iterator_t nth, Comp comp = {}, Proj proj = {}); -} +template + requires Sortable, Comp, Proj> + constexpr safe_iterator_t + ranges::nth_element(R&& r, iterator_t nth, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6447,17 +6351,15 @@ lower_bound(ForwardIterator first, ForwardIterator last, const T& value, Compare comp); -namespace ranges { - template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr I lower_bound(I first, S last, const T& value, Comp comp = {}, - Proj proj = {}); - template, Proj>> Comp = - ranges::less> - constexpr safe_iterator_t - lower_bound(R&& r, const T& value, Comp comp = {}, Proj proj = {}); -} +template S, class T, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr I ranges::lower_bound(I first, S last, const T& value, Comp comp = {}, + Proj proj = {}); +template, Proj>> Comp = + ranges::less> + constexpr safe_iterator_t + ranges::lower_bound(R&& r, const T& value, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6497,16 +6399,14 @@ upper_bound(ForwardIterator first, ForwardIterator last, const T& value, Compare comp); -namespace ranges { - template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr I upper_bound(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = - ranges::less> - constexpr safe_iterator_t - upper_bound(R&& r, const T& value, Comp comp = {}, Proj proj = {}); -} +template S, class T, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr I ranges::upper_bound(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = + ranges::less> + constexpr safe_iterator_t + ranges::upper_bound(R&& r, const T& value, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6547,17 +6447,15 @@ ForwardIterator last, const T& value, Compare comp); -namespace ranges { - template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr subrange - equal_range(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = - ranges::less> - constexpr safe_subrange_t - equal_range(R&& r, const T& value, Comp comp = {}, Proj proj = {}); -} +template S, class T, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr subrange + ranges::equal_range(I first, S last, const T& value, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = + ranges::less> + constexpr safe_subrange_t + ranges::equal_range(R&& r, const T& value, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6611,17 +6509,15 @@ binary_search(ForwardIterator first, ForwardIterator last, const T& value, Compare comp); -namespace ranges { - template S, class T, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr bool binary_search(I first, S last, const T& value, Comp comp = {}, - Proj proj = {}); - template, Proj>> Comp = - ranges::less> - constexpr bool binary_search(R&& r, const T& value, Comp comp = {}, - Proj proj = {}); -} +template S, class T, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr bool ranges::binary_search(I first, S last, const T& value, Comp comp = {}, + Proj proj = {}); +template, Proj>> Comp = + ranges::less> + constexpr bool ranges::binary_search(R&& r, const T& value, Comp comp = {}, + Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6663,14 +6559,12 @@ bool is_partitioned(ExecutionPolicy&& exec, ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr bool is_partitioned(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - constexpr bool is_partitioned(R&& r, Pred pred, Proj proj = {}); -} +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr bool ranges::is_partitioned(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + constexpr bool ranges::is_partitioned(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6700,17 +6594,15 @@ partition(ExecutionPolicy&& exec, ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr I - partition(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - requires Permutable> - constexpr safe_iterator_t - partition(R&& r, Pred pred, Proj proj = {}); -} +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr I + ranges::partition(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + requires Permutable> + constexpr safe_iterator_t + ranges::partition(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6765,16 +6657,14 @@ stable_partition(ExecutionPolicy&& exec, BidirectionalIterator first, BidirectionalIterator last, Predicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - requires Permutable - I stable_partition(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - requires Permutable> - safe_iterator_t stable_partition(R&& r, Pred pred, Proj proj = {}); -} +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + requires Permutable + I ranges::stable_partition(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + requires Permutable> + safe_iterator_t ranges::stable_partition(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6833,21 +6723,19 @@ ForwardIterator first, ForwardIterator last, ForwardIterator1 out_true, ForwardIterator2 out_false, Predicate pred); -namespace ranges { - template S, WeaklyIncrementable O1, WeaklyIncrementable O2, - class Proj = identity, IndirectUnaryPredicate> Pred> - requires IndirectlyCopyable && IndirectlyCopyable - constexpr partition_copy_result - partition_copy(I first, S last, O1 out_true, O2 out_false, Pred pred, - Proj proj = {}); - template, Proj>> Pred> - requires IndirectlyCopyable, O1> && - IndirectlyCopyable, O2> - constexpr partition_copy_result, O1, O2> - partition_copy(R&& r, O1 out_true, O2 out_false, Pred pred, Proj proj = {}); -} +template S, WeaklyIncrementable O1, WeaklyIncrementable O2, + class Proj = identity, IndirectUnaryPredicate> Pred> + requires IndirectlyCopyable && IndirectlyCopyable + constexpr ranges::partition_copy_result + ranges::partition_copy(I first, S last, O1 out_true, O2 out_false, Pred pred, + Proj proj = {}); +template, Proj>> Pred> + requires IndirectlyCopyable, O1> && + IndirectlyCopyable, O2> + constexpr ranges::partition_copy_result, O1, O2> + ranges::partition_copy(R&& r, O1 out_true, O2 out_false, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6897,15 +6785,13 @@ constexpr ForwardIterator partition_point(ForwardIterator first, ForwardIterator last, Predicate pred); -namespace ranges { - template S, class Proj = identity, - IndirectUnaryPredicate> Pred> - constexpr I partition_point(I first, S last, Pred pred, Proj proj = {}); - template, Proj>> Pred> - constexpr safe_iterator_t - partition_point(R&& r, Pred pred, Proj proj = {}); -} +template S, class Proj = identity, + IndirectUnaryPredicate> Pred> + constexpr I ranges::partition_point(I first, S last, Pred pred, Proj proj = {}); +template, Proj>> Pred> + constexpr safe_iterator_t + ranges::partition_point(R&& r, Pred pred, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -6964,21 +6850,19 @@ ForwardIterator2 first2, ForwardIterator2 last2, ForwardIterator result, Compare comp); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, - class Proj2 = identity> - requires Mergeable - constexpr merge_result - merge(I1 first1, S1 last1, I2 first2, S2 last2, O result, - Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> - constexpr merge_result, safe_iterator_t, O> - merge(R1&& r1, R2&& r2, O result, - Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + WeaklyIncrementable O, class Comp = ranges::less, class Proj1 = identity, + class Proj2 = identity> + requires Mergeable + constexpr ranges::merge_result + ranges::merge(I1 first1, S1 last1, I2 first2, S2 last2, O result, + Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> + constexpr ranges::merge_result, safe_iterator_t, O> + ranges::merge(R1&& r1, R2&& r2, O result, + Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -7057,12 +6941,10 @@ BidirectionalIterator middle, BidirectionalIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - I inplace_merge(I first, I middle, S last, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + I ranges::inplace_merge(I first, I middle, S last, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -7111,12 +6993,10 @@ \end{itemdescr} \begin{itemdecl} -namespace ranges { - template - requires Sortable, Comp, Proj> - safe_iterator_t - inplace_merge(R&& r, iterator_t middle, Comp comp = {}, Proj proj = {}); -} +template + requires Sortable, Comp, Proj> + safe_iterator_t + ranges::inplace_merge(R&& r, iterator_t middle, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -7161,20 +7041,18 @@ ForwardIterator2 first2, ForwardIterator2 last2, Compare comp); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - class Proj1 = identity, class Proj2 = identity, - IndirectStrictWeakOrder, - projected> Comp = ranges::less> - constexpr bool includes(I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); - template, Proj1>, - projected, Proj2>> Comp = ranges::less> - constexpr bool includes(R1&& r1, R2&& r2, Comp comp = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + class Proj1 = identity, class Proj2 = identity, + IndirectStrictWeakOrder, + projected> Comp = ranges::less> + constexpr bool ranges::includes(I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); +template, Proj1>, + projected, Proj2>> Comp = ranges::less> + constexpr bool ranges::includes(R1&& r1, R2&& r2, Comp comp = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -7237,21 +7115,19 @@ ForwardIterator2 first2, ForwardIterator2 last2, ForwardIterator result, Compare comp); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less, - class Proj1 = identity, class Proj2 = identity> - requires Mergeable - constexpr set_union_result - set_union(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> - constexpr set_union_result, safe_iterator_t, O> - set_union(R1&& r1, R2&& r2, O result, Comp comp = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + WeaklyIncrementable O, class Comp = ranges::less, + class Proj1 = identity, class Proj2 = identity> + requires Mergeable + constexpr ranges::set_union_result + ranges::set_union(I1 first1, S1 last1, I2 first2, S2 last2, O result, Comp comp = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> + constexpr ranges::set_union_result, safe_iterator_t, O> + ranges::set_union(R1&& r1, R2&& r2, O result, Comp comp = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -7334,21 +7210,19 @@ ForwardIterator2 first2, ForwardIterator2 last2, ForwardIterator result, Compare comp); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less, - class Proj1 = identity, class Proj2 = identity> - requires Mergeable - constexpr set_intersection_result - set_intersection(I1 first1, S1 last1, I2 first2, S2 last2, O result, - Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> - constexpr set_intersection_result, safe_iterator_t, O> - set_intersection(R1&& r1, R2&& r2, O result, - Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + WeaklyIncrementable O, class Comp = ranges::less, + class Proj1 = identity, class Proj2 = identity> + requires Mergeable + constexpr ranges::set_intersection_result + ranges::set_intersection(I1 first1, S1 last1, I2 first2, S2 last2, O result, + Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> + constexpr ranges::set_intersection_result, safe_iterator_t, O> + ranges::set_intersection(R1&& r1, R2&& r2, O result, + Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -7429,21 +7303,19 @@ ForwardIterator2 first2, ForwardIterator2 last2, ForwardIterator result, Compare comp); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less, - class Proj1 = identity, class Proj2 = identity> - requires Mergeable - constexpr set_difference_result - set_difference(I1 first1, S1 last1, I2 first2, S2 last2, O result, - Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template - requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> - constexpr set_difference_result, O> - set_difference(R1&& r1, R2&& r2, O result, - Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + WeaklyIncrementable O, class Comp = ranges::less, + class Proj1 = identity, class Proj2 = identity> + requires Mergeable + constexpr ranges::set_difference_result + ranges::set_difference(I1 first1, S1 last1, I2 first2, S2 last2, O result, + Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); +template + requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> + constexpr ranges::set_difference_result, O> + ranges::set_difference(R1&& r1, R2&& r2, O result, + Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -7525,22 +7397,20 @@ ForwardIterator2 first2, ForwardIterator2 last2, ForwardIterator result, Compare comp); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - WeaklyIncrementable O, class Comp = ranges::less, - class Proj1 = identity, class Proj2 = identity> - requires Mergeable - constexpr set_symmetric_difference_result - set_symmetric_difference(I1 first1, S1 last1, I2 first2, S2 last2, O result, - Comp comp = {}, Proj1 proj1 = {}, - Proj2 proj2 = {}); - template - requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> - constexpr set_symmetric_difference_result, safe_iterator_t, O> - set_symmetric_difference(R1&& r1, R2&& r2, O result, Comp comp = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + WeaklyIncrementable O, class Comp = ranges::less, + class Proj1 = identity, class Proj2 = identity> + requires Mergeable + constexpr ranges::set_symmetric_difference_result + ranges::set_symmetric_difference(I1 first1, S1 last1, I2 first2, S2 last2, O result, + Comp comp = {}, Proj1 proj1 = {}, + Proj2 proj2 = {}); +template + requires Mergeable, iterator_t, O, Comp, Proj1, Proj2> + constexpr ranges::set_symmetric_difference_result, safe_iterator_t, O> + ranges::set_symmetric_difference(R1&& r1, R2&& r2, O result, Comp comp = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -7634,17 +7504,15 @@ constexpr void push_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr I - push_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template - requires Sortable, Comp, Proj> - constexpr safe_iterator_t - push_heap(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr I + ranges::push_heap(I first, S last, Comp comp = {}, Proj proj = {}); +template + requires Sortable, Comp, Proj> + constexpr safe_iterator_t + ranges::push_heap(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -7687,17 +7555,15 @@ constexpr void pop_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr I - pop_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template - requires Sortable, Comp, Proj> - constexpr safe_iterator_t - pop_heap(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr I + ranges::pop_heap(I first, S last, Comp comp = {}, Proj proj = {}); +template + requires Sortable, Comp, Proj> + constexpr safe_iterator_t + ranges::pop_heap(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -7747,17 +7613,15 @@ constexpr void make_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr I - make_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template - requires Sortable, Comp, Proj> - constexpr safe_iterator_t - make_heap(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr I + ranges::make_heap(I first, S last, Comp comp = {}, Proj proj = {}); +template + requires Sortable, Comp, Proj> + constexpr safe_iterator_t + ranges::make_heap(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -7798,17 +7662,15 @@ constexpr void sort_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr I - sort_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template - requires Sortable, Comp, Proj> - constexpr safe_iterator_t - sort_heap(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr I + ranges::sort_heap(I first, S last, Comp comp = {}, Proj proj = {}); +template + requires Sortable, Comp, Proj> + constexpr safe_iterator_t + ranges::sort_heap(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -7905,14 +7767,12 @@ \indexlibrary{\idxcode{is_heap}}% \begin{itemdecl} -namespace ranges { - template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr bool is_heap(I first, S last, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - constexpr bool is_heap(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr bool ranges::is_heap(I first, S last, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + constexpr bool ranges::is_heap(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -7942,15 +7802,13 @@ RandomAccessIterator first, RandomAccessIterator last, Compare comp); -namespace ranges { - template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr I is_heap_until(I first, S last, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - constexpr safe_iterator_t - is_heap_until(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr I ranges::is_heap_until(I first, S last, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + constexpr safe_iterator_t + ranges::is_heap_until(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -7980,11 +7838,9 @@ template constexpr const T& min(const T& a, const T& b, Compare comp); -namespace ranges { - template> Comp = ranges::less> - constexpr const T& min(const T& a, const T& b, Comp comp = {}, Proj proj = {}); -} +template> Comp = ranges::less> + constexpr const T& ranges::min(const T& a, const T& b, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -8016,16 +7872,14 @@ template constexpr T min(initializer_list r, Compare comp); -namespace ranges { - template> Comp = ranges::less> - constexpr T min(initializer_list r, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - requires IndirectlyCopyableStorable, iter_value_t>*> - constexpr iter_value_t> - min(R&& r, Comp comp = {}, Proj proj = {}); -} +template> Comp = ranges::less> + constexpr T ranges::min(initializer_list r, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + requires IndirectlyCopyableStorable, iter_value_t>*> + constexpr iter_value_t> + ranges::min(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -8061,11 +7915,9 @@ template constexpr const T& max(const T& a, const T& b, Compare comp); -namespace ranges { - template> Comp = ranges::less> - constexpr const T& max(const T& a, const T& b, Comp comp = {}, Proj proj = {}); -} +template> Comp = ranges::less> + constexpr const T& ranges::max(const T& a, const T& b, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -8097,16 +7949,14 @@ template constexpr T max(initializer_list r, Compare comp); -namespace ranges { - template> Comp = ranges::less> - constexpr T max(initializer_list r, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - requires IndirectlyCopyableStorable, iter_value_t>*> - constexpr iter_value_t> - max(R&& r, Comp comp = {}, Proj proj = {}); -} +template> Comp = ranges::less> + constexpr T ranges::max(initializer_list r, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + requires IndirectlyCopyableStorable, iter_value_t>*> + constexpr iter_value_t> + ranges::max(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -8142,12 +7992,10 @@ template constexpr pair minmax(const T& a, const T& b, Compare comp); -namespace ranges { - template> Comp = ranges::less> - constexpr minmax_result - minmax(const T& a, const T& b, Comp comp = {}, Proj proj = {}); -} +template> Comp = ranges::less> + constexpr ranges::minmax_result + ranges::minmax(const T& a, const T& b, Comp comp = {}, Proj proj = {}); \end{itemdecl} @@ -8180,17 +8028,15 @@ template constexpr pair minmax(initializer_list t, Compare comp); -namespace ranges { - template> Comp = ranges::less> - constexpr minmax_result - minmax(initializer_list r, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - requires IndirectlyCopyableStorable, iter_value_t>*> - constexpr minmax_result>> - minmax(R&& r, Comp comp = {}, Proj proj = {}); -} +template> Comp = ranges::less> + constexpr ranges::minmax_result + ranges::minmax(initializer_list r, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + requires IndirectlyCopyableStorable, iter_value_t>*> + constexpr ranges::minmax_result>> + ranges::minmax(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -8239,15 +8085,13 @@ ForwardIterator first, ForwardIterator last, Compare comp); -namespace ranges { - template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr I min_element(I first, S last, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - constexpr safe_iterator_t - min_element(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr I ranges::min_element(I first, S last, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + constexpr safe_iterator_t + ranges::min_element(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -8288,15 +8132,13 @@ ForwardIterator first, ForwardIterator last, Compare comp); -namespace ranges { - template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr I max_element(I first, S last, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - constexpr safe_iterator_t - max_element(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr I ranges::max_element(I first, S last, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + constexpr safe_iterator_t + ranges::max_element(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -8339,16 +8181,14 @@ minmax_element(ExecutionPolicy&& exec, ForwardIterator first, ForwardIterator last, Compare comp); -namespace ranges { - template S, class Proj = identity, - IndirectStrictWeakOrder> Comp = ranges::less> - constexpr minmax_result - minmax_element(I first, S last, Comp comp = {}, Proj proj = {}); - template, Proj>> Comp = ranges::less> - constexpr minmax_result> - minmax_element(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Proj = identity, + IndirectStrictWeakOrder> Comp = ranges::less> + constexpr ranges::minmax_result + ranges::minmax_element(I first, S last, Comp comp = {}, Proj proj = {}); +template, Proj>> Comp = ranges::less> + constexpr ranges::minmax_result> + ranges::minmax_element(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} @@ -8429,22 +8269,20 @@ ForwardIterator2 first2, ForwardIterator2 last2, Compare comp); -namespace ranges { - template S1, InputIterator I2, Sentinel S2, - class Proj1 = identity, class Proj2 = identity, - IndirectStrictWeakOrder, - projected> Comp = ranges::less> - constexpr bool - lexicographical_compare(I1 first1, S1 last1, I2 first2, S2 last2, - Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); - template, Proj1>, - projected, Proj2>> Comp = ranges::less> - constexpr bool - lexicographical_compare(R1&& r1, R2&& r2, Comp comp = {}, - Proj1 proj1 = {}, Proj2 proj2 = {}); -} +template S1, InputIterator I2, Sentinel S2, + class Proj1 = identity, class Proj2 = identity, + IndirectStrictWeakOrder, + projected> Comp = ranges::less> + constexpr bool + ranges::lexicographical_compare(I1 first1, S1 last1, I2 first2, S2 last2, + Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}); +template, Proj1>, + projected, Proj2>> Comp = ranges::less> + constexpr bool + ranges::lexicographical_compare(R1&& r1, R2&& r2, Comp comp = {}, + Proj1 proj1 = {}, Proj2 proj2 = {}); \end{itemdecl} \begin{itemdescr} @@ -8587,18 +8425,16 @@ constexpr bool next_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr bool - next_permutation(I first, S last, Comp comp = {}, Proj proj = {}); - template - requires Sortable, Comp, Proj> - constexpr bool - next_permutation(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr bool + ranges::next_permutation(I first, S last, Comp comp = {}, Proj proj = {}); +template + requires Sortable, Comp, Proj> + constexpr bool + ranges::next_permutation(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} @@ -8642,18 +8478,16 @@ constexpr bool prev_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp); -namespace ranges { - template S, class Comp = ranges::less, - class Proj = identity> - requires Sortable - constexpr bool - prev_permutation(I first, S last, Comp comp = {}, Proj proj = {}); - template - requires Sortable, Comp, Proj> - constexpr bool - prev_permutation(R&& r, Comp comp = {}, Proj proj = {}); -} +template S, class Comp = ranges::less, + class Proj = identity> + requires Sortable + constexpr bool + ranges::prev_permutation(I first, S last, Comp comp = {}, Proj proj = {}); +template + requires Sortable, Comp, Proj> + constexpr bool + ranges::prev_permutation(R&& r, Comp comp = {}, Proj proj = {}); \end{itemdecl} \begin{itemdescr} From 4c5701a79cc7c4cc7b9cd9c6070e3cd88961aca7 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 21 Dec 2018 21:04:43 +0100 Subject: [PATCH 144/148] [mismatch] LWG3178 std::mismatch is missing an upper bound --- source/algorithms.tex | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index 75183616f4..5434dfa69c 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -3632,17 +3632,18 @@ for the overloads with both parameters \tcode{pred} and \tcode{proj1}. \end{itemize} +\pnum +Let $N$ be $\min(\tcode{last1 - first1}, \ \tcode{last2 - first2})$. + \pnum \returns \tcode{\{ first1 + n, first2 + n \}}, -where \tcode{n} is the smallest integer such that $E$ holds, -or $\min(\tcode{last1 - first1}, \ \tcode{last2 - first2})$ -if no such integer exists. +where \tcode{n} is the smallest integer in \range{0}{$N$} such that $E$ holds, +or $N$ if no such integer exists. \pnum \complexity -At most $\min(\tcode{last1 - first1}, \ \tcode{last2 - first2})$ -applications of the corresponding predicate and any projections. +At most $N$ applications of the corresponding predicate and any projections. \end{itemdescr} \rSec2[alg.equal]{Equal} From b9df38fbe7be7bb3aea6a1432a4d4dc869fad9c0 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 15 Mar 2019 14:30:44 -0700 Subject: [PATCH 145/148] [std] Switch to using constant-width italics for exposition-only names in the core wording. We already used this typeface for exposition-only identifiers in the library wording. Fixes #2783. --- source/declarations.tex | 68 ++++++++++++++++++++--------------------- source/macros.tex | 3 +- source/statements.tex | 38 ++++++++++++----------- 3 files changed, 56 insertions(+), 53 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index e466c1787a..80f2432640 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -6274,17 +6274,17 @@ A coroutine behaves as if its \grammarterm{function-body} were replaced by: \begin{ncsimplebnf} \terminal{\{}\br -\bnfindent promise-type \terminal{__promise} promise-constructor-arguments \terminal{;}\br -% FIXME: \bnfindent \terminal{__promise.get_return_object()} \terminal{;} +\bnfindent promise-type \exposid{promise} promise-constructor-arguments \terminal{;}\br +% FIXME: \bnfindent \exposid{promise}\terminal{.get_return_object()} \terminal{;} % ... except that it's not a discarded-value expression -\bnfindent \terminal{co_await} \terminal{__promise.initial_suspend()} \terminal{;}\br +\bnfindent \terminal{co_await} \terminal{\exposid{promise}.initial_suspend()} \terminal{;}\br \bnfindent \terminal{try \{}\br \bnfindent\bnfindent function-body\br \bnfindent \terminal{\} catch ( ... ) \{}\br -\bnfindent\bnfindent \terminal{__promise.unhandled_exception()} \terminal{;}\br +\bnfindent\bnfindent \terminal{\exposid{promise}.unhandled_exception()} \terminal{;}\br \bnfindent \terminal{\}}\br -\terminal{__final_suspend} \terminal{:}\br -\bnfindent \terminal{co_await} \terminal{__promise.final_suspend()} \terminal{;}\br +\exposid{final-suspend} \terminal{:}\br +\bnfindent \terminal{co_await} \terminal{\exposid{promise}.final_suspend()} \terminal{;}\br \terminal{\}} \end{ncsimplebnf} where @@ -6300,10 +6300,10 @@ \item \placeholder{promise-type} denotes the promise type, and \item -the object denoted by the exposition-only name \tcode{__promise} +the object denoted by the exposition-only name \exposid{promise} is the \defn{promise object} of the coroutine, and \item -the label denoted by the name \tcode{__final_suspend} +the label denoted by the name \exposid{final-suspend} is defined for exposition only\iref{stmt.return.coroutine}, and \item \placeholder{promise-constructor-arguments} is determined as follows: @@ -6327,7 +6327,7 @@ \end{note} \pnum -The expression \tcode{__promise.get_return_object()} is used +The expression \tcode{\exposid{promise}.get_return_object()} is used to initialize the glvalue result or prvalue result object of a call to a coroutine. The call to \tcode{get_return_object} @@ -6468,11 +6468,11 @@ \pnum If the evaluation of the expression -\tcode{__promise.unhandled_exception()} exits via an exception, +\tcode{\exposid{promise}.unhandled_exception()} exits via an exception, the coroutine is considered suspended at the final suspend point. \pnum -The expression \tcode{co_await} \tcode{__promise.final_suspend()} +The expression \tcode{co_await} \tcode{\exposid{promise}.final_suspend()} shall not be potentially-throwing\iref{except.spec}. \rSec1[dcl.struct.bind]{Structured binding declarations}% @@ -6489,23 +6489,23 @@ the \grammarterm{decl-specifier-seq} and \placeholder{S} consist of the \grammarterm{storage-class-specifier}{s} of the \grammarterm{decl-specifier-seq} (if any). -First, a variable with a unique name \tcode{e} is introduced. If the +First, a variable with a unique name \exposid{e} is introduced. If the \grammarterm{assignment-expression} in the \grammarterm{initializer} has array type \tcode{A} and no \grammarterm{ref-qualifier} is present, -\tcode{e} is defined by +\exposid{e} is defined by \begin{ncbnf} -\opt{attribute-specifier-seq} \placeholder{S} \cv{} \terminal{A e ;} +\opt{attribute-specifier-seq} \placeholder{S} \cv{} \terminal{A} \exposid{e} \terminal{;} \end{ncbnf} and each element is copy-initialized or direct-initialized from the corresponding element of the \grammarterm{assignment-expression} as specified by the form of the \grammarterm{initializer}. -Otherwise, \tcode{e} +Otherwise, \exposid{e} is defined as-if by \begin{ncbnf} -\opt{attribute-specifier-seq} decl-specifier-seq \opt{ref-qualifier} \terminal{e} initializer \terminal{;} +\opt{attribute-specifier-seq} decl-specifier-seq \opt{ref-qualifier} \exposid{e} initializer \terminal{;} \end{ncbnf} where @@ -6513,7 +6513,7 @@ the parts of the declaration other than the \grammarterm{declarator-id} are taken from the corresponding structured binding declaration. The type of the \grammarterm{id-expression} -\tcode{e} is called \tcode{E}. +\exposid{e} is called \tcode{E}. \begin{note} \tcode{E} is never a reference type\iref{expr.prop}. \end{note} @@ -6558,13 +6558,13 @@ that is a function template whose first template parameter is a non-type parameter, the initializer is -\tcode{e.get()}. Otherwise, the initializer is \tcode{get(e)}, +\tcode{\exposid{e}.get()}. Otherwise, the initializer is \tcode{get(\exposid{e})}, where \tcode{get} is looked up in the associated namespaces\iref{basic.lookup.argdep}. In either case, \tcode{get} is interpreted as a \grammarterm{template-id}. \begin{note} Ordinary unqualified lookup\iref{basic.lookup.unqual} is not performed. \end{note} -In either case, \tcode{e} is an lvalue if the type of the entity \tcode{e} +In either case, \exposid{e} is an lvalue if the type of the entity \exposid{e} is an lvalue reference and an xvalue otherwise. Given the type $\tcode{T}_i$ designated by \tcode{std::tuple_element::type} and @@ -6587,7 +6587,7 @@ all of \tcode{E}'s non-static data members shall be direct members of \tcode{E} or of the same base class of \tcode{E}, -well-formed when named as \tcode{e.\placeholder{name}} +well-formed when named as \tcode{\exposid{e}.\placeholder{name}} in the context of the structured binding, \tcode{E} shall not have an anonymous union member, and the number of elements in the \grammarterm{identifier-list} shall be @@ -6596,7 +6596,7 @@ $\tcode{m}_0$, $\tcode{m}_1$, $\tcode{m}_2, \dotsc$ (in declaration order), each \tcode{v}$_i$ is the -name of an lvalue that refers to the member \tcode{m}$_i$ of \tcode{e} and +name of an lvalue that refers to the member \tcode{m}$_i$ of \exposid{e} and whose type is \cv{}~$\tcode{T}_i$, where $\tcode{T}_i$ is the declared type of that member; the referenced type is \cv{}~$\tcode{T}_i$. The lvalue is a bit-field if that member is a bit-field. @@ -7142,38 +7142,38 @@ replaced by \begin{ncsimplebnf} -\opt{\keyword{inline}} \keyword{namespace} \terminal{\uniquens} \terminal{\{ /* empty body */ \}}\br -\keyword{using} \keyword{namespace} \terminal{\uniquens} \terminal{;}\br -\keyword{namespace} \terminal{\uniquens} \terminal{\{} namespace-body \terminal{\}} +\opt{\keyword{inline}} \keyword{namespace} \exposid{unique} \terminal{\{ /* empty body */ \}}\br +\keyword{using} \keyword{namespace} \exposid{unique} \terminal{;}\br +\keyword{namespace} \exposid{unique} \terminal{\{} namespace-body \terminal{\}} \end{ncsimplebnf} where \tcode{inline} appears if and only if it appears in the \grammarterm{unnamed-namespace-definition} -and all occurrences of \tcode{\uniquens} in a translation unit are replaced by +and all occurrences of \exposid{unique} in a translation unit are replaced by the same identifier, and this identifier differs from all other identifiers in the translation unit. The optional \grammarterm{attribute-specifier-seq} in the \grammarterm{unnamed-namespace-definition} -appertains to \tcode{\uniquens}. +appertains to \exposid{unique}. \begin{example} \begin{codeblock} -namespace { int i; } // \tcode{\uniquens::i} -void f() { i++; } // \tcode{\uniquens::i++} +namespace { int i; } // \tcode{\exposid{unique}::i} +void f() { i++; } // \tcode{\exposid{unique}::i++} namespace A { namespace { - int i; // \tcode{A::\uniquens::i} - int j; // \tcode{A::\uniquens::j} + int i; // \tcode{A::\exposid{unique}::i} + int j; // \tcode{A::\exposid{unique}::j} } - void g() { i++; } // \tcode{A::\uniquens::i++} + void g() { i++; } // \tcode{A::\exposid{unique}::i++} } using namespace A; void h() { - i++; // error: \tcode{\uniquens::i} or \tcode{A::\uniquens::i} - A::i++; // \tcode{A::\uniquens::i} - j++; // \tcode{A::\uniquens::j} + i++; // error: \tcode{\exposid{unique}::i} or \tcode{A::\exposid{unique}::i} + A::i++; // \tcode{A::\exposid{unique}::i} + j++; // \tcode{A::\exposid{unique}::j} } \end{codeblock} \end{example} diff --git a/source/macros.tex b/source/macros.tex index 166f6d8a9c..a17d45b4ea 100644 --- a/source/macros.tex +++ b/source/macros.tex @@ -189,6 +189,7 @@ \newcommand{\grammartermnc}[1]{\indexgram{\idxgram{#1}}\gterm{#1\nocorr}} \newcommand{\placeholder}[1]{\textit{#1}} \newcommand{\placeholdernc}[1]{\textit{#1\nocorr}} +\newcommand{\exposid}[1]{\tcode{\placeholder{#1}}} \newcommand{\defnxname}[1]{\indextext{\idxxname{#1}}\xname{#1}} \newcommand{\defnlibxname}[1]{\indexlibrary{\idxxname{#1}}\xname{#1}} @@ -367,7 +368,6 @@ \newcommand{\howwide}{\diffdef{How widely used}} %% Miscellaneous -\newcommand{\uniquens}{\placeholdernc{unique}} \newcommand{\stage}[1]{\item[Stage #1:]} \newcommand{\doccite}[1]{\textit{#1}} \newcommand{\cvqual}[1]{\textit{#1}} @@ -490,6 +490,7 @@ \newcommand{\nontermdef}[1]{{\BnfNontermshape##1\itcorr}\indexgrammar{\idxgram{##1}}\textnormal{:}} \newcommand{\terminal}[1]{{\BnfTermshape ##1}} \renewcommand{\keyword}[1]{\terminal{##1}\indextext{\idxcode{##1}}} + \renewcommand{\exposid}[1]{\terminal{\placeholder{##1}}} \newcommand{\descr}[1]{\textnormal{##1}} \newcommand{\bnfindent}{\hspace*{\bnfindentfirst}} \newcommand{\bnfindentfirst}{\BnfIndent} diff --git a/source/statements.tex b/source/statements.tex index 94142bbb92..93bb5d4f9a 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -536,11 +536,11 @@ declaration\iref{basic.scope.pdecl} to the end of the \tcode{while} \grammarterm{statement}. A \tcode{while} statement is equivalent to \begin{ncsimplebnf} -\terminal{label:}\br +\exposid{label} \terminal{:}\br \terminal{\{}\br \bnfindent \keyword{if} \terminal{(} condition \terminal{) \{}\br \bnfindent \bnfindent statement\br -\bnfindent \bnfindent \keyword{goto} \terminal{label;}\br +\bnfindent \bnfindent \keyword{goto} \exposid{label} \terminal{;}\br \bnfindent \terminal{\}}\br \terminal{\}} \end{ncsimplebnf} @@ -649,11 +649,11 @@ \begin{ncsimplebnf} \terminal{\{}\br \bnfindent \opt{init-statement}\br -\bnfindent \keyword{auto} \terminal{\&\&__range =} for-range-initializer \terminal{;}\br -\bnfindent \keyword{auto} \terminal{__begin =} begin-expr \terminal{;}\br -\bnfindent \keyword{auto} \terminal{__end =} end-expr \terminal{;}\br -\bnfindent \keyword{for} \terminal{( ; __begin != __end; ++__begin ) \{}\br -\bnfindent\bnfindent for-range-declaration \terminal{= *__begin;}\br +\bnfindent \keyword{auto} \terminal{\&\&}\exposid{range} \terminal{=} for-range-initializer \terminal{;}\br +\bnfindent \keyword{auto} \exposid{begin} \terminal{=} begin-expr \terminal{;}\br +\bnfindent \keyword{auto} \exposid{end} \terminal{=} end-expr \terminal{;}\br +\bnfindent \keyword{for} \terminal{( ;} \exposid{begin} \terminal{!=} \exposid{end}\terminal{; ++}\exposid{begin} \terminal{) \{}\br +\bnfindent\bnfindent for-range-declaration \terminal{= *} \exposid{begin} \terminal{;}\br \bnfindent\bnfindent statement\br \bnfindent \terminal{\}}\br \terminal{\}} @@ -665,7 +665,7 @@ it is regarded as if it were surrounded by parentheses (so that a comma operator cannot be reinterpreted as delimiting two \grammarterm{init-declarator}{s}); -\item \tcode{__range}, \tcode{__begin}, and \tcode{__end} are variables defined for +\item \exposid{range}, \exposid{begin}, and \exposid{end} are variables defined for exposition only; and \item @@ -674,7 +674,8 @@ \begin{itemize} \item if the \grammarterm{for-range-initializer} is an expression of array type \tcode{R}, \placeholder{begin-expr} and \placeholder{end-expr} are -\tcode{__range} and \tcode{__range + __bound}, respectively, where \tcode{__bound} is +\exposid{range} and \exposid{range} \tcode{+} \tcode{N}, respectively, +where \tcode{N} is the array bound. If \tcode{R} is an array of unknown bound or an array of incomplete type, the program is ill-formed; @@ -683,11 +684,12 @@ \tcode{begin} and \tcode{end} are looked up in the scope of \tcode{C} as if by class member access lookup\iref{basic.lookup.classref}, and if both find at least one declaration, \placeholder{begin-expr} and -\placeholder{end-expr} are \tcode{__range.begin()} and \tcode{__range.end()}, +\placeholder{end-expr} are \tcode{\exposid{range}.begin()} and \tcode{\exposid{range}.end()}, respectively; -\item otherwise, \placeholder{begin-expr} and \placeholder{end-expr} are \tcode{begin(__range)} -and \tcode{end(__range)}, respectively, where \tcode{begin} and \tcode{end} are looked +\item otherwise, \placeholder{begin-expr} and \placeholder{end-expr} are +\tcode{begin(\exposid{range})} and \tcode{end(\exposid{range})}, respectively, +where \tcode{begin} and \tcode{end} are looked up in the associated namespaces\iref{basic.lookup.argdep}. \begin{note} Ordinary unqualified lookup\iref{basic.lookup.unqual} is not performed. \end{note} @@ -788,7 +790,7 @@ { // ... } -contin: ; +@\exposid{contin}@: ; } \end{codeblock} \end{minipage} @@ -798,7 +800,7 @@ { // ... } -contin: ; +@\exposid{contin}@: ; } while (foo); \end{codeblock} \end{minipage} @@ -808,13 +810,13 @@ { // ... } -contin: ; +@\exposid{contin}@: ; } \end{codeblock} \end{minipage} a \tcode{continue} not contained in an enclosed iteration statement is -equivalent to \tcode{goto} \tcode{contin}. +equivalent to \tcode{goto} \exposid{contin}. \rSec2[stmt.return]{The \tcode{return} statement}% \indextext{\idxcode{return}}% @@ -891,10 +893,10 @@ promise object\iref{dcl.fct.def.coroutine}. A \tcode{co_return} statement is equivalent to: \begin{ncsimplebnf} -\terminal{\{} S\terminal{; goto} \terminal{__final_suspend; \}} +\terminal{\{} S\terminal{; goto} \exposid{final-suspend}\terminal{;} \terminal{\}} \end{ncsimplebnf} -where \tcode{__final_suspend} is the exposition-only label +where \exposid{final-suspend} is the exposition-only label defined in \ref{dcl.fct.def.coroutine} and \placeholder{S} is defined as follows: From 74def77454a15b6cdb45be0f31916396b4b63b72 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 15 Mar 2019 13:45:06 -0700 Subject: [PATCH 146/148] [util.smartptr.atomic.shared] [util.smartptr.atomic.weak] Clarify grouping of "either". --- source/utilities.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index a7900b6545..e11319da09 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -11851,7 +11851,7 @@ \remarks Two \tcode{shared_ptr} objects are equivalent if they store the same pointer value and -either share ownership, or both are empty. +either share ownership or are both empty. The weak form may fail spuriously. See \ref{atomics.types.operations}. \pnum @@ -12090,7 +12090,7 @@ \remarks Two \tcode{weak_ptr} objects are equivalent if they store the same pointer value and -either share ownership, or both are empty. +either share ownership or are both empty. The weak form may fail spuriously. See \ref{atomics.types.operations}. \pnum From 142acf0bbde8d6fd20cb67c051d896fec33a84b6 Mon Sep 17 00:00:00 2001 From: stryku Date: Thu, 11 Oct 2018 18:41:18 +0200 Subject: [PATCH 147/148] [decl.init]/10 Fix specified initialization. According to [basic.start.static]/2, for objects with static storage duration, zero initialization performs only if constant initialization does not. [decl.init]/10 can be generalized to static initialization. This is an editorial note change. --- source/declarations.tex | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/source/declarations.tex b/source/declarations.tex index 80f2432640..dc6707cef2 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -4293,10 +4293,9 @@ of reference type is ill-formed. \pnum -\begin{note} Every -object of static storage duration is -zero-initialized at program startup before any other initialization -takes place. +\begin{note} For every object of static storage duration, +static initialization\iref{basic.start.static} is performed +at program startup before any other initialization takes place. In some cases, additional initialization is done later. \end{note} From e9dbe6b946d0150622a7fc810e2b597d856f60cb Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 15 Mar 2019 19:06:28 -0700 Subject: [PATCH 148/148] Update configuration to build new working draft N4810. Add new papers N4810 and N4811 (Editors' Report). --- papers/n4810.pdf | Bin 0 -> 6567643 bytes papers/n4811.html | 808 ++++++++++++++++++++++++++++++++++++++++++++++ papers/n4811.md | 672 ++++++++++++++++++++++++++++++++++++++ source/config.tex | 2 +- 4 files changed, 1481 insertions(+), 1 deletion(-) create mode 100644 papers/n4810.pdf create mode 100644 papers/n4811.html create mode 100644 papers/n4811.md diff --git a/papers/n4810.pdf b/papers/n4810.pdf new file mode 100644 index 0000000000000000000000000000000000000000..00eb3197961e36ba94b306a569a4641945419a6c GIT binary patch literal 6567643 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

b@)D5#39_9n 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%0DOq6kf?f{Rk(|{Mxk2eeN~!H-pT-Aw<;%)(5}j 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

ggPo1_G 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�MP_M5&TwYj?^E;VS<`%R>{ zyUi`qyG`zPGu$mE_?ryy*Xbh1EO4UPpxu)JJEt7ayWQmI#3Ahjx6|AcFc4IC$wc=B zB_zVTBPCoHAWTnKdfXY0j&l-<6`)lkRlXve4O8~pQ0z27@i}!z;eMWkLtI?5w2XUd zMsYE;sn0*oz)Fvrt77)gHn1GhPEyB)B#t$DA;l^X`Q^=GZa?*Yv<{(m#n!7ZJ-W+> z;U+_~1_-C#v_;`eGhoKx>(mC9#rf#iOxo3=aKRcL%EZCX0f!*R0WSEvLvRaL7Ri+6 z8k#BvvPo1Hp1|-Y0?OCSSx>UrxLB&XEqM^EL~cWtkgpI`;4yPJ2Rk;^#H@I9*xNSQ zPs7=2t;?5OEwxtGWDj2eWHotyjUNudKVJ~qj|mXki{FIyw)eImv_!6{3V$ezSe3=R zYl(PQ5%au+^ITUTqu@p87*X;JS$F&*S1HH?ywuA_Q0-pY^{$a_xJ%)Yjh|s*=kPRC2 zZz+Cb#D>fBFfDg><&rY1%l&@5Sbt2@oThHd7&ld8Ym#nIo^`ZJNAq@V$?TExMa`Vs z)%%9loD`56Qa05`Sv`5C-Zm$nRRkm|VZuczMq%R4)3M2)TGrvvD_t4B0 zdA)si3X%lA>>!)TMl5HetFXskCynymIqYIkPendJ!nJSz*YS9B3l;X;{xVsSRHlKV zqVkI+rBS<8849+jq4L^hNr$A3q})MkWjS&3(lAJ-&Y(}ak+S!`h}wUB z#w7%eg_QyjO1wvcCh8f>E5i76rhs-sM@FT+pgBuDvl)GLkq_GY&RAs!CCsG@pvYq5 zquzR+{@w@FgkC(C`a9el&^DJ#uR;4Z6PUT&r^98X%k7eOJ)=i0Lq7wz=KA;v@N%iZ zakhQtKvsoG9Y!2vVUKfi?vwM(sd#pYzG}?0GoDha@{i}jhq5de7!hkTaofL*k&?DW zs8I(jPc#D*BnVUymiuN<{uK)qi6V6{chrgR2W~V8s*GtdAI^$aV&Rtc z{XqToNFasIm9}S2tW7u~{GM5O>CLPq^I^cyG1!JzSP6 zn}-bqlKk9BQT$w_5L2!jC@z!kqh6hj$b3#LTvI}_mGU0{2+axV}iNFp` zm>8Xh>YDxyPWt>=#{P@tG!ybR-w5o7ZFM`|{!rPlQ9owH8&zz(@1T+1_55&} zGsa>-d3<3s04+aXw^Cn#T3%{%ELXq#FR?q+r&u_rWBsM|wg4XTj`3hxQ1+3h4vIAf z8|D(*go+UdehJ;V{rsr%sSz1W`PZGBk7{$oHBpz$|_8-rnEt@y3QE@8U zxREV(0W5#}--DuLL&1FU4hvheE4CJ}cmgN*jY$&ljzvMHw)c^EJv=E4)KZUm>-jkB zTlrm<8_#z072Li0GcL902K{t-hGyiYMOF^1`JGO^mx&1jYUuL`^}rKB8vC?!0*lk~ zRFTtBhDK(5K~T|g9cS@Z5i+%ZoAZ@C!HPfbb-5AA=70GqC{oMD5&gy3Ataz==GiU$+}53KJGis`+G!DYv6u*{^^YU6|S~$ z{7|jzMJCLTV2#|Z_cprRD?$gtkL?VbM`Li0N!lG>oT2is8){qE=TV#Y3kBL>tD)i( zzaD7BI0pjCseJ-ZbVt^BfB)z|sBS=}-q+0v)Y%OM^QWphuNV~X6!fBI|`*(oL!R*FL zHWRzhe+Y%Vup`$6$k9khdg{#*5jymtUQOGb)9kXRh3@`gT%r`(z|FzT5(S8z4E46L zzJNBco;z(2BJH1%2^8oe(I^)81_%`@mk-EW0GrC}Tm3uj_harP$T(**=t*$_t_eg? z`Y0|lS)n3lzx$CbwD|p~=~hJ!y{sn%ND&R;E1&mIZ96+$W*Bw_Q$`#i!6qcasqZ7m zHKT6b%sszlN-v#fVbtymu}cL1KsXFrl#pjJrI?O=<243ZEb^U1=IF>0pn=C$ zba_GgOUc?#;Dt(2se`fZcd6z&6KT|`n&^14>e>itu8sKd9$zwn=4~EE4+cl~Gcw~$#qWgx5 zL*kzXQ)}0AUsKn(q22onvJ2nUkQa^|ZzJF5VX2!^v$X0RwV_l&q%dY=sWZzZq9bd) ziv5bpxOj#y!sUd5v6=Zp1`H`^__GnVMUK~uUtv0OIpYrk#mpQI>m3g$#P>47R7f; zxzycC45RASP`F)2)J3IM;%E&(-8S1+(Kw=<65sOxnVP$$h63#{kce4%AyLKZMAD=6 z$AogkZ4A=qRMLT6*PepPJXBcTj(g>=(y|ed^}$Tw{%WVpG}dynoca8vh`ZPcYQR&X zVnvl6C@`jko=@((KYd`BPX=f-U%G?q?xM=>CVxVAml2wF$F#)*>qKzA^!9uOZO1ne zbMiBgC#A+VD>-cNu7zE6eR^6g^>x_4Vb&f|4XRprG=(-dW&BhDSsi!qx5b0R9ZXLM z32I|lX=*qC@qyFP7l!~k;3YPVH0<<-`=Wl?gU^}C3y104^aE8U`!m5mz0>YZx}%g3 zIi;dpELiOTQ;vYjry_HH(_;Ow!B!kI)NbJTmqgg_X=3E4T&G?^dN%;*+CbH_853^C zrg8l}xUuAp3I`Tm26rG}nHky@hVHRS`kS&tkHlJ{W0bg6&s1`%xp^98PSd3e6eGKf zetua*fj;Iq8bg<7GQ38mf%T^v5q=Cx)Vta*d;M;amHP~kbb4QB$poLc1aZPw(QN?PSL+x6b0xMh-x4Z@g$azEAv6Fo zoRRZscn<~L#A(ynlXLCWl(Rv?zVs?z153y!31p`ZuWe)P12U7%_ilrmhRCPpozRO} zos?}kIr+=nKb*;ViBU4%SDoS+^c-u@!R3MpIY-h%dHzXrfXI66b3qwK1t7lD!D4~e zmzG0!Re$^^t(-^g)z=a;d-)KHV-Kum+Er!+UEVZVT|FPh&m9mP;*|hYHoUVTBb$H# z9wg7$Um2gu7%9*LdS#B>MrBr29?M;W2;vwC0wHZb|5^%KLi8%~ibKdo+86Jw4^p~S z;h6NyN}-)AX{A0#j3Z~Tj5y91`TW>O67dN$#`2pLP%~i@r?`(14XSN2k^#emg%25q zs-?qa+Tg}~E-p9y0%zQ5<^9K#7UO?9X|Xf>kD*c{|0)4DS&@1_)y|H@yU?Q9#Jjx5 zOB0jbsuC+_wyg2kk<5l$LjOhRaqTF7eYybSfyg71$t12#!~^(?=Fd*SVRW|W&JM=R ze%n1>9>7P?DI{1{qq4d}QiCHyB#;Z)wYIF$Z&PnO46ESTeuHxf&oU4ykn;^cyT6Z5 z)9m_wXI+v=&qzB+B{E%c{1PFH)~+$1xnc6?{Pec~o|Ua4KvohJ(k&a%!0=KhO-qIu zxthm3OWqjuZlg+FoS0~X8WaAi@RWB9EmLv%@4YCCUd!xF^Wm+pnEoBF=_R zEhQ5->p>9|X9durNW?UB_7fXmyN6*a_9ZPFC|g<)MI>7{h>9S|kzvuqLl(knf#5_n zntv|WtUa`AHXRqgp^{-Wb0GZ|Cl~6-Lq;nucHx6afX2NRteu!>b(aaAJg2vlE1c_J z=EhxM6(qYX&LQe_?I13@sxhx%$!|H{-P=(i#9e$&Yq6rg;X*TQBtj}k%JjpO(qth^ zJO>l63jX0TNVtyr{ZT2z$rD)&0mDIyFi|P1&jcw2G)dh;yq8V;mzgjLJ}5j7^pLAb zOdbd6<>?R4(t&HjZ0Odh@o22xtJARUYj3@P%X7@|(6b$#U>ty?rY`K7!?jh5q-|U0 z^y6N7%Vd*LNLj>oEQLe|)`VY&N`K&9e$PQgs9#pCJztarjB`oYzIhyF@uA(w@tTUY zd5&)x8I7^nsGPm|&TJdQ>IIOqO*vj+Y2&Knl?>DNL_-BF1D8RJ^1EbquWx2?Cl*v% zA_v>Z?{0D!{E_RmFc2k3y{#x5$?=+-MD_jzl7abCyb1aipO)pbjB?!b>Csh3odWCn zd$y4&<5C}^3b!_~;ONY1j-~Cg1k0kLS5uNJh@*!QC)lIECjp7eu+=} zAW#58wmdol7611Tjl>I-jT*FWPFkAa2+%3s#y1V;^_rOuo6sMPvUKUDapiu#V*6kA z*-w3pKX=aTM9Kjg%t)SuTrV{x&pGNNkyZ|Fsx|cu#i8)hjTs5yeT!D2AOgWc zy8L0okc4?6Y^i0Y2AQh?g--lA04tV9?vpXOxx+C*-x zz8HVM8fgRtjC*>0S-fH)gr%PNcm{GKgN1BjNqz@#Mt4T8tfK_~;UR;*?BCw$CfJ)F zThDVvf&K#ESh*L+Z(4HkTysu+&@0fSCMT894G9e7akIn;5R_Pw`|>hNXeBIH@zLRK z7DySnm0&(==U}t0M_4zN@4cNJCE2pn#*bv(4B%%Lq?22AijfeO}P<8U_xhCN*l}dTy_y^+X(RBvva|aoENgU3^c+PwW-8Hy`)BhH zFvpWQ16s+)>p1HxCk?1aI|{nnaUr^JoDg4l@6lL#P% z)u`|sGaCHDU^$4p?YuC+mUxcG%Ej?h)^FQB=+|wfg;maOlR*fSq!C;d>IK+kOyCf! z;~V4OKgq$$O8#}4!KV!!1(U;6n6^4eHv(3;z}5ZyVHon~Wn^Q=9v=y<7lG*lkdq|E zMU~(lURn{Wrkm&a9o&9odwo+z)p~U`qncZAqpCmizTWZk!x2c&J+nBX`&zC_nBV4R zN8>K7`2oTP;V!-X+HbSZWil5I%zaj$nM#90e1F$F%ul-H=0&tT#mib0o4~#t)r%V` zv(7tAY=8yqw~Q_u_RqU)$kAVhgER_7G#Um?&Et!h?{0OGREevECCY zAhWw$rM^HxHJZeRf)H=!gr~pQrOQ86=-2pTm>v*- zRT#`ia6ge&!22HfMA3&4$qaYJc07b}WTu!%jw|GQkol#qpF-us{q4$`{|7YjQ{Wx>uf3WOKS$4@Hu6+?m$qUlV<5#N-bzkeM|{n!!{u5(PMO+%azJ z)^+qL)Yuw55_u*{y!gpWijiA70TdkQDx`@SPT`GPb_YA~+%yk1gk37y*!vo+ zK+ZjTx78r`gcdoY;;vWh&-WpdKG0Q0__%+K0q0j<$Ah-KdSc$ko&{GJpkDoz)8;(W zibcxzPdp#KA1+(Pw`8E@XiPI)zwA=u)@&@P>=?q0+rAu;w*6=kggSE2 zMVrHRrQ>GY_El3UCK(f*2ovc@RUGLNix{%GvIV7Vnb~3(l6imxw>cOs6g*-+t=bUB zwP=w12^@ZLV5Tqqvy!}PtQ!Rk9{oH!=@+K*v%_)@%)q1jom?HFy3s~Xo6VT@t?p$J zS8b45nAP6tgWB6o@L@&Dx)5)Ab(X#?fxg`s$^lCyvfG)}!Qa&ccVSTO&c%o#a7%-H z4bQAsZ+;;>x@ja1H&^3q3R0a{nUgO4Wt+S589+8ju_tKB3Fr-!QDji9fzWQAk%A%J z2Vpn}83Vs~h9bD&?>azSmZfhCZkX+9l<{)$!X)=`wSef2ba&?TKZ6pgFFU{)1Es`e zk8>S|7$O4Bg76sGW;H{wg$}@5{0KF70C1rsJAZp=z)zcSHq5pyRzl%gxhiRHrlti# z1;NPr(e07AFQh+0LZf9=K5Km{h%r5QsT`I(+3){ zx8s=HsMJN@1*vm)taTJAke2|!N)7EIQ^Q3(#F;s}aRl^D$*V;j zg?8f8(mEiT8_u~8JUI@gVHxzkOEGI}Hh36WQ9}w|*(YZO)pa=+gFzDrA881j+Qe(>cyh+ms}T-J8K zOB2X#aZcb_`FWl<>#!-&p}=;{XWK$?6{5(Ye4vOJnD0Ql>#{*bT>b=zfW z$kHuf!k*KC{<$Xtz=IgKE^kRv-GQe?%zEX#_we`_5{(4NFx?>eEhl9qWRopZu@{Fq zP*eo~u%iC(=or5hZYBJ|%l2jOX8=LHLtUGWXY~@&e9%o=Yd5pU4X+0=$SrN=vDwjF z;kgcf@Qq1`{9mjfOJKU1J^?7bR*kFTeI4&V_oYtLqf_2&f7X1{-SGrouxF= z*_^A8&70Zs7Z0B{eD`|>FtO~~mfkyMw~)Gq>p7ithK)2IhqN{kxjkA*a<8cCW*|xO z(jL`*Fb$Ko%|O%3R?xXsViJg!*4?+s=WML=8UnCAMI)Pog9cA# zL1f@j6u1t19dc~Y<;Y;XeRAo!V$Gc^&W7WX7QR#Wt(t2K)jLVj5JvoBPc&q@KnFmq zG{H)wq;+&WH3CUapG#P8NI4l{eA&b-*UyV(p=S!QWv?p~yFjvmdta4qCJYxn_~!Bn zHWf1^C$||z$!0}hTC+8AR212ZXxLj+RWzTchMQJ$qHICxCV{70n;z_eL1Yn_pSrA| zfzD%`ODv;1$jRF5uo=9~c`t>xIgx6*2~ovU=+%6b&VfA)+Zuv_f8SXMCO=i3&;m3bmF|PZ>awFSqO)j6~?eU{i?X{o$XqenCnh_k~?j@ucvp*MH4!;9VZJ z|JkKvV*h_*GfWI@^#9`(yZ>@2+Y$fErQ{Fb-+W{|$Rg*EiImEsss+9AXBFWi{>i_Z zZ1rzBl5{jYjsM-jgcFHibh{pYEufEHelQW|VaoO}Z9l&-OsV~Oxti%Rqw`%bRH-LK zUccCWr&OX&p;9`MhVJ!j)9R7qg_v12yZwP9I<_{RRZa~;;W|0>`~EmMZSyNIn4Au! zNNDIL9}Va$&n{!X(ztlJJ0PRw5T|OC-VcsJ%0#WNh+(b=k)g5+b?uoKBy)SZkL2Cq zyA8Z;BfDX;{tn3V5qE+5^?vNM1+)BteQj94RPyNExI{AOwPeIFvm@i#UkhWq|Np$pZ577<=v9al;ml%JF+sVk@;|}7&=lc zkfzTKnhatFI+w=zgLKgj(@SaKa^9j&SYIS~J*Le7(DD6+6{1@_YH0=Nv+NS?vzb%N zHW@x_Ss2Wkk*u~X@4{SdjqU!4_HU_iDffdnMMuYXOO1K2@k?3Z)BYUSGhSE@mUl*O z*qQO^ix^Nn^0*OTb243iA!k#d}QTvVGE2A%Xn$3OjNsHZF1AD2&#n&ikb1V)1})J_e~tZEa}QYNOXo=W01Yz;>Lgx?PaD4Kn1j!`+arH20Gj4GaP0Rs|!X#)8o zvmosVeyVY@LK!Pqz-+dVP9{*$0l?k_fx?PaPpEe$X;JDVdx$MhD3{b)aTl;T6acGc zbE=t%=5q%IXTLBsBoFtT>e>3)==NAwxz16+xoX)1AG?M4(To*|ZQk#(snb!gbSNt= zgH^s|8k*{PO&Ow7B0ehHtYudJR=6GFb?7(f0Wj9TM_vE7aAJ)^rmuBS{CuR`83bPb z#55o`nHo9sZx)V$q7$pyym_Ufkh|9O*P*?}t3%HRs>f&s*aMQZ@!n;L#Ln2YWu_JT zG-TNiklowg#1Q?^DSO;d^bC?)`>{U}V?(%!*Ds|_u=+oFf6vYl))1dLT-4E@Eo@*7 zcT>48uJ!eo+di`bwuqUZ**)}Zz}ti+9=*&g->g~es!w8;xmj~}nKu&kc>?!e>mc>Vjw+8GXE&=N9$3z850#lNf$F8)#+W~bO{4ghfx~E$cgeAxbrl*Jn~-SOcK5>JknTNc|HBG1k%x!} zK*w^6_@F00K+0zZ$pam}g^#vT;k6E7W5$v-$C>@fediYDN{&I~y7*!bm2|HS<9#3% zG&FyJy0toT&!XuKI+l7dG0c{$r+(((pYy)Mnqw^S-r%nXcC?s#m^(8;A-gGA_}huX z7Yr5+^OqlT$-03Y8;#t480c^i2liV#sD-7;BA?7z7XgyXUiIjzyr+tGOLxII`{5nw z3lpZpc?Ote)t0C@TBoh!JRvPFny&rPy&NGfdZXJ8c=;&GD3vVFVdTZMuc(ez_%MwS z45@nt$0g8cbuaprEq=FSVx>iBwRtT}S@Le{sm5j7gvl_}5DQv-bS#Bc z9P^)bwA*E*TX&5JCaATJG^9|OD?#e7V`ZUknH^%2P{gG?pk?j4?BUUbhbyjAtX~NM z+954SQ8+C}zc`9!29z*hFCLdY7`O+`>KuR0XaaGGK!UjgKGp?~jDg}+ z`amT*egLjJIt}IXqmuJX{K~(NvB8$sdSDO&e+ruKhFP=ufE9Ka z3cy;sqj0$l%?DaFeO5GOf~n*vZ-Jc0@yd@#Fe(;9@TTX&KMmIquM$ zl5g}CV@DJQn@0Rdot5VKAVKvi6 z=fRTJC~JX`2HM}vp%R@vYmdsbwXcsjrAla98wo`A1d2o-KFgI9Gq=`C^$ybqHQ!kj zdqQ%j5zJSYUM))LC~bQ7I|G9aU=+Gx-8+N=wO=y?n)>k6T8~VoyL>5T{A3eKKB%w` z@Gy5y>>brlsHTTjuiaI>%9TRqtY6D!gO4|-yXz$#sqF6;7R!B*cZv2{WEOkuqiTR4 zXd2s&XhYIxi*Lvp2NgYSI7A*VJhQHin|3Kczih0Zm{gj)T1mpcuDM-wj=E=B1-VY* z9smX*DshJp;B53nI4Kh%>xfh#GbEptZeimm$o{klVERxxPb*{fhMk>S-Nwvl#?)y{ zs(ZB(<^@@$AHtCEH#fu-5q8x8KFhidYe!*qM*kEo*ucz)BztJ>*ck}<>fv{%*|D`i(o#_1~U47c#b zI)~BG{#kMy^4Ph0cmOrvj5yPS3-ye&r~RHbEbW809Lo-4%|W*I3=Iw}u4=l2nhjKh zw|A2dmA2NA{*5=;9yVc~R#I#ot*+!yZe$+%T+qP}nwr$(Co$T1zvAJX0wr$%v`Kr#vsXEWa`v=zDsyWA)y|;GVy9D5darRJV z8Q)Q!8armKAmN5_fl~IAZkR_8WjV2aTmuB%kFu)yeP^|C$+1`?azZWZ@pNLc{MCHv zX3PmUaqx{Xe|W$Ow~KKXjgXaHR<3v7?X10ayQ}+7-@tl=?lNqs4ErlZd|)Bi8WueJ zclFXiBBl_~Ff`&g7ZU1;GHH7>s2}_TC8VM{je3*&mFPV&7DZ{D{ORM8zy0lc=i0h7 z;WeF6{xABFyBLs!N8{Hv-+8uMZoq^7ooZSkHR03b<9?*nj$QU)PJ$o3?NNFt#yze( zSkq_1r^~7P`$2WRDROklt{wYZaDZ3rL|j(iw4ny@Yno(UX(ACrm(h97Lm6DB(LjpA zK$KW&Lg*_m}aEaYKZnfQjTnWO^3T|Y#;Z%>v29~2^KrFZBOVHrG42d6BVu~P6 zJKf&T{9WI55&!w%$MXLz4*kE(Y$gWg|JfNmrKN4Z!G`kN^}k&(a7P@dl=wF~z~(Z* z)&$(#S?sA`%&BNT5lG{H7WVa$BdpXwq3pH^t=3d#caji}-{V{;P414&^>%joQP~)c zkD6yfBJIi5rX{2FTl7DjL>O8-wBl>a?cR%;va9g}l$`s+B2oe-R?o!$bGI=xL+|fk zr1UaKA|E-{pmzI@CFbuc<`bLF=O{?{deD%Y5}S|D3NeGOAAs%NunnCNItA|>9htCbTy4gn#Eevx%TbnF=fDNX7`^@mjkm}e!ofzBwn z1z5!ylsvTQDyyy5EY|Mql`%Kv$>ek~b4d*`$R#3>qr1%Q-W`C!duL*0JkgTP*1f2a za8plhwh8!Go068+?9YO=chilbHF|sg!Q&|w#3o?qQAAycId05NWNz2C_oi~pr4Yc* ztIcK7K5+n76c~k{m3pqT#zl}ku#jKA=JWD``vLAH#~k`x{dVm{+sF4x`}YH^YLjx= z?%7yjEzrEmOvR~9&TEH&4xXzGBA1)9zTLDsyYRtbSvSm652yc%`Zh6W9nr#B!nUZb zyT7iuCS6~FO6kKj#RTzpW{<9yd9M8zYz=@V*eL4L$6u;S?ia(1+HI{Np79oEN# zz?a(ao98IIxhPEPBZ$!ZDZ?H^8y=(#dUxgVHg_JTO#O{pK29tu=UobK<%*e#poU)f zmP3YtTruImMHBR*bNAB9i*$rt{cf0Z&kL_@Q<#$&k;`#jHQpclAD))Qlu@*H?4bzs69{H`;}5Su(NN?m zh|hugMVF+n*-I&SHWmVi)^BZehUiaNj7D%rQTye$$I%juJ9weawnhZFph`KRO1nP2 zg^(SjvVGaGAoF2Sy;J7#$@?Lt!Px1q8+kk5Q*x2s~~`08q7i?Xm@=$SD`= zXR|jj^K%t(N)kdO{WTIq#eg>I@&6(p$D@Oo&Q6?;EkUu=e60oH%}GS2@~C)r*+mUJ zV91sk7A!w#5@F`~>2LO%9jEId*W_COv+pJx-IMZ_0!+c+Wi?O|4y>_z>b7D_V=p>V zb^S7VzEy!?%lFWK}kb~-|?+Xuc2b7Jb3xn(L!@;A46IV2ZR~aNJ;F~iGiE>G*ZS(<( z7O>{}qD8?A>Tk3x9v6Gsrl?O!y%N&*Jas#)6XdJm-ktWsn+o6PuhF-k3u9}dU zeWVCDFnPa>y`yWdwXI(aud9`*#FVB7Qn=F3;LNz-n4tj|GH+R22LM0}f)NtTCXVK} zwofdcyg$KLC`oFZcZ6sQ=r>T)RM$ulE;X<(39?0H6oVwzhIX8Ot?;yR_?rVp9Xji* zZ%?afrrx$}jCBN_W*uHQwv-R1Z|oq8zQ{#HWEXMrY@W(?+X{qp=#F8>-45)}GPTpv zE#co6Ugq^(&zDVe$>s{Fk};(U{S-&ch7tz`f^8j_=}`{aB|!094MBs3{9tAXg7fM0 ze=rOLNG*)C5Qq#rqQnJ6A*J8wEXXNM>NEmE?@_i^p}TQpfrOBosa*@-(1j3@@E6j8 zVhX}b1)%xV^hXnwgPACx))JLVxY4p1J!yT+<*l!jd$0o0W>g6*l&rPVqF=_r{4sbb zB&8h0a%9uSjC5;#))0nDcqj1cbMnl%zcOvm3!C-*o?0gsY<_53;}<_hWK;`FhH170 zG=?Z%*ARXrDi;(h@#!@uZ%2OSG<4MDjoMy zDjn+ybMiXaHBg3}cy7&JCN2PKi>fV&I^dcZJKgEdhUGqtg%_r{#Po-y5c@^JZ#}hB zr?i9TKEIu!-tf?6;-S@$Iszjolb)wxyuSPm;F^A9?gDu)yy|XVtuu`*2aV;{-2H5J zK4Pgj+5-#{ks<>vk0^U#8z+V0Iz4!kaQ|D)p>$EZ3~5#44$&ga`Cf7g9&1e`#ZPpp@MngrG^?zM^{kV zf-B-%I&waO^`6ZNSYT@9#$Zs1iai=Y$74{Df*m_@+q!$T%AUuTfP|{ivt)-1!fDG; zMyPcw`VNG;P3K1j@jrJ0W-^?rTcE#T!v0JQPgFMk0Q5=l*!|~Cf|dC{)}PEQ|MN{^ zOG`igH#+1$Q+lgR#a>VJjVMWaC48Om>;zuayS1;!79G5tYK+?4RCid^N4WD9hLc3} zugSgTYQZotMIv!v&%w-(Sr|Q9KHBK+p|MAY*ZWCX5?xgfk_t_IBXrlZ53NDTQ*vzI zsob)h#v*&I0=!24wTN>`c&7NB9 zRyUCO)Xm2xoutWS8$RQ>q5<~&&F@+JrMzQUIUKKMb<3u`Sp!QAmn-kX$+mI4>S9eUtfRVL!LS4wHtb}`L|&|# zs@AB2nrbE*6E&(Jnm==i4Yst}G|~Upn%na7DgbVS_x{_u5l_(3gYYx$>%>&k?CE<^ zq-j~eMr^|Q(7mk>enYvX`J^md6kE(q*}K6C-grhLG?lYliW;@caC$O~6aLV~3pRXK z*LdNsP&S0RiHFzfBy5HwBts0bgb_#P%EJZ>XTd$I`6C1v=paPRfo(n;_VG#J;I$Yx zhL<9-Yv}re3xx(c+|UF8I-oAwY11E;%y#-`HZSHM)2t^7=Rt&^?IGvhav#!#9x=bi4U8zL300)G$BU$Sw^mAJq|}qX>*q9!^V~)UX{m@X~ z?qutZ>hYtH{Q(ULN~T?kOH+=nOmZ0AJ~UF{!I|54e@H)P^6~&l6Bi&zSYgls1|)1Q zBFU?D%b4f|#KKCw>EQ7KzpaOC$d(m4YT3YP3f#kdNf*&tw zKBl}~uE3RRdIREub!f?;(U@S-;4G^4Ga>>i1wh>B##$rVIBInsS6 zifIBixZ3PLs+x(z8fnL%H4%7UKJUr++wlL>?UElh+J&`^Sz^sg6Kp*kU0lr$SGo2u ze}@GmG$d*I^3-wt?o@ql(R24>wE4|PJCnKG-I@4aCv?&qiOLz<;dzVXhEzCFnu#p` zi$x8u-@4Hyu$CuUwe)V?Xt{8U5z_U>axOmwF8>QWhQF$-8Bphm+W1_bZ`4MF)VyNr zV{tAAJ}XAaK>{ILtlC0nOWsEVIxgwKb79toWSY{oqlG8Rv6KPP8zq+Fu>ArcJ#cgc zQD~6Dlp7vb6NO`p$}w!^6ho&=(SHdHc52)rZnr)?9X0v_kIptI1$d7vzl{j&UP}-u zeQn{i<)&=m2>NDk=OIKCF zL&%v-Bb`hm-(pPxa#=h|zwxW=V^Xpz{R0eO&3(-pH#=T!0MV+ATfjJ58Kr<+p?I5X zc6!ns`jy-?*^Je?!Ycv4Vax7UTkrnfJ&N;;{8ui>Z5r!@{45s63no z|N4rEUnD{2`gJgs?SdJ9`*?nE_dYO%-Qi6YyfwjOJ_vofM9l$4*r@+~r`1CNjoQE8 zHLC!a3#a-)`W$d$j78BajWLPgP@>4qd&lw&o+T^%;OuL2q3y2L_@{1CB#U9+|GQ86 zGZI_F`ucnf;Q+O7L2}r)oJdsvD3pN=T4n;XnxO#A?!ZFc%^KeBgv|^F znLSj$d)tuO)h#NR!g6w+U1d{M=&DC_?pg&as>+8n_CyacB960hh!R>N6tD=Dx=%5i z)xUt8%W}JDp1D{V)og*;YJvGZ{jrKhq9#JNe#h!zmnm@}GymNvRmj5d5E+r>ENQ7i z$XeBK-vN-Ic&z{VF4*nheXS29i531(31qW?=uWDnJAVy_w}b3A7CpRe2TTp9bfCA0 zPxfShNiGe>3*OQePU&r1H&8nBUMQa@S+eCz+W2Bj!G>E!EWM+$=5XVdj(v(F^vefL%9lTz_aznemuzWzhJ$ z6V0oW^-oXx=MshS-ju|iZV%=C}TwH0CWCIpC8b-4TOeis0ICqUMD z$6Fy_JTKTSN4b+!1bAn3eo2&$kU7gqd8mY3@5{_`4pid(o)Aen!5>wYlG_gG!~|DJ z)uF-LkfY$xQ6MI^fLDv_8yXR&&^;BA3DP_#wTR?Mp~JyO%b?%7Qa?7Jx_{!`7b~J?1|3>99vm8oSJuu|712&lM;4gx+COBj&(6B6<1laEcFl zQ|u3B!MYD)qBCrSVZAVM^{Slo*n#kXM=oa6m6;e%i)aq=y`MK!G+~l)M%|$Gi*p!Es9Ju!e0pE;aYN}>Oz@ANszAoAC-_B z%Y`%jQ_7VubVF?*3#KOfR|OS9+#sr;7tJm>8XJDvA&Ocb3=z^5fQapVKm1A#-{}z{ zLdgXYUC|2}aotv)08vk>m?lbdi{J?yy0K`gbQv*_xOina2)d+{=6}d$Y*ue>=Z*9v zXMMp&9|=Odzt}z)1J10$arpL%ue)L)))K)bLbM_LpY?G$aSertiY7!LIpsqAA^6cy zSmYqFpb}+-NKQh_2pS&F{Ux@;&^gilMx}42e`CoGitk1a?=ZiNI#@-4z}R2-N=bm7 z9UVN~a@kdgZO_hu>HIBMca1J0R6SXU@k?WT$T+j9fbI^3GJ69}6ClQk&)bSp4bI=* z&3{0tEa)O{M$?`tOFef)jgXRi;L!*G6+#UjN(j;jC&rQ4`kWcv8@pR5-c-7mlzSpG z50V*b^i0OddS=N$5NblaQFDj9V2O^nA+O$+MmNRO$eL>D+lYVa@^(PLanq!DWY;_Y zg7pTy}X3kb0ggq)Uq(~pI# zaWKMlu$EiZ**=IzT|OR(SL|QWSh4vtx~!`7zTn}GrQ85!=efr&Nl{3H>duhVc=q_< z0;4yslkC{#*zO;F^Pso?z_!*A=Y3Gg&l-OPPlDyAt4%dyzcukr)*Zo-n* zZf_NAlL&GX2r{Al6r3E;rK6pDsbgMj{a+5-+fB}10+-@4-zA7`PqrG0IS0Ws*UYBqy1(}A5M+B>P-y}2h|p2DmpLVnfVXUQ`w2j^oFF3LV7fg&F@O&~x$S?CI!kpz>a_0B?SW6@u3z*st?F#zy8FgslPiZ9bS?*l}_sY^eN_9R?d_- zvz-AwtrKy>8`znc9(w`Jem&c;7-<*HJ0DlOht@s&{DGg;?>b&@*t>>s2>`3;1i8Hu zxuQn9(ga{+-bOZJs}(i;g8+cWo*WZvw7_aJ8a~^&2`zxX)~bWeVv9QzH0fjx|K``i zO!R+%@uScsMRIqKBA_{)`vK@|`0yU0#-`~iz;DvY!d|$C6qo%!>1)?_Ta<+985_8X zvpK8D^I*f|yE`YM-`6#GB=ARNIEvVCv-tRBc@pyUEt9B3xp=4HV}5%1|By7J=fNww zDwI_L3@x!WQW_^j``XBNE2XgkcN5xc9wSbFqbZ$zfFwitG`fkrBw~ILiq(~}3NL(e z5X_~6`Hh=6MDZP z7|}c>utydSjYL}mW{NA>4cpNo3nHjv(50nZ?GLbjbOJONH_qi1sMV3m0brYIX+{`% zj4>XF;XZ zJ`2~!O)fCUP-YKApx!`AMW`ZKg%EgYnxv$MWw)pqbc+Q8BdFr#`QN(cX;bl**0oPMIzmc;;gF z5wjT~;6wGjY7(X&O*-NcPGspW$x>*nurJkYs~7_=yrw(O+_JZUl- zFOgWo@z&{XFjZF~Lz9jlXorE;C4n^b@bq!mO2BjRij)%ZMtX*ye@0%(XXG^168eCM zLP6$aJM>y8c5Xh;s%8hy2pbfkCjEttPluN;yf(bCVet1Gi*B@`Ty|y&APm+#)*fn4 z_k@;1idt|ayBFTTobZT ztd5``ilE1OW4cjv9)f{j6#W4nDN@z+Nqt;3Qfm}B?kNaFT)1T=VS+V)G+3rwWYG-ymghAJ@^xKv<$Hg&L$MqH5%$Rd>$Y^&n>{)a zjCo-YK&rg!1_jD9x+)d6BEPdO|0BQutqGe%BSPEFE%1}Tf3;Nz{oqtcs z&~<}3K%s}S7Jc39F9*mx8U6q+_WEYO;U%hUcRTC24WQBwokP|AwGqtC0hIEW;^h?3 zVf>f5VE*Xwb$gD7Xz)cybRS;>dZ*X4p}U#{%?>sq9lUnBH)z(3a5W@8B(Y}%alMw7E_C`cHf zGC1U(^CE-l)#4mzfi?5-#d*cEsQVQfJ`EEeLT2j@&bV z?b;Fq$sN%1ZS7rTq)Nb@J0~X^gqZ^ zKr0#LgTMK;Pnhq0jokWR4Esag$mfLxo;313BfjG2Qm4^=!ZTFojU`$cQWqLjgJk%6drkx3j53;5M29hSuh z^Z6+B;6{xj1<@r61>xZ7NgMbvu8E@-|J+`Kg6#IMqg-$4E~%13(9|uEoFWFnpbNK7@|IE~1fCF01S+h` zMF44PDN&%@RFniI9u3JA2uXP6$g49|ZiS3BhoEkW(oE-K zEJmTcB!{SEh$=rT5Wxa7OgS&AgOVV-5@GsVcg}NhzR`jE#Y0;?Z?$tOF#}(O+Wh$P z@q17Oq;)<~-NSwuP`~4@gy*&LJrlb>48cP(wlxsvysX;TLhR8Z)YT7FGx=qNp zdYq9FlnO(Z?`4->L>ONLWK21y1*z=E7ywPC93Y!z8|IOUaW5cac{t9(L5?0Cfk4?4 z;OI*W7TG-l`r+t614&0nkXz?$qCD$JMYG*Bhy%mx!AL%D(ewiG2 z8tf#U=AKYf0XE)F3?^iR?B~_6MCtl8rRko)8oARK$P@wfnse&%`MRquRFxnrI^skGa~H&eo`WKsVbJz1T{XAjk+cg!ob97)R!cyAe)OhU&()p6dc^q)05Yisc zm&v+f+IzZrz*V@siT>)nW%b7i9G8>Mc@go7D*sn%*e1BTWZ#OT?=~%Z#Ak0= z3}OF2kk?@B{HiyX9=}WKQ=t)zljg#2?XG*6M3<>aeGvOp*UkWdn;SacVrCuafr%7a z-omSAdfYoVA7)f~Yc@a<3S*73j;)VKvviEwio!K`hQ0fv%PFB(y-b$bVYy1?jbE829(rWQO!4GDzNB(nU zWd9FA-7i1we{S_xYyGzRTM_@S)t{V%1Wl#~VnME*V&kbiZK(V&BkKxSe1Ebo6^WeW zsJ`*&Cl{<;5DYWH5-9dsjKABCNqdvNVTfP<^Wb=>GOtMkrD{~PyR}XGFv`@) z5Ne`nH#+NT|LZ<@*5~Q&Sf4>zjG0!s4V21ny5r~bW2vKsf1kzlucg%CB${aYYhweC z^Manq;K1YiIXNAS0{y)XCy@0J^Qu*S>aZ?Pie2$hgO+9e=S{)&=D+imr4wNbKt3T-lOA40c1}{otT)bimy69 z7vW-j3isde|3%4lxB$Jjg&M}e(-8Aik!m#SEUm=mvt#;3rgSQHcLZ7P#`iMpziZDA zQ?)mOTGguEI{FovUP!-Sj{0%WROac239gpxKuS`opM*0TIkSm|7;vljTtNTR!Qo}> zp^}0=Ko~<<`S9+{C02DANG2+%h+-{zh?DRf}sDhoLZ3 zoMPqzje;KCrDM)GFP4C|9H*&PJl~IthegEzQ4PuUx*qcz6~v&keG$YnwRtAR(MaZ* zjV5jQL5GSioA1ENf0I)jly!9Rk7k=P6lBa#GyI%rxF!=ZAa*B4vH%GLB^ zaB>8_ihoQ8&~MI0LYalyfAzZaq1f#Iw%(Sm412m-orhcZ%a31F`CqR-r990p)cKFr zh``-bm!)%^hl`bKfTDmXA+sT1@SKrs4w=-Ocav|LK!wBVvv8|kxkV>D&NpqC5>QGFd@vMh0 zkO>8vI%L^7Z8T4rZj0EZkBYWmo)uh0#zLwGUf3?#x4)yct?y&-vQ{6wMpiFNnNPIj zlP@YJyd;`Xc6j;68_Pf4DtME|?a$6(LgtbrRyrM@(s1Zx=e2QD$bk>VE2_7aO^lRf zSqvOb-X=<{c`6>=*VPJmT!rX6j?KL8>u{wDkgQ!+e!Ab*0d8&5t8y_7YA!y1kcYf)#GdP(t|39u@}jc=U`6YfqKHLFGiDzL zz&hVz0yIjvaMFaQf*@uf?N4fu8!Px$i+{^P^!9$Y)5;7(uc8|#Jm{vR6>>Ukvb9zQF!TfJE%GhjCNC-2nLT0a5myXE9@W@Dd_XI19SU+>2- zFq~OH0PB|B3UHxVZ<{y-mnLKGV}R>2Wp+|br446e5IMdm6IL#Hv~m!?NnA5sfxyDv z*V+fXgJWkN>0U;#iiVK&BaIj0q^C|NPV{Gmh6eci*NHz5IrHZ2jC#A#HFy-Vy+lgG z!WTIf$osGw%IZO30mHL1CWtBM2z#*i@dc7`xgqkV?*6wmcB4zAUQMF$se^Sec-2AT z6DJ-n42NYxuUm21UKg4>UpOChal1$KkB?xr`ZJttbCfL`5ms+Ws{<2PV`RFlIPJW$ za%`Qk>^^Y^!?_nYVJ8U(lukQ53ASw#u!OD9u4gnP`6RbasEUHqw7Ydi_h}32eIS2iW(HgV+K>cmVpDc)W8SDpxC|ZSYFHytSU{|4 zRo&RKmgGbrqI8E#iv&P3xZh*q__*8GL!INxp!zZxsEXJ5lVyWtt~LPe@ubpVeyizg zlArGr&F$3iuv1YFWEK+WUT@8tts~%nPn5GdDjic>$Pcb8qv`E}=R$coDpq37UBfGs zzxqY9t<K+N9Q1c^KfAe-2;7?L5K6?3OQ_5IDs+>VdF*b?L$|ogKfSz* zxQqv3%{)xz`Z`8VRA#NhC-ruY`dn2xoh81})(rztpg6|cO-?(IL(lK5-dVK_mXz5- zUb?2q+e(kS)&z@?a(91Y9by@JGeKt3m+y1!C`zxdL_x#Y@MNI4=ZztHJb}gOa%X$r3#Tf} z3>K`bve|~F^S%jxr23+)^sDuc1i=HsrJRlAU)ny&Kb)F0ZIehF)hRun=gb?tOXiEg zt175|j?BicD=K-`QH#@)Ej51mLbs#6vwZUnrQuO%siVc#QA;D4b{-Vrinogfu;yfi z%&Te<<=M-j#U*tekcs_U+$Rw9^d-D@pduDoc6U?wI3jS7lBda5vM|Ey7Uh1`TxI30 zwZO%C-NYpe4=%)T1Mx54gvC-TUBkRPTZ)2yw)Vh7`MWzG9LX2wa#tr2 zac3m6ucrwV$a!w2ZNSl?ILvoZdQSO^<8vvJv z*uEu!z)#^Ln-*9sCD-bEROUs144Wt!l?yGXE7R!3Ws<0X7^+kH$S6(B4E0}Xqb@iV zs3QHKGECx?tuc^|N_>~nY(!M`^+GCUULdDek0m69qYl}MA00tiy~Ro}U(tpnlcM|@ zA_Ke^7h!h38fRhb2l%sY#g8Y99SL_{+;u5NDB#qtzc2 zMiquw)z7OHBjlYxelIMlxI9%*sYkZMW(tCWgZMsncV3k6@<7#N3tjD12dm(mj1$N&fC`#NVm^q0@%1<9B)S zqk5HNf73b=Z*PXpDFiTkupky^O`ByTY4x%dl=eDYiB}VOe&VnGIC1>JnE+?=9PU>K z(PP$n!=3@_pCla&1^^1ntfvgc6#hY+1ahGHF5SD4h5iGM$RCRGpYs+6=YK>Y8CW>} z*CzOqmb5c=+yBj5x5-#)EDYQ5V`~+$YL1-YvP)9z-ta7(4W&^;s7d!)7x(`12duy` z48l^5aGYgk5P-2_{5^IsxxSfuYa8nRJ)TeR_(9V!OiANwQ&%!hA!{<2u^^<4Sxc9` zPk~TOKVQdr41Y+OS@)HIQQ1$no_h3pI@%u>TBS-HsS?@9W&D5Adxk1$!QXVoXbXc>NI?aUCr&flxzS{4&mH*(05{(~p_n>Q37Ke_~|JNMO19F>)*Ja`mJmerUxAt zt#_#Q#N+%?0PSa1a+&}^jlkfmgcJ{go(b01zc~(4o6@Npx4ZP~JqGtj0)lx_QSn-S z;2_>AMME(pHYARTVel(C+ML_E3A{ps)3s$cWF;Q6nnpxsvUAugmEid^N>PIA8w4tm z*!l-S?n_2#7FsYJh?Ix8Z=FOVYp!?xcQoNl&!nnVsEeFdf1K}E)8deb4rsazallI8QxUix^G&Zs%nYcS8YEbm+HPfZ9nGz(OQz_iJ~E?BN2u%btHN|FIVjG#_Z{wmb1y=n-mwgiR8Gr@m+s{`O%#F;p+ zgEdb$vzt?h5Q>7c*rZ$jAQmFgAv6ZNSl8|-EPIB>e+hrSb*LkECEmEr69#s};7?d#JL+E3kj7OH<9edk&!n0AJ+NUvE2MH0pk3`Gu z3+e?0vP}qo>5N*A(iI58Su6 z*KdOnY#hD5Pa-IDaT!NoCmEg+dS6f0RWJ}Cx%#6{+cy(MCx@u0YtW4)8iY1LezEPc07ES-pOF(RKKrC3Vn{oXbu?I`ztR+l~;(%uS z2Ee<=shb3P4?s6)GE~j};3gmkRuVQgxWjx!g3Jdw`RHsQzKfkE1GL?Vt6P)hGdMVz z`afNTn;Y)y)GKg^k|{c*K4!pHInQ+Xy+7reuuU=?JI~(=>(gTJ5`$xdatM&&!Wxp^ zJyiWtj=oE1{*-XXFJ6M|8s z_nU#CI6a&V`oF@3x0@76ciFjT_t>x7y7`*)K zz=?bu;BgR!@tDq-0Aj4s2?MftK;(pz!ObhLpIVODHV%&IaRs5w1IEvf(nolmLLO{k zAb2@_JJwh_h{6cd3Fj(N1Y)F*LYD)eulP=03buc`t*`mo1v(!pNBSLc-LrO|u?Xhl z4_w;9>M)`%Yc}h9+AjwQxCMQhQa%|MChdb!*;NE`yl7P*U-fk?MCjT%#g z4vNwyG?nDk1eFgyfzszqT=SaP2LS@h1s)Rj4?skK#EYCu+dXuj#8~W|WXFI#&ul4K z6^^M}+N_`OGS(NBb9D$nUH*^-qzM;pPi2HEb%qufl)f_HY1)-lqrEPH)QOoC4$LCk zrb=NbBs69=7_jAwz|Lp^Z=?*n0Z-3;nhJ>N!GVTcHf3}RDfHq;(v^17QXWz>mbF+h zA#4kl3jLl(`91H|r-Kj&aA)qU8L$rCE8MxKy-}@~-Vlcy$CVSJpu2XCjXs!mFF3e( zZdqKen5oN5z?Q|_*bb_~;?2{>+kdL*<>u*CKo|GwVVpYyu4Kk=&bl!u+2>Hjk{Sg4 zTucZ%fv3x$d6FAZ0W@+J%A>2nSMpCcpzd_GGub~{J$dE{rjvzB?ha8Cz_cI; zre#WjY+FExs^_`%8=La|cI`-Li^z=a#4{-vj2-r3+?1s5&iz(cZ{ci_!MHK>E+tB^ z6=VUsl6-=d6qTw7@&^Sp4x?-1a3Te}1fLAV58t}*P*BDsGsmogI?}hp#-LX){ak#T zN@*3t0xhx8a%hYf9ws)&W`6@$(S*PX7cB13J%$~R#Gqpxg6z#UM*ja`ixtZ}3$E8{ zRA>wSnSYb;X{{{#rQ3Q}Am{{$BDS~_NTC}B)E_IXa%WO6Dv`eRm1x#SbX8*1N3zD;I>F6*Ebt(Y5 z1~5PRNzpii9(=!c^SE8ip-9f~Eu@mR;xrt+Xb4XIa8TOm4%$3B$ELoRM$7V5nA0>= zr$r>wC8KMr7Cqbw`8o-;XRQku*NCdGS}DE{2jcaBuJWpa&vVZhV=mpwUqhzDB?x*@ zR7fpLvj|FtJU69RqW>T~S2aF=BHJ>TNZP$a&a}}Wm>NRPl4r#w>S2wTdQ;#7fQs#ET5KD7 zL2p;)L5x&P1Rf2(kAgO6PB9E4851goq>vLgL*|X^(FTf@(!03wLANHZz61tIfd<9Y zlpoMC?aJ`$)Std(ni!~rvk8AooJR%}KQhl{HLWT@u20FFOM?)WZI`V{^_yz=d$kUK zAVUGwxbU4?&>F4FYSeMb!ulKc)jh`_uPP0GdX*e$#gc1+0X1|wxIt|%B{b`FB*WG_-gU_)#sOT=j; z5^*Hq_^Hp+EbExFafGB$M95{P;)`8@aM0WwjEgDoL$a|^00=`eVzleo>Kn$~wH&v0 zGFnBEN?BY^IAB0Qf+mxd`4%HvFfb@N2a7&DJe);!rf_42HT#s+E1*KDC%_k+G3}2=fA!_>zp!!sw?=#I zyCkKdJjmZtauN}K2+3Li2-lwzPe$l(Aa|=JNe5d6ko-KjbM!0G;l2d28kDWxR2v&( z@xOV!Vq5Zy6KFsu5aI@aZsbW=RZ5i#Z+Gu5sJ(iZEl{>%M*h2Y=_gtO@mt%Ep{N?j zJyxBcWEcU-mq69ebd#d|)1J%KDk&hAi1M1#*J786aEqVvUd=aUyp8(g;OEuRqhyR{ znysJOesqqVuR^#q{j?$K*48kzmCyU*lhGoH^^p1P#ONwniKra;Q83N;I_?I!4)<%4 ztys!t{adQ}F2x_UZ=eXPrRatFO~xvuFkAH4W8W#GN;QFHcFKY8aZ5Aoz3Y;+gW zh+Q;Bn6p{En=USQ8R&o%aMVggO-*^DMp_BZ`u=d&9% z#jp2+Ofn=fkC1^iyKl1n^*r&`Q7KJN_9P*5pNwJ6-IrHvh%z*7QMdOgPKII8Xi4SR zD^!$fLAEP4fa14`+LKO?qAr>9Q%`%|c_(kLUwePl?z?%2U-tLaduWe-U?)xQ5ZoRa z*{URBX&rM2g|s}O5tMW}j8cP~gG~$x>>5+D>#}H4VjOAAq@^D|`PZCdxxC}(&t8!0 z*#G3N?wR8qJ;cF}p)L}v%c7;i z(nI=n^7qd9Gh+o6EF)wvh6%3f$O-~no)Lm&YyuTVjcg3R;bV#`FP(A-)s2|nD=>Ll z2?7`dN4Jmm|6%MLdo+R8E?u^5+qR7^+cx_tblJ9T+pg-eZQHgv{bnYa`EW8h$xik! z*vY!rzV5X&6ImP~z{CKIWB)uH2|BW&091*<)emSB?m4SmAPrCWKxIRuIieS9ntNE_ zixeyh@W@&HhACmA<>T6ViSbK;7i!n9VS`k)_DRla-!{|lcW+%QtTUURb6~w|haZ5} z5vrg}c@Kep*DDUde*eJ=dj#q=svj}4IG_lJ0q9p&|A?m|z≪4Zt?)2TK$;mv^K) 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%0A-IYqO{s6FLxq}eF(5^xY%1n#1K+xY$21~&d{ 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%0DN6$Rbu$tZP68>%&=4`ZQ!F+ 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 ^vrm=~q$t=y>lBPl=zUqENQUsp$hR&c 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

    iC9y0R!tHr*9yisPQ(q(BBs+V$ffR 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�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