Skip to content

[implimits] Reorder Annex B by clause number #7066

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 60 additions & 59 deletions source/limits.tex
Original file line number Diff line number Diff line change
Expand Up @@ -19,56 +19,35 @@
However, these quantities are only guidelines and do not determine compliance.
\begin{itemize}
\item%
Nesting levels of compound statements\iref{stmt.block},
iteration control structures\iref{stmt.iter},
and selection control structures\iref{stmt.select} [256].
\item%
Nesting levels of conditional inclusion\iref{cpp.cond} [256].
\item%
Pointer\iref{dcl.ptr},
pointer-to-member\iref{dcl.mptr},
array\iref{dcl.array}, and
function\iref{dcl.fct}
declarators (in any combination)
modifying a type in a declaration [256].
\item%
Nesting levels of parenthesized expressions\iref{expr.prim.paren} within a full-expression [256].
Characters in one logical source line\iref{lex.phases} [65\,536].
\item%
Number of
characters in an internal identifier\iref{lex.name}
or macro name\iref{cpp.replace} [1\,024].
Number of characters in an internal identifier\iref{lex.name} [1\,024].
\item%
Number of
characters in an external identifier\iref{lex.name,basic.link} [1\,024].
\item%
External identifiers\iref{basic.link} in one translation unit [65\,536].
Characters in a \grammarterm{string-literal}\iref{lex.string}
(after concatenation\iref{lex.phases}) [65\,536].
\item%
Identifiers with block scope declared in one block\iref{basic.scope.block} [1\,024].
\item%
Structured bindings\iref{dcl.struct.bind} introduced in one declaration [256].
\item%
Macro identifiers\iref{cpp.replace} simultaneously defined in one
translation
unit [65\,536].
External identifiers\iref{basic.link} in one translation unit [65\,536].
\item%
Parameters in one function definition\iref{dcl.fct.def.general} [256].
Size of an object\iref{intro.object} [262\,144].
\item%
Arguments in one function call\iref{expr.call} [256].
Nesting levels of parenthesized expressions\iref{expr.prim.paren} within a full-expression [256].
\item%
Parameters in one macro definition\iref{cpp.replace} [256].
Scope qualifications of one identifier\iref{expr.prim.id.qual} [256].
\item%
Arguments in one macro invocation\iref{cpp.replace} [256].
Lambda-captures in one \grammarterm{lambda-expression}\iref{expr.prim.lambda.capture} [256].
\item%
Characters in one logical source line\iref{lex.phases} [65\,536].
Arguments in one function call\iref{expr.call} [256].
\item%
Characters in a \grammarterm{string-literal}\iref{lex.string}
(after concatenation\iref{lex.phases}) [65\,536].
Full-expressions evaluated within a core constant expression\iref{expr.const} [1\,048\,576].
\item%
Size of an object\iref{intro.object} [262\,144].
Nesting levels of compound statements\iref{stmt.block} [256].
\item%
Nesting levels for
\tcode{\#include}
files\iref{cpp.include} [256].
Nesting levels of selection control structures\iref{stmt.select} [256].
\item%
Case labels for a
\keyword{switch}
Expand All @@ -77,52 +56,53 @@
statements)
[16\,384].
\item%
Non-static data members (including inherited ones) in a single class\iref{class.mem} [16\,384].
Nesting levels of iteration control structures\iref{stmt.iter} [256].
\item%
Lambda-captures in one \grammarterm{lambda-expression}\iref{expr.prim.lambda.capture} [256].
Recursive constexpr function invocations\iref{dcl.constexpr} [512].
\item%
Enumeration constants in a single enumeration\iref{dcl.enum} [4\,096].
Pointer\iref{dcl.ptr},
pointer-to-member\iref{dcl.mptr},
array\iref{dcl.array}, and
function\iref{dcl.fct}
declarators (in any combination)
modifying a type in a declaration [256].
\item%
Levels of nested class definitions\iref{class.nest}
in a single
\grammarterm{member-specification}
[256].
\grammarterm{initializer-clause}{s} in one \grammarterm{braced-init-list}\iref{dcl.init} [16\,384].
\item%
Functions registered by
\tcode{atexit()}\iref{support.start.term} [32].
Parameters in one function definition\iref{dcl.fct.def.general} [256].
\item%
Functions registered by
\tcode{at_quick_exit()}\iref{support.start.term} [32].
Structured bindings\iref{dcl.struct.bind} introduced in one declaration [256].
\item%
Direct and indirect base classes\iref{class.derived} [16\,384].
Enumeration constants in a single enumeration\iref{dcl.enum} [4\,096].
\item%
Direct base classes for a single class\iref{class.derived} [1\,024].
Nested \grammarterm{linkage-specification}s\iref{dcl.link} [1\,024].
\item%
Class members declared in a single \grammarterm{member-specification}
(including member functions)\iref{class.mem} [4\,096].
\item%
Final overriding virtual functions in a class,
accessible or not\iref{class.virtual} [16\,384].
\item%
Direct and indirect virtual bases of a class\iref{class.mi} [1\,024].
Non-static data members (including inherited ones) in a single class\iref{class.mem} [16\,384].
\item%
Static data members of a class\iref{class.static.data} [1\,024].
\item%
Friend declarations in a class\iref{class.friend} [4\,096].
Levels of nested class definitions\iref{class.nest}
in a single
\grammarterm{member-specification}
[256].
\item%
Access control declarations in a class\iref{class.access.spec} [4\,096].
Direct base classes for a single class\iref{class.derived} [1\,024].
\item%
Member initializers in a constructor definition\iref{class.base.init} [6\,144].
Direct and indirect base classes\iref{class.derived} [16\,384].
\item%
\grammarterm{initializer-clause}{s} in one \grammarterm{braced-init-list}\iref{dcl.init} [16\,384].
Direct and indirect virtual bases of a class\iref{class.mi} [1\,024].
\item%
Scope qualifications of one identifier\iref{expr.prim.id.qual} [256].
Final overriding virtual functions in a class,
accessible or not\iref{class.virtual} [16\,384].
\item%
Nested \grammarterm{linkage-specification}s\iref{dcl.link} [1\,024].
Access control declarations in a class\iref{class.access.spec} [4\,096].
\item%
Recursive constexpr function invocations\iref{dcl.constexpr} [512].
Friend declarations in a class\iref{class.friend} [4\,096].
\item%
Full-expressions evaluated within a core constant expression\iref{expr.const} [1\,048\,576].
Member initializers in a constructor definition\iref{class.base.init} [6\,144].
\item%
Template parameters in a template declaration\iref{temp.param} [1\,024].
\item%
Expand All @@ -131,6 +111,27 @@
\item%
Handlers per try block\iref{except.handle} [256].
\item%
Nesting levels of conditional inclusion\iref{cpp.cond} [256].
\item%
Nesting levels for
\tcode{\#include}
files\iref{cpp.include} [256].
\item%
Parameters in one macro definition\iref{cpp.replace} [256].
\item%
Arguments in one macro invocation\iref{cpp.replace} [256].
\item%
Number of characters in a macro name\iref{cpp.replace} [1\,024].
\item%
Macro identifiers\iref{cpp.replace} simultaneously defined in one
translation unit [65\,536].
\item%
Functions registered by
\tcode{atexit()}\iref{support.start.term} [32].
\item%
Functions registered by
\tcode{at_quick_exit()}\iref{support.start.term} [32].
\item%
Number of placeholders\iref{func.bind.place} [10].
\item%
Number of hazard-protectable possibly-reclaimable objects\iref{saferecl.hp.general} [256].
Expand Down
Loading