From b2e0398825b12f3f5162e4de2be4be2764ffff05 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 10 May 2019 22:11:00 +0200 Subject: [PATCH 01/24] [std] Implicitly prefix table labels with 'tab:' --- source/algorithms.tex | 2 +- source/atomics.tex | 6 +++--- source/basic.tex | 4 ++-- source/concepts.tex | 2 +- source/containers.tex | 20 +++++++++---------- source/declarations.tex | 2 +- source/diagnostics.tex | 2 +- source/future.tex | 12 +++++------ source/iostreams.tex | 38 +++++++++++++++++------------------ source/iterators.tex | 16 +++++++-------- source/lex.tex | 18 ++++++++--------- source/lib-intro.tex | 14 ++++++------- source/locales.tex | 28 +++++++++++++------------- source/numerics.tex | 8 ++++---- source/overloading.tex | 4 ++-- source/preprocessor.tex | 4 ++-- source/ranges.tex | 2 +- source/regex.tex | 20 +++++++++---------- source/strings.tex | 8 ++++---- source/support.tex | 4 ++-- source/tables.tex | 6 +++--- source/templates.tex | 2 +- source/threads.tex | 2 +- source/time.tex | 44 ++++++++++++++++++++--------------------- source/utilities.tex | 36 ++++++++++++++++----------------- 25 files changed, 152 insertions(+), 152 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index bdbc42eeec..f7294f315b 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -15,7 +15,7 @@ and algorithms from the ISO C library, as summarized in \tref{algorithms.summary}. -\begin{libsumtab}{Algorithms library summary}{tab:algorithms.summary} +\begin{libsumtab}{Algorithms library summary}{algorithms.summary} \ref{algorithms.requirements} & Algorithms requirements & \\ \ref{algorithms.parallel} & Parallel algorithms & \\ \rowsep \ref{alg.nonmodifying} & Non-modifying sequence operations & \tcode{} \\ diff --git a/source/atomics.tex b/source/atomics.tex index 5e4d152f34..87fde35025 100644 --- a/source/atomics.tex +++ b/source/atomics.tex @@ -11,7 +11,7 @@ The following subclauses describe atomics requirements and components for types and operations, as summarized in \tref{atomics.lib.summary}. -\begin{libsumtab}{Atomics library summary}{tab:atomics.lib.summary} +\begin{libsumtab}{Atomics library summary}{atomics.lib.summary} \ref{atomics.alias} & Type aliases & \tcode{} \\ \ref{atomics.order} & Order and consistency & \\ \ref{atomics.lockfree} & Lock-free property & \\ @@ -1849,7 +1849,7 @@ The following operations perform arithmetic computations. The key, operator, and computation correspondence is: \begin{floattable} -{Atomic arithmetic computations}{tab:atomic.arithmetic.computations}{lll|lll} +{Atomic arithmetic computations}{atomic.arithmetic.computations}{lll|lll} \hline \hdstyle{\tcode{\placeholder{key}}} & \hdstyle{Op} & @@ -2158,7 +2158,7 @@ and computation correspondence is: \begin{floattable} -{Atomic pointer computations}{tab:atomic.pointer.computations}{lll|lll} +{Atomic pointer computations}{atomic.pointer.computations}{lll|lll} \hline \tcode{Key} & Op & diff --git a/source/basic.tex b/source/basic.tex index 144f2d084a..5c250cce73 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -4568,7 +4568,7 @@ the largest value of the corresponding unsigned type. \end{example} -\begin{floattable}{Minimum width}{tab:width}{ll} +\begin{floattable}{Minimum width}{width}{ll} \topline \lhdr{Type} & \rhdr{Minimum width $N$} \\ \capsep @@ -4988,7 +4988,7 @@ \tref{relations.on.const.and.volatile} shows the relations that constitute this ordering. -\begin{floattable}{Relations on \tcode{const} and \tcode{volatile}}{tab:relations.on.const.and.volatile} +\begin{floattable}{Relations on \tcode{const} and \tcode{volatile}}{relations.on.const.and.volatile} {ccc} \topline \cvqual{no cv-qualifier} &<& \tcode{const} \\ diff --git a/source/concepts.tex b/source/concepts.tex index 99e3033f9c..fd03f997c4 100644 --- a/source/concepts.tex +++ b/source/concepts.tex @@ -14,7 +14,7 @@ concepts, object concepts, and callable concepts as summarized in \tref{concepts.lib.summary}. -\begin{libsumtab}{Fundamental concepts library summary}{tab:concepts.lib.summary} +\begin{libsumtab}{Fundamental concepts library summary}{concepts.lib.summary} \ref{concepts.equality} & Equality preservation & \\ \hline \ref{concepts.lang} & Language-related concepts & \tcode{} \\ \ref{concepts.compare} & Comparison concepts & \\ diff --git a/source/containers.tex b/source/containers.tex index b2edc1cdd6..f6f42e1dd9 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -16,7 +16,7 @@ as summarized in \tref{containers.lib.summary}. -\begin{libsumtab}{Containers library summary}{tab:containers.lib.summary} +\begin{libsumtab}{Containers library summary}{containers.lib.summary} \ref{container.requirements} & Requirements & \\ \rowsep \ref{sequences} & Sequence containers & \tcode{}, \tcode{}, \tcode{}, @@ -80,7 +80,7 @@ \begin{libreqtab5} {Container requirements} -{tab:containers.container.requirements} +{containers.container.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \chdr{Assertion/note} & \rhdr{Complexity} \\ @@ -363,7 +363,7 @@ \begin{libreqtab4a} {Reversible container requirements} -{tab:containers.reversible.requirements} +{containers.reversible.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity} \\ @@ -470,7 +470,7 @@ \begin{libreqtab5} {Optional container operations} -{tab:containers.optional.operations} +{containers.optional.operations} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \chdr{Assertion/note} & \rhdr{Complexity} \\ @@ -609,7 +609,7 @@ \begin{libreqtab4a} {Allocator-aware container requirements} -{tab:containers.allocatoraware} +{containers.allocatoraware} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity} \\ @@ -814,7 +814,7 @@ \begin{libreqtab3} {Sequence container requirements (in addition to container)} -{tab:containers.sequence.requirements} +{containers.sequence.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \rhdr{Assertion/note} \\ & & \rhdr{pre-/post-condition} \\ \capsep @@ -1053,7 +1053,7 @@ \begin{libreqtab4a} {Optional sequence container operations} -{tab:containers.sequence.optional} +{containers.sequence.optional} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational semantics} & \rhdr{Container} \\ \capsep \endfirsthead @@ -1216,7 +1216,7 @@ either direction between container types in the same row of \tref{containers.node.compat}. -\begin{floattable}{Container types with compatible nodes}{tab:containers.node.compat} +\begin{floattable}{Container types with compatible nodes}{containers.node.compat} {ll} \topline \tcode{map} & \tcode{map} \\ @@ -1636,7 +1636,7 @@ \begin{libreqtab4b} {Associative container requirements (in addition to container)} -{tab:containers.associative.requirements} +{containers.associative.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity} \\ & & \chdr{pre-/post-condition} & \\ \capsep @@ -2312,7 +2312,7 @@ \begin{libreqtab4d} {Unordered associative container requirements (in addition to container)} - {tab:HashRequirements} + {HashRequirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity} \\ & & \chdr{pre-/post-condition} & \\ \capsep diff --git a/source/declarations.tex b/source/declarations.tex index 48a873a32d..724b3c5a2d 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -1356,7 +1356,7 @@ \begin{simpletypetable} {\grammarterm{simple-type-specifier}{s} and the types they specify} -{tab:simple.type.specifiers} +{simple.type.specifiers} {ll} \topline \hdstyle{Specifier(s)} & \hdstyle{Type} \\ \capsep diff --git a/source/diagnostics.tex b/source/diagnostics.tex index 1cc9dd3e3f..021fe7c49a 100644 --- a/source/diagnostics.tex +++ b/source/diagnostics.tex @@ -14,7 +14,7 @@ a global variable for error number codes, as summarized in \tref{diagnostics.lib.summary}. -\begin{libsumtab}{Diagnostics library summary}{tab:diagnostics.lib.summary} +\begin{libsumtab}{Diagnostics library summary}{diagnostics.lib.summary} \ref{std.exceptions} & Exception classes & \tcode{} \\ \rowsep \ref{assertions} & Assertions & \tcode{} \\ \rowsep \ref{errno} & Error numbers & \tcode{} \\ \rowsep diff --git a/source/future.tex b/source/future.tex index ce84a9fe7f..2932fda2cb 100644 --- a/source/future.tex +++ b/source/future.tex @@ -111,7 +111,7 @@ C standard library, the \Cpp{} standard library provides the \defnx{C headers}{headers!C library} shown in \tref{future.c.headers}. -\begin{multicolfloattable}{C headers}{tab:future.c.headers} +\begin{multicolfloattable}{C headers}{future.c.headers} {lllll} \tcode{} \\ \tcode{} \\ @@ -517,7 +517,7 @@ The postconditions of this function are indicated in \tref{future.strstreambuf.effects}. \end{itemdescr} -\begin{libtab2}{\tcode{strstreambuf(streamsize)} effects}{tab:future.strstreambuf.effects} +\begin{libtab2}{\tcode{strstreambuf(streamsize)} effects}{future.strstreambuf.effects} {ll} {Element}{Value} \tcode{strmode} & \tcode{dynamic} \\ @@ -541,7 +541,7 @@ The postconditions of this function are indicated in \tref{future.strstreambuf1.effects}. \begin{libtab2}{\tcode{strstreambuf(void* (*)(size_t), void (*)(void*))} effects} -{tab:future.strstreambuf1.effects} +{future.strstreambuf1.effects} {ll} {Element}{Value} \tcode{strmode} & \tcode{dynamic} \\ @@ -571,7 +571,7 @@ The postconditions of this function are indicated in \tref{future.strstreambuf2.effects}. \begin{libtab2}{\tcode{strstreambuf(charT*, streamsize, charT*)} effects} -{tab:future.strstreambuf2.effects} +{future.strstreambuf2.effects} {ll} {Element}{Value} \tcode{strmode} & 0 \\ @@ -899,7 +899,7 @@ Alters the stream position within one of the controlled sequences, if possible, as indicated in \tref{future.seekoff.positioning}. -\begin{libtab2}{\tcode{seekoff} positioning}{tab:future.seekoff.positioning} +\begin{libtab2}{\tcode{seekoff} positioning}{future.seekoff.positioning} {p{2.5in}l}{Conditions}{Result} \tcode{(which \& ios::in) != 0} & positions the input sequence \\ \rowsep @@ -921,7 +921,7 @@ Otherwise, the function determines \tcode{newoff} as indicated in \tref{future.newoff.values}. -\begin{libtab2}{\tcode{newoff} values}{tab:future.newoff.values} +\begin{libtab2}{\tcode{newoff} values}{future.newoff.values} {p{2.0in}p{2.0in}}{Condition}{\tcode{newoff} Value} \tcode{way == ios::beg} & 0 \\ \rowsep diff --git a/source/iostreams.tex b/source/iostreams.tex index 5917ac734e..58479a6ae2 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -20,7 +20,7 @@ and file streams, as summarized in \tref{iostreams.lib.summary}. -\begin{libsumtab}{Input/output library summary}{tab:iostreams.lib.summary} +\begin{libsumtab}{Input/output library summary}{iostreams.lib.summary} \ref{iostreams.requirements} & Requirements & \\ \rowsep \ref{iostream.forward} & Forward declarations & \tcode{} \\ \rowsep \ref{iostream.objects} & Standard iostream objects & \tcode{} \\ \rowsep @@ -965,7 +965,7 @@ is a bitmask type\iref{bitmask.types}. Setting its elements has the effects indicated in \tref{iostreams.fmtflags.effects}. -\begin{libefftab}{\tcode{fmtflags} effects}{tab:iostreams.fmtflags.effects} +\begin{libefftab}{\tcode{fmtflags} effects}{iostreams.fmtflags.effects} \tcode{boolalpha} & insert and extract \tcode{bool} type in alphabetic format\\ \tcode{dec} & @@ -1004,7 +1004,7 @@ \tcode{fmtflags} also defines the constants indicated in \tref{iostreams.fmtflags.constants}. -\begin{floattable}{\tcode{fmtflags} constants}{tab:iostreams.fmtflags.constants} +\begin{floattable}{\tcode{fmtflags} constants}{iostreams.fmtflags.constants} {ll} \topline \lhdr{Constant} & \rhdr{Allowable values} \\ \capsep @@ -1028,7 +1028,7 @@ is a bitmask type\iref{bitmask.types} that contains the elements indicated in \tref{iostreams.iostate.effects}. -\begin{libefftab}{\tcode{iostate} effects}{tab:iostreams.iostate.effects} +\begin{libefftab}{\tcode{iostate} effects}{iostreams.iostate.effects} \tcode{badbit} & indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error from a file); \\ @@ -1064,7 +1064,7 @@ is a bitmask type\iref{bitmask.types}. It contains the elements indicated in \tref{iostreams.openmode.effects}. -\begin{libefftab}{\tcode{openmode} effects}{tab:iostreams.openmode.effects} +\begin{libefftab}{\tcode{openmode} effects}{iostreams.openmode.effects} \tcode{app} & seek to end before each write \\ \tcode{ate} & @@ -1094,7 +1094,7 @@ is an enumerated type\iref{enumerated.types} that contains the elements indicated in \tref{iostreams.seekdir.effects}. -\begin{libefftabmean}{\tcode{seekdir} effects}{tab:iostreams.seekdir.effects} +\begin{libefftabmean}{\tcode{seekdir} effects}{iostreams.seekdir.effects} \tcode{beg} & request a seek (for subsequent input or output) relative to the beginning of the stream \\ \tcode{cur} & @@ -1700,7 +1700,7 @@ \begin{libreqtab4c} {Position type requirements} -{tab:iostreams.position.requirements} +{iostreams.position.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -1900,7 +1900,7 @@ \ensures The postconditions of this function are indicated in \tref{iostreams.basicios.init.effects}. -\begin{libefftabvalue}{\tcode{basic_ios::init()} effects}{tab:iostreams.basicios.init.effects} +\begin{libefftabvalue}{\tcode{basic_ios::init()} effects}{iostreams.basicios.init.effects} \tcode{rdbuf()} & \tcode{sb} \\ \tcode{tie()} & @@ -2125,7 +2125,7 @@ \begin{LibEffTab}{\tcode{basic_ios::copyfmt()} effects} -{tab:iostreams.copyfmt.effects}{Value}{1.2in} +{iostreams.copyfmt.effects}{Value}{1.2in} \tcode{rdbuf()} & \textit{unchanged} \\ \tcode{tie()} & @@ -7783,7 +7783,7 @@ Alters the stream position within one of the controlled sequences, if possible, as indicated in \tref{iostreams.seekoff.positioning}. -\begin{libtab2}{\tcode{seekoff} positioning}{tab:iostreams.seekoff.positioning} +\begin{libtab2}{\tcode{seekoff} positioning}{iostreams.seekoff.positioning} {p{2.5in}l}{Conditions}{Result} \tcode{(which \& ios_base::in)}\tcode{ == ios_base::in} & positions the input sequence \\ \rowsep @@ -7813,7 +7813,7 @@ is a null pointer and \tcode{newoff} is nonzero, the positioning operation fails. -\begin{libtab2}{\tcode{newoff} values}{tab:iostreams.newoff.values} +\begin{libtab2}{\tcode{newoff} values}{iostreams.newoff.values} {lp{2.0in}}{Condition}{\tcode{newoff} Value} \tcode{way == ios_base::beg} & 0 \\ \rowsep @@ -8789,7 +8789,7 @@ If \tcode{mode} is not some combination of flags shown in the table then the open fails. -\begin{floattable}{File open modes}{tab:iostreams.file.open.modes} +\begin{floattable}{File open modes}{iostreams.file.open.modes} {cccccl} \topline \multicolumn{5}{|c}{\tcode{ios_base} flag combination} & \tcode{stdio} equivalent \\ @@ -9176,7 +9176,7 @@ \tcode{int}, as indicated in \tref{iostreams.seekoff.effects}. -\begin{libtab2}{\tcode{seekoff} effects}{tab:iostreams.seekoff.effects} +\begin{libtab2}{\tcode{seekoff} effects}{iostreams.seekoff.effects} {ll}{\tcode{way} Value}{\tcode{stdio} Equivalent} \tcode{basic_ios::beg} & \tcode{SEEK_SET} \\ \tcode{basic_ios::cur} & \tcode{SEEK_CUR} \\ @@ -12986,7 +12986,7 @@ sequence, with the meanings listed in \tref{enum.path.format}. \begin{floattable} -{Enum \tcode{path::format}}{tab:enum.path.format}{lp{4in}} +{Enum \tcode{path::format}}{enum.path.format}{lp{4in}} \topline \lhdr{Name} & \rhdr{Meaning} \\\capsep \tcode{native_format} & The native pathname format. \\\rowsep @@ -13011,7 +13011,7 @@ The values of the constants are distinct. \begin{floattable} -{Enum class \tcode{file_type}}{tab:fs.enum.file.type} +{Enum class \tcode{file_type}}{fs.enum.file.type} {lp{4.5in}} \topline \lhdr{Constant} & @@ -13057,7 +13057,7 @@ Every other constant in the table represents a distinct bitmask element. \begin{floattable} -{Enum class \tcode{copy_options}}{tab:fs.enum.copy_options} +{Enum class \tcode{copy_options}}{fs.enum.copy_options} {lp{4in}} \topline \ohdrx{2}{Option group controlling \tcode{copy_file} function effects for existing target files} \\ \rowsep @@ -13110,7 +13110,7 @@ permissions, with the meanings listed in \tref{fs.enum.perms}. \begin{floattable} -{Enum class \tcode{perms}}{tab:fs.enum.perms} +{Enum class \tcode{perms}}{fs.enum.perms} {lrlp{3.2in}} \topline \lhdr{Name} & \chdr{Value} & \chdr{POSIX} & \rhdr{Definition or notes} \\ @@ -13173,7 +13173,7 @@ passed to \tcode{permissions}. \begin{floattable} -{Enum class \tcode{perm_options}}{tab:enum.perm_options}{x{.15\hsize}x{.70\hsize}} +{Enum class \tcode{perm_options}}{enum.perm_options}{x{.15\hsize}x{.70\hsize}} \topline \lhdr{Name} & \rhdr{Meaning} \\ \capsep @@ -13202,7 +13202,7 @@ every other constant in the table represents a distinct bitmask element. \begin{floattable} -{Enum class \tcode{directory_options}}{tab:fs.enum.directory_options} +{Enum class \tcode{directory_options}}{fs.enum.directory_options} {lp{3in}} \topline \lhdr{Name} & diff --git a/source/iterators.tex b/source/iterators.tex index 43ecd9e7f6..5477d918c2 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -19,7 +19,7 @@ and stream iterators, as summarized in \tref{iterators.lib.summary}. -\begin{libsumtab}{Iterators library summary}{tab:iterators.lib.summary} +\begin{libsumtab}{Iterators library summary}{iterators.lib.summary} \ref{iterator.requirements} & Iterator requirements & \tcode{} \\ \ref{iterator.primitives} & Iterator primitives & \\ \ref{predef.iterators} & Iterator adaptors & \\ @@ -500,7 +500,7 @@ \term{contiguous iterators}, as shown in \tref{iterators.relations}. -\begin{floattable}{Relations among iterator categories}{tab:iterators.relations} +\begin{floattable}{Relations among iterator categories}{iterators.relations} {lllll} \topline \textbf{Contiguous} & @@ -1752,7 +1752,7 @@ \begin{libreqtab4b} {\oldconcept{Iterator} requirements} -{tab:iterator.requirements} +{iterator.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -1819,7 +1819,7 @@ \begin{libreqtab4b} {\oldconcept{InputIterator} requirements (in addition to \oldconcept{Iterator})} -{tab:iterator.input.requirements} +{iterator.input.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -1894,7 +1894,7 @@ \begin{libreqtab4b} {\oldconcept{OutputIterator} requirements (in addition to \oldconcept{Iterator})} -{tab:iterator.output.requirements} +{iterator.output.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -1996,7 +1996,7 @@ \begin{libreqtab4b} {\oldconcept{ForwardIterator} requirements (in addition to \oldconcept{InputIterator})} -{tab:iterator.forward.requirements} +{iterator.forward.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -2037,7 +2037,7 @@ \begin{libreqtab4b} {\oldconcept{BidirectionalIterator} requirements (in addition to \oldconcept{ForwardIterator})} -{tab:iterator.bidirectional.requirements} +{iterator.bidirectional.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -2082,7 +2082,7 @@ \begin{libreqtab4b} {\oldconcept{RandomAccessIterator} requirements (in addition to \oldconcept{BidirectionalIterator})} -{tab:iterator.random.access.requirements} +{iterator.random.access.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep diff --git a/source/lex.tex b/source/lex.tex index efc4e4e1f5..3e46a02fb8 100644 --- a/source/lex.tex +++ b/source/lex.tex @@ -397,7 +397,7 @@ The set of alternative tokens is defined in \tref{alternative.tokens}. -\begin{tokentable}{Alternative tokens}{tab:alternative.tokens}{Alternative}{Primary} +\begin{tokentable}{Alternative tokens}{alternative.tokens}{Alternative}{Primary} \tcode{<\%} & \tcode{\{} & \tcode{and} & \tcode{\&\&} & \tcode{and_eq} & \tcode{\&=} \\ \rowsep @@ -598,7 +598,7 @@ identifiers. In \Cpp{}, upper- and lower-case letters are considered different for all identifiers, including external identifiers. } -\begin{floattable}{Ranges of characters allowed}{tab:charname.allowed} +\begin{floattable}{Ranges of characters allowed}{charname.allowed} {lllll} \topline \tcode{00A8} & @@ -648,7 +648,7 @@ \\ \end{floattable} -\begin{floattable}{Ranges of characters disallowed initially (combining characters)}{tab:charname.disallowed} +\begin{floattable}{Ranges of characters disallowed initially (combining characters)}{charname.disallowed} {llll} \topline \tcode{0300-036F} & @@ -672,7 +672,7 @@ \grammarterm{identifier} has a special meaning is resolved to interpret the token as a regular \grammarterm{identifier}. -\begin{multicolfloattable}{Identifiers with special meaning}{tab:identifiers.special} +\begin{multicolfloattable}{Identifiers with special meaning}{identifiers.special} {lll} \keyword{audit} \\ \keyword{axiom} \\ @@ -717,7 +717,7 @@ as keywords (that is, they are unconditionally treated as keywords in phase 7) except in an \grammarterm{attribute-token}\iref{dcl.attr.grammar}: -\begin{multicolfloattable}{Keywords}{tab:keywords} +\begin{multicolfloattable}{Keywords}{keywords} {lllll} \keyword{alignas} \\ \keyword{alignof} \\ @@ -815,7 +815,7 @@ otherwise: -\begin{floattable}{Alternative representations}{tab:alternative.representations} +\begin{floattable}{Alternative representations}{alternative.representations} {llllll} \topline \keyword{and} & \keyword{and_eq} & \keyword{bitand} & \keyword{bitor} & \keyword{compl} & \keyword{not} \\ @@ -1010,7 +1010,7 @@ represented. \enlargethispage{\baselineskip}% -\begin{LongTable}{Types of integer literals}{tab:lex.type.integer.literal}{l|l|l} +\begin{LongTable}{Types of integer literals}{lex.type.integer.literal}{l|l|l} \\ \topline \lhdr{Suffix} & \chdr{Decimal literal} & \rhdr{Binary, octal, or hexadecimal literal} \\ \capsep \endfirsthead @@ -1268,7 +1268,7 @@ non-standard escape sequences} semantics. An escape sequence specifies a single character. -\begin{floattable}{Escape sequences}{tab:escape.sequences} +\begin{floattable}{Escape sequences}{escape.sequences} {llm} \topline new-line & NL(LF) & \tcode{\textbackslash n} \\ @@ -1665,7 +1665,7 @@ \end{note} \tref{lex.string.concat} has some examples of valid concatenations. -\begin{floattable}{String literal concatenations}{tab:lex.string.concat} +\begin{floattable}{String literal concatenations}{lex.string.concat} {lll|lll|lll} \topline \multicolumn{2}{|c}{Source} & diff --git a/source/lib-intro.tex b/source/lib-intro.tex index ed8c1c6361..bb38b17916 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -22,7 +22,7 @@ \ref{\firstlibchapter}--\ref{\lastlibchapter}, as shown in \tref{library.categories}. -\begin{floattable}{Library categories}{tab:library.categories} +\begin{floattable}{Library categories}{library.categories} {ll} \topline \hdstyle{Clause} & \hdstyle{Category} \\ \capsep @@ -1214,7 +1214,7 @@ \defnx{\Cpp{} library headers}{header!C++ library}, shown in \tref{cpp.library.headers}. -\begin{multicolfloattable}{\Cpp{} library headers}{tab:cpp.library.headers} +\begin{multicolfloattable}{\Cpp{} library headers}{cpp.library.headers} {llll} \tcode{} \\ \tcode{} \\ @@ -1301,7 +1301,7 @@ \tcode{}\indextext{\idxhdr{stdnoreturn.h}!absence thereof}, \tcode{}\indextext{\idxhdr{threads.h}!absence thereof}.} -\begin{multicolfloattable}{\Cpp{} headers for C library facilities}{tab:cpp.c.headers} +\begin{multicolfloattable}{\Cpp{} headers for C library facilities}{cpp.c.headers} {lllllll} \tcode{} \\ \tcode{} \\ @@ -1395,7 +1395,7 @@ that may be declared in some header. These names are also subject to the restrictions of~\ref{macro.names}. -\begin{multicolfloattable}{C standard Annex K names}{tab:c.annex.k.names} +\begin{multicolfloattable}{C standard Annex K names}{c.annex.k.names} {llll} \tcode{abort_handler_s} \\ \tcode{asctime_s} \\ @@ -1493,7 +1493,7 @@ \impldef{headers for freestanding implementation} set of headers. This set shall include at least the headers shown in \tref{cpp.headers.freestanding}. -\begin{libsumtab}{\Cpp{} headers for freestanding implementations}{tab:cpp.headers.freestanding} +\begin{libsumtab}{\Cpp{} headers for freestanding implementations}{cpp.headers.freestanding} \ref{support.types} & Types & \tcode{} \\ \rowsep \ref{support.limits} & Implementation properties & \tcode{}, \tcode{}, \tcode{}, \tcode{} \\ \rowsep @@ -1996,7 +1996,7 @@ \begin{libreqtab2} {Descriptive variable definitions} -{tab:desc.var.def} +{desc.var.def} \\ \topline \lhdr{Variable} & \rhdr{Definition} \\ \capsep \endfirsthead @@ -2033,7 +2033,7 @@ \begin{libreqtab4d} {\oldconcept{Allocator} requirements} -{tab:utilities.allocator.requirements} +{utilities.allocator.requirements} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Default} \\ & & \chdr{pre-/post-condition} & \\ \capsep diff --git a/source/locales.tex b/source/locales.tex index dc1777d9c0..0419195458 100644 --- a/source/locales.tex +++ b/source/locales.tex @@ -16,7 +16,7 @@ locales themselves, the standard facets, and facilities from the ISO C library, as summarized in \tref{localization.lib.summary}. -\begin{libsumtab}{Localization library summary}{tab:localization.lib.summary} +\begin{libsumtab}{Localization library summary}{localization.lib.summary} \ref{locales} & Locales & \tcode{} \\ \ref{locale.categories} & Standard \tcode{locale} categories & \\ \rowsep \ref{c.locales} & C library locales & \tcode{} \\ @@ -342,7 +342,7 @@ in turn, identifies a set of locale facets, including at least those shown in \tref{localization.category.facets}. -\begin{floattable}{Locale category facets}{tab:localization.category.facets} +\begin{floattable}{Locale category facets}{localization.category.facets} {ml} \topline \lhdr{Category} & \rhdr{Includes facets} \\ \capsep @@ -383,7 +383,7 @@ facet templates identified as members of a category, and for those shown in \tref{localization.required.specializations}. -\begin{floattable}{Required specializations}{tab:localization.required.specializations} +\begin{floattable}{Required specializations}{localization.required.specializations} {ml} \topline \lhdr{Category} & \rhdr{Includes facets} \\ \capsep @@ -2113,7 +2113,7 @@ \returns An enumeration value, as summarized in \tref{localization.convert.result.values.out.in}. -\begin{floattable}{\tcode{do_in/do_out} result values}{tab:localization.convert.result.values.out.in} +\begin{floattable}{\tcode{do_in/do_out} result values}{localization.convert.result.values.out.in} {lp{3in}} \topline \lhdr{Value} & \rhdr{Meaning} \\ \capsep @@ -2165,7 +2165,7 @@ \returns An enumeration value, as summarized in \tref{localization.convert.result.values.unshift}. -\begin{floattable}{\tcode{do_unshift} result values}{tab:localization.convert.result.values.unshift} +\begin{floattable}{\tcode{do_unshift} result values}{localization.convert.result.values.unshift} {lp{.50\hsize}} \topline \lhdr{Value} & \rhdr{Meaning} \\ \capsep @@ -2526,7 +2526,7 @@ The table is ordered. That is, the first line whose condition is true applies. -\begin{floattable}{Integer conversions}{tab:localization.integer.conversions.in} +\begin{floattable}{Integer conversions}{localization.integer.conversions.in} {lc} \topline \lhdr{State} & \tcode{stdio} equivalent \\ \capsep @@ -2548,7 +2548,7 @@ A length modifier is added to the conversion specification, if needed, as indicated in \tref{localization.length.modifier.in}. -\begin{floattable}{Length modifier}{tab:localization.length.modifier.in} +\begin{floattable}{Length modifier}{localization.length.modifier.in} {lc} \topline \lhdr{Type} & Length modifier \\ \capsep @@ -2910,7 +2910,7 @@ function determines the integral conversion specifier as indicated in \tref{localization.integer.conversions.out}. -\begin{floattable}{Integer conversions}{tab:localization.integer.conversions.out} +\begin{floattable}{Integer conversions}{localization.integer.conversions.out} {lc} \topline \lhdr{State} & \tcode{stdio} equivalent \\ \capsep @@ -2924,7 +2924,7 @@ For conversion from a floating-point type, the function determines the floating-point conversion specifier as indicated in \tref{localization.fp.conversions.out}. -\begin{floattable}{Floating-point conversions}{tab:localization.fp.conversions.out} +\begin{floattable}{Floating-point conversions}{localization.fp.conversions.out} {lc} \topline \lhdr{State} & \tcode{stdio} equivalent \\ \capsep @@ -2941,7 +2941,7 @@ type a length modifier is added to the conversion specifier as indicated in \tref{localization.length.modifier.out}. -\begin{floattable}{Length modifier}{tab:localization.length.modifier.out} +\begin{floattable}{Length modifier}{localization.length.modifier.out} {lc} \topline \lhdr{Type} & Length modifier \\ \capsep @@ -2956,7 +2956,7 @@ The conversion specifier has the following optional additional qualifiers prepended as indicated in \tref{localization.numeric.conversions}. -\begin{floattable}{Numeric conversions}{tab:localization.numeric.conversions} +\begin{floattable}{Numeric conversions}{localization.numeric.conversions} {llc} \topline \lhdr{Type(s)} & \chdr{State} & \tcode{stdio} equivalent \\ \capsep @@ -3020,7 +3020,7 @@ \textit{not} a padding character.} is determined according to \tref{localization.fill.padding}. -\begin{floattable}{Fill padding}{tab:localization.fill.padding} +\begin{floattable}{Fill padding}{localization.fill.padding} {p{3in}l} \topline \lhdr{State} & \rhdr{Location} \\ \capsep @@ -3813,7 +3813,7 @@ by \tcode{date_order()} as shown in \tref{lib.locale.time.get.virtuals.dogetdate}. -\begin{libtab2}{\tcode{do_get_date} effects}{tab:lib.locale.time.get.virtuals.dogetdate} +\begin{libtab2}{\tcode{do_get_date} effects}{lib.locale.time.get.virtuals.dogetdate} {ll}{\tcode{date_order()}}{Format} \tcode{no_order} & \tcode{"\%m\%d\%y"} \\ \tcode{dmy} & \tcode{"\%d\%m\%y"} \\ @@ -5083,7 +5083,7 @@ \begin{floattable} {Potential \tcode{setlocale} data races} -{tab:setlocale.data.races} +{setlocale.data.races} {lllll} \topline diff --git a/source/numerics.tex b/source/numerics.tex index 6964ec5386..e9510bca75 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -16,7 +16,7 @@ and mathematical functions for floating-point types, as summarized in \tref{numerics.lib.summary}. -\begin{libsumtab}{Numerics library summary}{tab:numerics.lib.summary} +\begin{libsumtab}{Numerics library summary}{numerics.lib.summary} \ref{numeric.requirements} & Requirements & \\ \rowsep \ref{cfenv} & Floating-point environment & \tcode{} \\ \rowsep \ref{complex.numbers} & Complex numbers & \tcode{} \\ \rowsep @@ -1838,7 +1838,7 @@ \begin{libreqtab4d} {Seed sequence requirements} - {tab:SeedSequence} + {SeedSequence} \\ \topline \lhdr{Expression} & \chdr{Return type} @@ -2070,7 +2070,7 @@ \begin{libreqtab4d} {Random number engine requirements} - {tab:RandomEngine} + {RandomEngine} \\ \topline \lhdr{Expression} & \chdr{Return type} @@ -2463,7 +2463,7 @@ \begin{libreqtab4d} {Random number distribution requirements} - {tab:RandomDistribution} + {RandomDistribution} \\ \topline \lhdr{Expression} & \chdr{Return type} diff --git a/source/overloading.tex b/source/overloading.tex index 6df045151e..4017299ab8 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -987,7 +987,7 @@ However, the operands are sequenced in the order prescribed for the built-in operator\iref{expr.compound}. -\begin{floattable}{Relationship between operator and function call notation}{tab:over.rel.op.func} +\begin{floattable}{Relationship between operator and function call notation}{over.rel.op.func} {l|m|m|m} \topline \hdstyle{Subclause} & \hdstyle{Expression} & \hdstyle{As member function} & \hdstyle{As non-member function} \\ \capsep @@ -2185,7 +2185,7 @@ the sequence has Promotion rank; otherwise, the sequence has Exact Match rank. -\begin{floattable}{Conversions}{tab:over.conversions}{l|c|c|c} +\begin{floattable}{Conversions}{over.conversions}{l|c|c|c} \topline \hdstyle{Conversion} & \hdstyle{Category} & \hdstyle{Rank} & \hdstyle{Subclause} \\ \capsep No conversions required & Identity & & \\ \cline{1-2}\cline{4-4} diff --git a/source/preprocessor.tex b/source/preprocessor.tex index 8a523e862b..1f2c35d974 100644 --- a/source/preprocessor.tex +++ b/source/preprocessor.tex @@ -294,7 +294,7 @@ that the availability of an attribute can be detected by any non-zero result. \end{note} -\begin{floattable}{\xname{has_cpp_attribute} values}{tab:cpp.cond.ha} +\begin{floattable}{\xname{has_cpp_attribute} values}{cpp.cond.ha} {ll} \topline \lhdr{Attribute} & \rhdr{Value} \\ \rowsep @@ -1663,7 +1663,7 @@ \end{note} \end{description} -\begin{LongTable}{Feature-test macros}{tab:cpp.predefined.ft}{ll} +\begin{LongTable}{Feature-test macros}{cpp.predefined.ft}{ll} \\ \topline \lhdr{Macro name} & \rhdr{Value} \\ \capsep \endfirsthead diff --git a/source/ranges.tex b/source/ranges.tex index 08f1e6489e..e5ca3a5cab 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -13,7 +13,7 @@ range primitives as summarized in \tref{range.summary}. -\begin{libsumtab}{Ranges library summary}{tab:range.summary} +\begin{libsumtab}{Ranges library summary}{range.summary} \ref{range.access} & Range access & \tcode{} \\ \ref{range.req} & Requirements & \\ \ref{range.utility} & Range utilities & \\ diff --git a/source/regex.tex b/source/regex.tex index 24f60e87f2..071a1b9f91 100644 --- a/source/regex.tex +++ b/source/regex.tex @@ -20,7 +20,7 @@ and two iterator types for enumerating regular expression matches, as summarized in \tref{re.lib.summary}. -\begin{libsumtab}{Regular expressions library summary}{tab:re.lib.summary} +\begin{libsumtab}{Regular expressions library summary}{re.lib.summary} \ref{re.def} & Definitions & \\ \ref{re.req} & Requirements & \\ \rowsep \ref{re.const} & Constants & \tcode{} \\ @@ -125,7 +125,7 @@ \begin{libreqtab3} {Regular expression traits class requirements} - {tab:re:RegexpTraits} + {re:RegexpTraits} \\ \topline \lhdr{Expression} & \chdr{Return type} & \rhdr{Assertion/note pre-/post-condition } \\ \capsep \endfirsthead @@ -661,7 +661,7 @@ \begin{libefftab} {\tcode{syntax_option_type} effects} - {tab:re:syntaxoption} + {re:syntaxoption} % \tcode{icase} & Specifies that matching of regular expressions against a character @@ -800,7 +800,7 @@ \begin{longlibefftab} {\tcode{regex_constants::match_flag_type} effects when obtaining a match against a character container sequence \range{first}{last}.} - {tab:re:matchflag} + {re:matchflag} % \indexlibrary{\idxcode{match_not_bol}}% \tcode{match_not_bol} & @@ -917,7 +917,7 @@ \begin{longliberrtab} {\tcode{error_type} values in the C locale} - {tab:re:errortype} + {re:errortype} \tcode{error_collate} & The expression contained an invalid collating element name. \\ \rowsep @@ -1279,7 +1279,7 @@ the last argument passed to \tcode{imbue}. \end{itemdescr} -\begin{floattable}{Character class names and corresponding \tcode{ctype} masks}{tab:re.traits.classnames}{lll} +\begin{floattable}{Character class names and corresponding \tcode{ctype} masks}{re.traits.classnames}{lll} \topline \lhdr{Narrow character name} & \chdr{Wide character name} & \rhdr{Corresponding \tcode{ctype_base::mask} value} \\\capsep \tcode{"alnum"} & \tcode{L"alnum"} & \tcode{ctype_base::alnum} \\ \rowsep @@ -2604,7 +2604,7 @@ \begin{libefftabvalue} {\tcode{match_results} assignment operator effects} - {tab:re:results:assign} + {re:results:assign} \tcode{ready()} & \tcode{m.ready()} \\ \rowsep \tcode{size()} & \tcode{m.size()} \\ \rowsep \tcode{str(n)} & \tcode{m.str(n)} for all integers \tcode{n < m.size()} \\ \rowsep @@ -3014,7 +3014,7 @@ \begin{longlibefftabvalue} {Effects of \tcode{regex_match} algorithm} - {tab:re:alg:match} + {re:alg:match} \tcode{m.size()} & \tcode{1 + e.mark_count()} @@ -3183,7 +3183,7 @@ \begin{longlibefftabvalue} {Effects of \tcode{regex_search} algorithm} - {tab:re:alg:search} + {re:alg:search} \tcode{m.size()} & \tcode{1 + e.mark_count()} @@ -4050,7 +4050,7 @@ The regular expression grammar may be modified by any \tcode{regex_constants::syntax_option_type} flags specified when constructing an object of type specialization of \tcode{basic_regex} -according to the rules in Table \ref{tab:re:syntaxoption}. +according to the rules in \tref{re:syntaxoption}. \pnum A \tcode{ClassName} production, when used in \tcode{ClassAtomExClass}, diff --git a/source/strings.tex b/source/strings.tex index a11ff9e813..5a447581a8 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -17,7 +17,7 @@ null-terminated sequence utilities, as summarized in \tref{strings.lib.summary}. -\begin{libsumtab}[x{2.1in}]{Strings library summary}{tab:strings.lib.summary} +\begin{libsumtab}[x{2.1in}]{Strings library summary}{strings.lib.summary} \ref{char.traits} & Character traits & \tcode{} \\ \ref{string.classes} & String classes & \\ \rowsep \ref{string.view} & String view classes & \tcode{} \\ \rowsep @@ -109,7 +109,7 @@ \begin{libreqtab4d} {Character traits requirements} -{tab:char.traits.require} +{char.traits.require} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity}\\ & & \chdr{pre-/post-condition} & \\ \capsep @@ -4467,7 +4467,7 @@ \returns The nonzero result if the result of the comparison is nonzero. Otherwise, returns a value as indicated in \tref{string.view.compare}. -\begin{libtab2}{\tcode{compare()} results}{tab:string.view.compare}{cc}{Condition}{Return Value} +\begin{libtab2}{\tcode{compare()} results}{string.view.compare}{cc}{Condition}{Return Value} \tcode{size() < str.size()} & \tcode{< 0}\\ \tcode{size() == str.size()} & \tcode{ \ 0}\\ \tcode{size() > str.size()} & \tcode{> 0}\\ @@ -4804,7 +4804,7 @@ Let \tcode{S} be \tcode{basic_string_view}, and \tcode{sv} be an instance of \tcode{S}. Implementations shall provide sufficient additional overloads marked \tcode{constexpr} and \tcode{noexcept} so that an object \tcode{t} with an implicit conversion to \tcode{S} can be compared according to \tref{string.view.comparison.overloads}. -\begin{libtab2}{Additional \tcode{basic_string_view} comparison overloads}{tab:string.view.comparison.overloads}{cc}{Expression}{Equivalent to} +\begin{libtab2}{Additional \tcode{basic_string_view} comparison overloads}{string.view.comparison.overloads}{cc}{Expression}{Equivalent to} \tcode{t == sv} & \tcode{S(t) == sv} \\ \tcode{sv == t} & \tcode{sv == S(t)} \\ \tcode{t != sv} & \tcode{S(t) != sv} \\ diff --git a/source/support.tex b/source/support.tex index cef8260c55..159f8e845b 100644 --- a/source/support.tex +++ b/source/support.tex @@ -22,7 +22,7 @@ and other runtime support, as summarized in \tref{lang.sup.lib.summary}. -\begin{libsumtab}{Language support library summary}{tab:lang.sup.lib.summary} +\begin{libsumtab}{Language support library summary}{lang.sup.lib.summary} \ref{support.types} & Common definitions & \tcode{}, \tcode{} \\ \rowsep \ref{support.limits} & Implementation properties & @@ -518,7 +518,7 @@ \end{note} \begin{LongTable}{Standard library feature-test macros} -{tab:support.ft}{llx{.3\hsize}} +{support.ft}{llx{.3\hsize}} \\ \topline \lhdr{Macro name} & \chdr{Value} & \rhdr{Header(s)} \\ \capsep \endfirsthead diff --git a/source/tables.tex b/source/tables.tex index e8de70e598..c9f0931156 100644 --- a/source/tables.tex +++ b/source/tables.tex @@ -51,7 +51,7 @@ \newenvironment{floattablebasex}[4] { \begin{table}[#4] - \caption{\label{#2}#1} + \caption{\label{tab:#2}#1} \begin{center} \begin{tabular}{|#3|} } @@ -164,7 +164,7 @@ % produces table at current location \newenvironment{concepttable}[3] { - \begin{floattablebase}{#1}{tab:#2}{#3}{!htb} + \begin{floattablebase}{#1}{#2}{#3}{!htb} } { \end{floattablebase} @@ -187,7 +187,7 @@ \newcommand{\continuedcaption}{\caption[]{#1 (continued)}} \begin{TableBase} \begin{longtable}{|#3|} - \caption{#1}\label{#2} + \caption{#1}\label{tab:#2} } { \bottomline diff --git a/source/templates.tex b/source/templates.tex index 330388169b..8726cd1cac 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -2758,7 +2758,7 @@ if the operator is not listed in \tref{fold.empty}, the instantiation is ill-formed. -\begin{floattable}{Value of folding empty sequences}{tab:fold.empty} +\begin{floattable}{Value of folding empty sequences}{fold.empty} {ll} \topline \lhdr{Operator} & \rhdr{Value when pack is empty} \\ diff --git a/source/threads.tex b/source/threads.tex index 29f354143d..94ae783508 100644 --- a/source/threads.tex +++ b/source/threads.tex @@ -9,7 +9,7 @@ and values between threads, as summarized in \tref{thread.lib.summary}. -\begin{libsumtab}{Thread support library summary}{tab:thread.lib.summary} +\begin{libsumtab}{Thread support library summary}{thread.lib.summary} \ref{thread.req} & Requirements & \\ \rowsep \ref{thread.threads} & Threads & \tcode{} \\ \rowsep \ref{thread.mutex} & Mutual exclusion & diff --git a/source/time.tex b/source/time.tex index 5cc00a3c40..fcfc8d3c3f 100644 --- a/source/time.tex +++ b/source/time.tex @@ -9,7 +9,7 @@ functions\iref{ctime.syn} that provide generally useful time utilities, as summarized in \tref{time.lib.summary}. -\begin{libsumtab}{Time library summary}{tab:time.lib.summary} +\begin{libsumtab}{Time library summary}{time.lib.summary} \ref{time.clock.req} & \oldconcept{Clock} requirements & \\ \rowsep \ref{time.traits} & Time-related traits & \tcode{} \\ \ref{time.duration} & Class template \tcode{duration} & \\ @@ -1037,7 +1037,7 @@ \begin{libreqtab3a} {\oldconcept{Clock} requirements} -{tab:time.clock} +{time.clock} \\ \topline \lhdr{Expression} & \chdr{Return type} & \rhdr{Operational semantics} \\ \capsep \endfirsthead @@ -3983,8 +3983,8 @@ but may hold non-negative values outside this range. It can be constructed with any \tcode{unsigned} value, which will be subsequently truncated to fit into \tcode{day}'s unspecified internal storage. -\tcode{day} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}) -and \oldconcept{LessThanComparable} (Table~\ref{tab:lessthancomparable}), +\tcode{day} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), and participates in basic arithmetic with \tcode{days} objects, which represent a difference between two \tcode{day} objects. @@ -4273,8 +4273,8 @@ but may hold non-negative values outside this range. It can be constructed with any \tcode{unsigned} value, which will be subsequently truncated to fit into \tcode{month}'s unspecified internal storage. -\tcode{month} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}) -and \oldconcept{LessThanComparable} (Table~\ref{tab:lessthancomparable}), +\tcode{month} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), and participates in basic arithmetic with \tcode{months} objects, which represent a difference between two \tcode{month} objects. @@ -4583,8 +4583,8 @@ It can represent values in the range \crange{min()}{max()}. It can be constructed with any \tcode{int} value, which will be subsequently truncated to fit into \tcode{year}'s unspecified internal storage. -\tcode{year} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}) -and \oldconcept{LessThanComparable} (Table~\ref{tab:lessthancomparable}), +\tcode{year} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), and participates in basic arithmetic with \tcode{years} objects, which represent a difference between two \tcode{year} objects. @@ -4929,7 +4929,7 @@ it may hold non-negative values outside this range. It can be constructed with any \tcode{unsigned} value, which will be subsequently truncated to fit into \tcode{weekday}'s unspecified internal storage. -\tcode{weekday} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}). +\tcode{weekday} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}). \begin{note} \tcode{weekday} is not \oldconcept{LessThanComparable} @@ -5493,8 +5493,8 @@ \pnum \tcode{month_day} represents a specific day of a specific month, but with an unspecified year. -\tcode{month_day} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}) -and \oldconcept{LessThanComparable} (Table~\ref{tab:lessthancomparable}). +\tcode{month_day} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{lessthancomparable}). \pnum \tcode{month_day} is a trivially copyable and standard-layout class type. @@ -5979,8 +5979,8 @@ \tcode{year_month} represents a specific month of a specific year, but with an unspecified day. \tcode{year_month} is a field-based time point with a resolution of \tcode{months}. -\tcode{year_month} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}) -and \oldconcept{LessThanComparable} (Table~\ref{tab:lessthancomparable}). +\tcode{year_month} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{lessthancomparable}). \pnum \tcode{year_month} is a trivially copyable and standard-layout class type. @@ -6287,8 +6287,8 @@ For the latter, there is a conversion to \tcode{sys_days}, which efficiently supports \tcode{days}-oriented arithmetic. \end{note} -\tcode{year_month_day} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}) -and \oldconcept{LessThanComparable} (Table~\ref{tab:lessthancomparable}), +\tcode{year_month_day} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), \pnum \tcode{year_month_day} is a trivially copyable and standard-layout class type. @@ -6714,8 +6714,8 @@ For the latter, there is a conversion to \tcode{sys_days}, which efficiently supports \tcode{days}-oriented arithmetic. \end{note} -\tcode{year_month_day_last} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}) -and \oldconcept{LessThanComparable} (Table~\ref{tab:lessthancomparable}), +\tcode{year_month_day_last} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), \pnum \tcode{year_month_day_last} is a trivially copyable and standard-layout class type. @@ -7014,7 +7014,7 @@ For the latter, there is a conversion to \tcode{sys_days}, which efficiently supports \tcode{days}-oriented arithmetic. \end{note} -\tcode{year_month_weekday} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}). +\tcode{year_month_weekday} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}). \pnum \tcode{year_month_weekday} is a trivially copyable and standard-layout class type. @@ -7348,7 +7348,7 @@ For the latter, there is a conversion to \tcode{sys_days}, which efficiently supports \tcode{days}-oriented arithmetic. \end{note} -\tcode{year_month_weekday_last} is \oldconcept{EqualityComparable} (Table~\ref{tab:equalitycomparable}). +\tcode{year_month_weekday_last} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}). \rSec3[time.cal.ymwdlast.members]{Member functions} @@ -10604,7 +10604,7 @@ \pnum Each conversion specifier is replaced by appropriate characters -as described in Table~\ref{tab:time.format.spec}. +as described in \tref{time.format.spec}. Some of the conversion specifiers depend on the locale which is imbued to the \tcode{basic_ostream}. If the \tcode{Streamable} object does not contain @@ -10622,7 +10622,7 @@ and \tcode{\%Z} or \tcode{\%z} are contained in \tcode{fmt}, \tcode{os.setstate(ios_base::failbit)} shall be called. -\begin{LongTable}{Meaning of \tcode{format} conversion specifiers}{tab:time.format.spec}{lx{.8\hsize}} +\begin{LongTable}{Meaning of \tcode{format} conversion specifiers}{time.format.spec}{lx{.8\hsize}} \\ \topline \lhdr{Specifier} & \rhdr{Replacement} \\ \capsep \endfirsthead @@ -10956,7 +10956,7 @@ \tcode{setstate(ios_base::failbit)} is called on the \tcode{basic_istream}. -\begin{LongTable}{Meaning of \tcode{parse} flags}{tab:time.parse.spec}{lx{.8\hsize}} +\begin{LongTable}{Meaning of \tcode{parse} flags}{time.parse.spec}{lx{.8\hsize}} \\ \topline \lhdr{Flag} & \rhdr{Parsed value} \\ \capsep \endfirsthead diff --git a/source/utilities.tex b/source/utilities.tex index 8fc2b69a74..bb6ec3624b 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -8,7 +8,7 @@ of these utilities are used by other elements of the \Cpp{} standard library. These utilities are summarized in \tref{util.lib.summary}. -\begin{libsumtab}{General utilities library summary}{tab:util.lib.summary} +\begin{libsumtab}{General utilities library summary}{util.lib.summary} \ref{utility} & Utility components & \tcode{} \\ \ref{intseq} & Compile-time integer sequences & \\ \ref{pairs} & Pairs & \\ \rowsep @@ -2586,7 +2586,7 @@ \pnum \effects See \tref{optional.assign.copy}. -\begin{lib2dtab2}{\tcode{optional::operator=(const optional\&)} effects}{tab:optional.assign.copy} +\begin{lib2dtab2}{\tcode{optional::operator=(const optional\&)} effects}{optional.assign.copy} {\tcode{*this} contains a value} {\tcode{*this} does not contain a value} @@ -2633,7 +2633,7 @@ \effects See \tref{optional.assign.move}. The result of the expression \tcode{bool(rhs)} remains unchanged. -\begin{lib2dtab2}{\tcode{optional::operator=(optional\&\&)} effects}{tab:optional.assign.move} +\begin{lib2dtab2}{\tcode{optional::operator=(optional\&\&)} effects}{optional.assign.move} {\tcode{*this} contains a value} {\tcode{*this} does not contain a value} @@ -2714,7 +2714,7 @@ \pnum \effects See \tref{optional.assign.copy.templ}. -\begin{lib2dtab2}{\tcode{optional::operator=(const optional\&)} effects}{tab:optional.assign.copy.templ} +\begin{lib2dtab2}{\tcode{optional::operator=(const optional\&)} effects}{optional.assign.copy.templ} {\tcode{*this} contains a value} {\tcode{*this} does not contain a value} @@ -2776,7 +2776,7 @@ \effects See \tref{optional.assign.move.templ}. The result of the expression \tcode{bool(rhs)} remains unchanged. -\begin{lib2dtab2}{\tcode{optional::operator=(optional\&\&)} effects}{tab:optional.assign.move.templ} +\begin{lib2dtab2}{\tcode{optional::operator=(optional\&\&)} effects}{optional.assign.move.templ} {\tcode{*this} contains a value} {\tcode{*this} does not contain a value} @@ -2902,7 +2902,7 @@ \pnum \effects See \tref{optional.swap}. -\begin{lib2dtab2}{\tcode{optional::swap(optional\&)} effects}{tab:optional.swap} +\begin{lib2dtab2}{\tcode{optional::swap(optional\&)} effects}{optional.swap} {\tcode{*this} contains a value} {\tcode{*this} does not contain a value} @@ -16884,7 +16884,7 @@ has a \tcode{value} member that evaluates to \tcode{true}. \end{note} -\begin{libreqtab3e}{Primary type category predicates}{tab:type-traits.primary} +\begin{libreqtab3e}{Primary type category predicates}{type-traits.primary} \\ \topline \lhdr{Template} & \chdr{Condition} & \rhdr{Comments} \\\capsep \endfirsthead @@ -16964,7 +16964,7 @@ For any given type \tcode{T}, the result of applying one of these templates to \tcode{T} and to \cv{}~\tcode{T} shall yield the same result. -\begin{libreqtab3b}{Composite type category predicates}{tab:type-traits.composite} +\begin{libreqtab3b}{Composite type category predicates}{type-traits.composite} \\ \topline \lhdr{Template} & \chdr{Condition} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17027,7 +17027,7 @@ in the context of the corresponding definition notwithstanding the restrictions of~\ref{declval}. -\begin{libreqtab3b}{Type property predicates}{tab:type-traits.properties} +\begin{libreqtab3b}{Type property predicates}{type-traits.properties} \\ \topline \lhdr{Template} & \chdr{Condition} & \rhdr{Preconditions} \\ \capsep \endfirsthead @@ -17506,7 +17506,7 @@ This subclause contains templates that may be used to query properties of types at compile time. -\begin{libreqtab2a}{Type property queries}{tab:type-traits.properties.queries} +\begin{libreqtab2a}{Type property queries}{type-traits.properties.queries} \\ \topline \lhdr{Template} & \rhdr{Value} \\ \capsep \endfirsthead @@ -17581,7 +17581,7 @@ \tcode{true_type} if the corresponding condition is true, otherwise \tcode{false_type}. -\begin{libreqtab3f}{Type relationship predicates}{tab:type-traits.relationship} +\begin{libreqtab3f}{Type relationship predicates}{type-traits.relationship} \\ \topline \lhdr{Template} & \chdr{Condition} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17727,7 +17727,7 @@ \rSec3[meta.trans.cv]{Const-volatile modifications} -\begin{libreqtab2a}{Const-volatile modifications}{tab:type-traits.const-volatile} +\begin{libreqtab2a}{Const-volatile modifications}{type-traits.const-volatile} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17792,7 +17792,7 @@ \rSec3[meta.trans.ref]{Reference modifications} -\begin{libreqtab2a}{Reference modifications}{tab:type-traits.reference} +\begin{libreqtab2a}{Reference modifications}{type-traits.reference} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17831,7 +17831,7 @@ \end{libreqtab2a} \rSec3[meta.trans.sign]{Sign modifications} -\begin{libreqtab2a}{Sign modifications}{tab:type-traits.sign} +\begin{libreqtab2a}{Sign modifications}{type-traits.sign} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17876,7 +17876,7 @@ \end{libreqtab2a} \rSec3[meta.trans.arr]{Array modifications} -\begin{libreqtab2a}{Array modifications}{tab:type-traits.array} +\begin{libreqtab2a}{Array modifications}{type-traits.array} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17925,7 +17925,7 @@ \end{example} \rSec3[meta.trans.ptr]{Pointer modifications} -\begin{libreqtab2a}{Pointer modifications}{tab:type-traits.pointer} +\begin{libreqtab2a}{Pointer modifications}{type-traits.pointer} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17953,7 +17953,7 @@ \rSec3[meta.trans.other]{Other transformations} -\begin{libreqtab2a}{Other transformations}{tab:type-traits.other} +\begin{libreqtab2a}{Other transformations}{type-traits.other} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -18627,7 +18627,7 @@ program is ill-formed unless the implementation yields correct values of \tcode{U} and \tcode{V}. -\begin{floattable}{Expressions used to perform ratio arithmetic}{tab:ratio.arithmetic} +\begin{floattable}{Expressions used to perform ratio arithmetic}{ratio.arithmetic} {lll} \topline \lhdr{Type} & From 8e8b3d710e524a83a9697ec287b14dd81f986cf1 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Fri, 10 May 2019 23:23:14 +0200 Subject: [PATCH 02/24] Fixed initial set of table lables. --- source/basic.tex | 8 ++++---- source/compatibility.tex | 2 +- source/declarations.tex | 4 ++-- source/lex.tex | 34 +++++++++++++++++----------------- source/lib-intro.tex | 2 +- source/overloading.tex | 10 +++++----- source/templates.tex | 6 +++--- 7 files changed, 33 insertions(+), 33 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index 5c250cce73..a84f09678c 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -4568,7 +4568,7 @@ the largest value of the corresponding unsigned type. \end{example} -\begin{floattable}{Minimum width}{width}{ll} +\begin{floattable}{Minimum width}{basic.fundamental.width}{ll} \topline \lhdr{Type} & \rhdr{Minimum width $N$} \\ \capsep @@ -4581,7 +4581,7 @@ \pnum The width of each signed integer type -shall not be less than the values specified in \tref{width}. +shall not be less than the values specified in \tref{basic.fundamental.width}. The value representation of a signed or unsigned integer type comprises $N$ bits, where N is the respective width. Each set of values for any padding bits\iref{basic.types} @@ -4985,10 +4985,10 @@ \pnum There is a partial ordering on cv-qualifiers, so that a type can be said to be \defn{more cv-qualified} than another. -\tref{relations.on.const.and.volatile} shows the relations that +\tref{basic.type.qualifier.rel} shows the relations that constitute this ordering. -\begin{floattable}{Relations on \tcode{const} and \tcode{volatile}}{relations.on.const.and.volatile} +\begin{floattable}{Relations on \tcode{const} and \tcode{volatile}}{basic.type.qualifier.rel} {ccc} \topline \cvqual{no cv-qualifier} &<& \tcode{const} \\ diff --git a/source/compatibility.tex b/source/compatibility.tex index 33e70c15ed..bdcd591c17 100644 --- a/source/compatibility.tex +++ b/source/compatibility.tex @@ -898,7 +898,7 @@ \change New keywords. \rationale Required for new features. \effect -Added to \tref{keywords}, the following identifiers are new keywords: +Added to \tref{lex.key}, the following identifiers are new keywords: \tcode{alignas}, \tcode{alignof}, \tcode{char16_t}, diff --git a/source/declarations.tex b/source/declarations.tex index 724b3c5a2d..ed81cea0a0 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -1349,14 +1349,14 @@ specify either a previously-declared type, a type determined from an expression, or one of the fundamental types\iref{basic.fundamental}. -\tref{simple.type.specifiers} +\tref{dcl.type.simple} summarizes the valid combinations of \grammarterm{simple-type-specifier}{s} and the types they specify. \begin{simpletypetable} {\grammarterm{simple-type-specifier}{s} and the types they specify} -{simple.type.specifiers} +{dcl.type.simple} {ll} \topline \hdstyle{Specifier(s)} & \hdstyle{Type} \\ \capsep diff --git a/source/lex.tex b/source/lex.tex index 3e46a02fb8..6d94beb844 100644 --- a/source/lex.tex +++ b/source/lex.tex @@ -395,9 +395,9 @@ \tcode{[} and \tcode{<:} will be different, maintaining the source spelling, but the tokens can otherwise be freely interchanged. } The set of alternative tokens is defined in -\tref{alternative.tokens}. +\tref{lex.digraph}. -\begin{tokentable}{Alternative tokens}{alternative.tokens}{Alternative}{Primary} +\begin{tokentable}{Alternative tokens}{lex.digraph}{Alternative}{Primary} \tcode{<\%} & \tcode{\{} & \tcode{and} & \tcode{\&\&} & \tcode{and_eq} & \tcode{\&=} \\ \rowsep @@ -583,10 +583,10 @@ An identifier is an arbitrarily long sequence of letters and digits. Each \grammarterm{universal-character-name} in an identifier shall designate a character whose encoding in ISO/IEC 10646 falls into one of the ranges -specified in \tref{charname.allowed}. +specified in \tref{lex.name.allowed}. The initial element shall not be a \grammarterm{universal-character-name} designating a character whose encoding falls into one of the ranges -specified in \tref{charname.disallowed}. +specified in \tref{lex.name.disallowed}. Upper- and lower-case letters are different. All characters are significant.\footnote{On systems in which linkers cannot accept extended characters, an encoding of the \grammarterm{universal-character-name} may be used in @@ -598,7 +598,7 @@ identifiers. In \Cpp{}, upper- and lower-case letters are considered different for all identifiers, including external identifiers. } -\begin{floattable}{Ranges of characters allowed}{charname.allowed} +\begin{floattable}{Ranges of characters allowed}{lex.name.allowed} {lllll} \topline \tcode{00A8} & @@ -648,7 +648,7 @@ \\ \end{floattable} -\begin{floattable}{Ranges of characters disallowed initially (combining characters)}{charname.disallowed} +\begin{floattable}{Ranges of characters disallowed initially (combining characters)}{lex.name.disallowed} {llll} \topline \tcode{0300-036F} & @@ -665,14 +665,14 @@ \indextext{\idxcode{final}}% \indextext{\idxcode{module}}% \indextext{\idxcode{override}}% -The identifiers in \tref{identifiers.special} have a special meaning when +The identifiers in \tref{lex.name.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. Unless otherwise specified, any ambiguity as to whether a given \grammarterm{identifier} has a special meaning is resolved to interpret the token as a regular \grammarterm{identifier}. -\begin{multicolfloattable}{Identifiers with special meaning}{identifiers.special} +\begin{multicolfloattable}{Identifiers with special meaning}{lex.name.special} {lll} \keyword{audit} \\ \keyword{axiom} \\ @@ -713,11 +713,11 @@ \enlargethispage{\baselineskip}% \pnum \indextext{keyword|(}% -The identifiers shown in \tref{keywords} are reserved for use +The identifiers shown in \tref{lex.key} are reserved for use as keywords (that is, they are unconditionally treated as keywords in phase 7) except in an \grammarterm{attribute-token}\iref{dcl.attr.grammar}: -\begin{multicolfloattable}{Keywords}{keywords} +\begin{multicolfloattable}{Keywords}{lex.key} {lllll} \keyword{alignas} \\ \keyword{alignof} \\ @@ -810,12 +810,12 @@ \pnum Furthermore, the alternative representations shown in -\tref{alternative.representations} for certain operators and +\tref{lex.key.digraph} for certain operators and punctuators\iref{lex.digraph} are reserved and shall not be used otherwise: -\begin{floattable}{Alternative representations}{alternative.representations} +\begin{floattable}{Alternative representations}{lex.key.digraph} {llllll} \topline \keyword{and} & \keyword{and_eq} & \keyword{bitand} & \keyword{bitor} & \keyword{compl} & \keyword{not} \\ @@ -1006,11 +1006,11 @@ \indextext{suffix!\idxcode{l}}% \indextext{suffix!\idxcode{u}}% The type of an integer literal is the first of the corresponding list -in \tref{lex.type.integer.literal} in which its value can be +in \tref{lex.icon.type} in which its value can be represented. \enlargethispage{\baselineskip}% -\begin{LongTable}{Types of integer literals}{lex.type.integer.literal}{l|l|l} +\begin{LongTable}{Types of integer literals}{lex.icon.type}{l|l|l} \\ \topline \lhdr{Suffix} & \chdr{Decimal literal} & \rhdr{Binary, octal, or hexadecimal literal} \\ \capsep \endfirsthead @@ -1255,7 +1255,7 @@ \indextext{\idxcode{\textbackslash}|see{backslash character}}% \indextext{escape character|see{backslash character}}% \tcode{\textbackslash}, can be represented according to -\tref{escape.sequences}. +\tref{lex.ccon.esc}. \indextext{escape sequence!undefined}% The double quote \tcode{"} and the question mark \tcode{?}, can be represented as themselves or by the escape sequences @@ -1264,11 +1264,11 @@ shall be represented by the escape sequences \tcode{\textbackslash'} and \tcode{\textbackslash\textbackslash} respectively. Escape sequences in which the character following the backslash is not listed in -\tref{escape.sequences} are conditionally-supported, with \impldef{semantics of +\tref{lex.ccon.esc} are conditionally-supported, with \impldef{semantics of non-standard escape sequences} semantics. An escape sequence specifies a single character. -\begin{floattable}{Escape sequences}{escape.sequences} +\begin{floattable}{Escape sequences}{lex.ccon.esc} {llm} \topline new-line & NL(LF) & \tcode{\textbackslash n} \\ diff --git a/source/lib-intro.tex b/source/lib-intro.tex index bb38b17916..65cd140197 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -2629,7 +2629,7 @@ A translation unit shall not \tcode{\#define} or \tcode{\#undef} names lexically identical to keywords, -to the identifiers listed in \tref{identifiers.special}, +to the identifiers listed in \tref{lex.name.special}, to the \grammarterm{attribute-token}{s} described in~\ref{dcl.attr}, or to the identifiers \tcode{expects} or \tcode{ensures}, except that the names \tcode{likely} and \tcode{unlikely} may be diff --git a/source/overloading.tex b/source/overloading.tex index 4017299ab8..098ec2b670 100644 --- a/source/overloading.tex +++ b/source/overloading.tex @@ -982,12 +982,12 @@ operator. Therefore, the operator notation is first transformed to the equivalent function-call notation as summarized in -\tref{over.rel.op.func} +\tref{over.match.oper} (where \tcode{@} denotes one of the operators covered in the specified subclause). However, the operands are sequenced in the order prescribed for the built-in operator\iref{expr.compound}. -\begin{floattable}{Relationship between operator and function call notation}{over.rel.op.func} +\begin{floattable}{Relationship between operator and function call notation}{over.match.oper} {l|m|m|m} \topline \hdstyle{Subclause} & \hdstyle{Expression} & \hdstyle{As member function} & \hdstyle{As non-member function} \\ \capsep @@ -2140,7 +2140,7 @@ \rSec4[over.ics.scs]{Standard conversion sequences} \pnum -\tref{over.conversions} +\tref{over.ics.scs} summarizes the conversions defined in \ref{conv} and partitions them into four disjoint categories: Lvalue Transformation, Qualification Adjustment, Promotion, and Conversion. @@ -2172,7 +2172,7 @@ \pnum \indextext{conversion rank}% -Each conversion in \tref{over.conversions} +Each conversion in \tref{over.ics.scs} also has an associated rank (Exact Match, Promotion, or Conversion). These are used @@ -2185,7 +2185,7 @@ the sequence has Promotion rank; otherwise, the sequence has Exact Match rank. -\begin{floattable}{Conversions}{over.conversions}{l|c|c|c} +\begin{floattable}{Conversions}{over.ics.scs}{l|c|c|c} \topline \hdstyle{Conversion} & \hdstyle{Category} & \hdstyle{Rank} & \hdstyle{Subclause} \\ \capsep No conversions required & Identity & & \\ \cline{1-2}\cline{4-4} diff --git a/source/templates.tex b/source/templates.tex index 8726cd1cac..d8fec12d11 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -2754,11 +2754,11 @@ which evaluates to \tcode{false}. \end{example} If $N$ is zero for a unary fold-expression, -the value of the expression is shown in \tref{fold.empty}; -if the operator is not listed in \tref{fold.empty}, +the value of the expression is shown in \tref{temp.fold.empty}; +if the operator is not listed in \tref{temp.fold.empty}, the instantiation is ill-formed. -\begin{floattable}{Value of folding empty sequences}{fold.empty} +\begin{floattable}{Value of folding empty sequences}{temp.fold.empty} {ll} \topline \lhdr{Operator} & \rhdr{Value when pack is empty} \\ From 0cc4db906d57cb16534fe35c4ad3b303beebac77 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 21 May 2019 09:10:17 +0200 Subject: [PATCH 03/24] [numerics] Fix table labels. --- source/numerics.tex | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/numerics.tex b/source/numerics.tex index e9510bca75..c83044dccc 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -1809,7 +1809,7 @@ satisfies the requirements of a seed sequence if the expressions shown -in \tref{SeedSequence} +in \tref{rand.req.seedseq} are valid and have the indicated semantics, and if \tcode{S} also satisfies all other requirements of this subclause \ref{rand.req.seedseq}. @@ -1838,7 +1838,7 @@ \begin{libreqtab4d} {Seed sequence requirements} - {SeedSequence} + {rand.req.seedseq} \\ \topline \lhdr{Expression} & \chdr{Return type} @@ -2036,7 +2036,7 @@ also satisfies the requirements of a \term{random number engine} if the expressions shown -in \tref{RandomEngine} +in \tref{rand.req.eng} are valid and have the indicated semantics, and if \tcode{E} also satisfies all other requirements of this subclause \ref{rand.req.eng}. @@ -2070,7 +2070,7 @@ \begin{libreqtab4d} {Random number engine requirements} - {RandomEngine} + {rand.req.eng} \\ \topline \lhdr{Expression} & \chdr{Return type} @@ -2419,7 +2419,7 @@ satisfies the requirements of a \term{random number distribution} if the expressions shown -in \tref{RandomDistribution} +in \tref{rand.req.dist} are valid and have the indicated semantics, and if \tcode{D} and its associated types also satisfy all other requirements @@ -2463,7 +2463,7 @@ \begin{libreqtab4d} {Random number distribution requirements} - {RandomDistribution} + {rand.req.dist} \\ \topline \lhdr{Expression} & \chdr{Return type} From 5f1f2c25bd573a1669e0c5f7e2042643aa4856a0 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 21 May 2019 13:05:07 +0200 Subject: [PATCH 04/24] [utilities] Fix table labels. --- source/utilities.tex | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index bb6ec3624b..46c3e29d01 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16884,7 +16884,7 @@ has a \tcode{value} member that evaluates to \tcode{true}. \end{note} -\begin{libreqtab3e}{Primary type category predicates}{type-traits.primary} +\begin{libreqtab3e}{Primary type category predicates}{meta.unary.cat} \\ \topline \lhdr{Template} & \chdr{Condition} & \rhdr{Comments} \\\capsep \endfirsthead @@ -16964,7 +16964,7 @@ For any given type \tcode{T}, the result of applying one of these templates to \tcode{T} and to \cv{}~\tcode{T} shall yield the same result. -\begin{libreqtab3b}{Composite type category predicates}{type-traits.composite} +\begin{libreqtab3b}{Composite type category predicates}{meta.unary.comp} \\ \topline \lhdr{Template} & \chdr{Condition} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17027,7 +17027,7 @@ in the context of the corresponding definition notwithstanding the restrictions of~\ref{declval}. -\begin{libreqtab3b}{Type property predicates}{type-traits.properties} +\begin{libreqtab3b}{Type property predicates}{meta.unary.prop} \\ \topline \lhdr{Template} & \chdr{Condition} & \rhdr{Preconditions} \\ \capsep \endfirsthead @@ -17506,7 +17506,7 @@ This subclause contains templates that may be used to query properties of types at compile time. -\begin{libreqtab2a}{Type property queries}{type-traits.properties.queries} +\begin{libreqtab2a}{Type property queries}{meta.unary.prop.query} \\ \topline \lhdr{Template} & \rhdr{Value} \\ \capsep \endfirsthead @@ -17581,7 +17581,7 @@ \tcode{true_type} if the corresponding condition is true, otherwise \tcode{false_type}. -\begin{libreqtab3f}{Type relationship predicates}{type-traits.relationship} +\begin{libreqtab3f}{Type relationship predicates}{meta.rel} \\ \topline \lhdr{Template} & \chdr{Condition} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17727,7 +17727,7 @@ \rSec3[meta.trans.cv]{Const-volatile modifications} -\begin{libreqtab2a}{Const-volatile modifications}{type-traits.const-volatile} +\begin{libreqtab2a}{Const-volatile modifications}{meta.trans.cv} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17792,7 +17792,7 @@ \rSec3[meta.trans.ref]{Reference modifications} -\begin{libreqtab2a}{Reference modifications}{type-traits.reference} +\begin{libreqtab2a}{Reference modifications}{meta.trans.ref} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17831,7 +17831,7 @@ \end{libreqtab2a} \rSec3[meta.trans.sign]{Sign modifications} -\begin{libreqtab2a}{Sign modifications}{type-traits.sign} +\begin{libreqtab2a}{Sign modifications}{meta.trans.sign} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17876,7 +17876,7 @@ \end{libreqtab2a} \rSec3[meta.trans.arr]{Array modifications} -\begin{libreqtab2a}{Array modifications}{type-traits.array} +\begin{libreqtab2a}{Array modifications}{meta.trans.arr} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17925,7 +17925,7 @@ \end{example} \rSec3[meta.trans.ptr]{Pointer modifications} -\begin{libreqtab2a}{Pointer modifications}{type-traits.pointer} +\begin{libreqtab2a}{Pointer modifications}{meta.trans.ptr} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead @@ -17953,7 +17953,7 @@ \rSec3[meta.trans.other]{Other transformations} -\begin{libreqtab2a}{Other transformations}{type-traits.other} +\begin{libreqtab2a}{Other transformations}{meta.trans.other} \\ \topline \lhdr{Template} & \rhdr{Comments} \\ \capsep \endfirsthead From 69a9f2301077766c90138ee947fb2ea6924680d0 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:14:36 +0200 Subject: [PATCH 05/24] [thread] Fix table labels. --- source/threads.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/threads.tex b/source/threads.tex index 94ae783508..b6b63ce8a3 100644 --- a/source/threads.tex +++ b/source/threads.tex @@ -7,9 +7,9 @@ The following subclauses describe components to create and manage threads\iref{intro.multithread}, perform mutual exclusion, and communicate conditions and values -between threads, as summarized in \tref{thread.lib.summary}. +between threads, as summarized in \tref{thread.summary}. -\begin{libsumtab}{Thread support library summary}{thread.lib.summary} +\begin{libsumtab}{Thread support library summary}{thread.summary} \ref{thread.req} & Requirements & \\ \rowsep \ref{thread.threads} & Threads & \tcode{} \\ \rowsep \ref{thread.mutex} & Mutual exclusion & @@ -3915,7 +3915,7 @@ \begin{itemdescr} \pnum \requires \tcode{Alloc} shall satisfy the \oldconcept{Allocator} -requirements (\tref{utilities.allocator.requirements}). +requirements (\tref{allocator.req}). \end{itemdescr} From a5955d095a4f5cb943fa445a2f8267ced5ce8377 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:15:37 +0200 Subject: [PATCH 06/24] [re] Fix table labels. --- source/regex.tex | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/source/regex.tex b/source/regex.tex index 071a1b9f91..4398840ead 100644 --- a/source/regex.tex +++ b/source/regex.tex @@ -18,9 +18,9 @@ result of a regular expression match, a series of algorithms that allow a character sequence to be operated upon by a regular expression, and two iterator types for -enumerating regular expression matches, as summarized in \tref{re.lib.summary}. +enumerating regular expression matches, as summarized in \tref{re.summary}. -\begin{libsumtab}{Regular expressions library summary}{re.lib.summary} +\begin{libsumtab}{Regular expressions library summary}{re.summary} \ref{re.def} & Definitions & \\ \ref{re.req} & Requirements & \\ \rowsep \ref{re.const} & Constants & \tcode{} \\ @@ -108,7 +108,7 @@ \indextext{requirements!regular expression traits}% \indextext{regular expression!requirements}% \indextext{locale}% -In \tref{re:RegexpTraits} \tcode{X} denotes a traits class +In \tref{re.req} \tcode{X} denotes a traits class defining types and functions for the character container type \tcode{charT}; \tcode{u} is an object of type \tcode{X}; \tcode{v} is an object of type \tcode{const @@ -125,7 +125,7 @@ \begin{libreqtab3} {Regular expression traits class requirements} - {re:RegexpTraits} + {re.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \rhdr{Assertion/note pre-/post-condition } \\ \capsep \endfirsthead @@ -654,14 +654,14 @@ \indexlibrary{\idxcode{syntax_option_type}!\idxcode{egrep}}% The type \tcode{syntax_option_type} is an \impldef{type of \tcode{syntax_option_type}} bitmask type\iref{bitmask.types}. Setting its elements has the effects listed in -\tref{re:syntaxoption}. A valid value of type +\tref{re.synopt}. A valid value of type \tcode{syntax_option_type} shall have at most one of the grammar elements \tcode{ECMAScript}, \tcode{basic}, \tcode{extended}, \tcode{awk}, \tcode{grep}, \tcode{egrep}, set. If no grammar element is set, the default grammar is \tcode{ECMAScript}. \begin{libefftab} {\tcode{syntax_option_type} effects} - {re:syntaxoption} + {re.synopt} % \tcode{icase} & Specifies that matching of regular expressions against a character @@ -794,13 +794,13 @@ \tcode{format_default} constants are empty bitmasks. Matching a regular expression against a sequence of characters \range{first}{last} proceeds according to the rules of the grammar specified for the regular -expression object, modified according to the effects listed in \tref{re:matchflag} for +expression object, modified according to the effects listed in \tref{re.matchflag} for any bitmask elements set. \begin{longlibefftab} {\tcode{regex_constants::match_flag_type} effects when obtaining a match against a character container sequence \range{first}{last}.} - {re:matchflag} + {re.matchflag} % \indexlibrary{\idxcode{match_not_bol}}% \tcode{match_not_bol} & @@ -913,11 +913,11 @@ The type \tcode{error_type} is an \impldef{type of \tcode{regex_constants::error_type}} enumerated type\iref{enumerated.types}. Values of type \tcode{error_type} represent the error -conditions described in \tref{re:errortype}: +conditions described in \tref{re.err}: \begin{longliberrtab} {\tcode{error_type} values in the C locale} - {re:errortype} + {re.err} \tcode{error_collate} & The expression contained an invalid collating element name. \\ \rowsep @@ -2573,7 +2573,7 @@ \begin{itemdescr} \pnum \effects\ Move constructs an object of class \tcode{match_results} from \tcode{m} -satisfying the same postconditions as \tref{re:results:assign}. Additionally, +satisfying the same postconditions as \tref{re.results.const}. Additionally, the stored \tcode{Allocator} value is move constructed from \tcode{m.get_allocator()}. \pnum @@ -2588,7 +2588,7 @@ \begin{itemdescr} \pnum \effects Assigns \tcode{m} to \tcode{*this}. The postconditions of this -function are indicated in \tref{re:results:assign}. +function are indicated in \tref{re.results.const}. \end{itemdescr} \indexlibrarymember{match_results}{operator=}% @@ -2599,12 +2599,12 @@ \begin{itemdescr} \pnum \effects\ Move-assigns \tcode{m} to \tcode{*this}. The postconditions of this function -are indicated in \tref{re:results:assign}. +are indicated in \tref{re.results.const}. \end{itemdescr} \begin{libefftabvalue} {\tcode{match_results} assignment operator effects} - {re:results:assign} + {re.results.const} \tcode{ready()} & \tcode{m.ready()} \\ \rowsep \tcode{size()} & \tcode{m.size()} \\ \rowsep \tcode{str(n)} & \tcode{m.str(n)} for all integers \tcode{n < m.size()} \\ \rowsep @@ -3009,12 +3009,12 @@ on parameter \tcode{m} is unspecified except that \tcode{m.size()} returns \tcode{0} and \tcode{m.empty()} returns \tcode{true}. Otherwise the effects on parameter \tcode{m} are given in -\tref{re:alg:match}. +\tref{re.alg.match}. \end{itemdescr} \begin{longlibefftabvalue} {Effects of \tcode{regex_match} algorithm} - {re:alg:match} + {re.alg.match} \tcode{m.size()} & \tcode{1 + e.mark_count()} @@ -3178,12 +3178,12 @@ If the function returns \tcode{false}, then the effect on parameter \tcode{m} is unspecified except that \tcode{m.size()} returns \tcode{0} and \tcode{m.empty()} returns \tcode{true}. Otherwise -the effects on parameter \tcode{m} are given in \tref{re:alg:search}. +the effects on parameter \tcode{m} are given in \tref{re.alg.search}. \end{itemdescr} \begin{longlibefftabvalue} {Effects of \tcode{regex_search} algorithm} - {re:alg:search} + {re.alg.search} \tcode{m.size()} & \tcode{1 + e.mark_count()} @@ -4050,7 +4050,7 @@ The regular expression grammar may be modified by any \tcode{regex_constants::syntax_option_type} flags specified when constructing an object of type specialization of \tcode{basic_regex} -according to the rules in \tref{re:syntaxoption}. +according to the rules in \tref{re.synopt}. \pnum A \tcode{ClassName} production, when used in \tcode{ClassAtomExClass}, From bceda0d7f88c98f9a34028e1bc6c0549c18cfa79 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:17:26 +0200 Subject: [PATCH 07/24] [atomics] Fix table labels. --- source/atomics.tex | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/atomics.tex b/source/atomics.tex index 87fde35025..dd0a8aba40 100644 --- a/source/atomics.tex +++ b/source/atomics.tex @@ -9,9 +9,9 @@ \pnum The following subclauses describe atomics requirements and components for types -and operations, as summarized in \tref{atomics.lib.summary}. +and operations, as summarized in \tref{atomics.summary}. -\begin{libsumtab}{Atomics library summary}{atomics.lib.summary} +\begin{libsumtab}{Atomics library summary}{atomics.summary} \ref{atomics.alias} & Type aliases & \tcode{} \\ \ref{atomics.order} & Order and consistency & \\ \ref{atomics.lockfree} & Lock-free property & \\ @@ -1000,7 +1000,7 @@ \pnum The following operations perform arithmetic computations. The key, operator, and computation correspondence is identified -in \tref{atomic.arithmetic.computations}. +in \tref{atomic.types.int.comp}. \indexlibrarymember{fetch_add}{atomic_ref<\placeholder{integral}>}% \indexlibrarymember{fetch_and}{atomic_ref<\placeholder{integral}>}% @@ -1114,7 +1114,7 @@ \pnum The following operations perform arithmetic computations. The key, operator, and computation correspondence are identified -in \tref{atomic.arithmetic.computations}. +in \tref{atomic.types.int.comp}. \indexlibrarymember{fetch_add}{atomic_ref<\placeholder{floating-point}>}% \indexlibrarymember{fetch_sub}{atomic_ref<\placeholder{floating-point}>}% @@ -1213,7 +1213,7 @@ \pnum The following operations perform arithmetic computations. The key, operator, and computation correspondence is identified -in \tref{atomic.pointer.computations}. +in \tref{atomic.types.pointer.comp}. \indexlibrarymember{fetch_add}{atomic_ref}% \indexlibrarymember{fetch_sub}{atomic_ref}% @@ -1849,7 +1849,7 @@ The following operations perform arithmetic computations. The key, operator, and computation correspondence is: \begin{floattable} -{Atomic arithmetic computations}{atomic.arithmetic.computations}{lll|lll} +{Atomic arithmetic computations}{atomic.types.int.comp}{lll|lll} \hline \hdstyle{\tcode{\placeholder{key}}} & \hdstyle{Op} & @@ -2020,7 +2020,7 @@ \pnum The following operations perform arithmetic addition and subtraction computations. The key, operator, and computation correspondence are identified in -\tref{atomic.arithmetic.computations}. +\tref{atomic.types.int.comp}. \indexlibrary{\idxcode{atomic_fetch_add}}% \indexlibrary{\idxcode{atomic_fetch_sub}}% @@ -2158,7 +2158,7 @@ and computation correspondence is: \begin{floattable} -{Atomic pointer computations}{atomic.pointer.computations}{lll|lll} +{Atomic pointer computations}{atomic.types.pointer.comp}{lll|lll} \hline \tcode{Key} & Op & From a5a70741430219a8b1facaed695e382b045f4abb Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:17:58 +0200 Subject: [PATCH 08/24] [concepts] Fix table labels. --- source/concepts.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/concepts.tex b/source/concepts.tex index fd03f997c4..408599b53f 100644 --- a/source/concepts.tex +++ b/source/concepts.tex @@ -12,9 +12,9 @@ \pnum The following subclauses describe language-related concepts, comparison concepts, object concepts, and callable concepts as summarized in -\tref{concepts.lib.summary}. +\tref{concepts.summary}. -\begin{libsumtab}{Fundamental concepts library summary}{concepts.lib.summary} +\begin{libsumtab}{Fundamental concepts library summary}{concepts.summary} \ref{concepts.equality} & Equality preservation & \\ \hline \ref{concepts.lang} & Language-related concepts & \tcode{} \\ \ref{concepts.compare} & Comparison concepts & \\ From 5b131dec1a8e9fa2dc4055d39e7652542b7bcbf7 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:18:09 +0200 Subject: [PATCH 09/24] [numerics] Fix table labels. --- source/numerics.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/numerics.tex b/source/numerics.tex index c83044dccc..e6b0124a71 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -14,9 +14,9 @@ \textit{n}-at-a-time) arrays, generalized numeric algorithms, and mathematical functions for floating-point types, -as summarized in \tref{numerics.lib.summary}. +as summarized in \tref{numerics.summary}. -\begin{libsumtab}{Numerics library summary}{numerics.lib.summary} +\begin{libsumtab}{Numerics library summary}{numerics.summary} \ref{numeric.requirements} & Requirements & \\ \rowsep \ref{cfenv} & Floating-point environment & \tcode{} \\ \rowsep \ref{complex.numbers} & Complex numbers & \tcode{} \\ \rowsep From eed6417c73deab1e7bca0b779927fa6a7c1a60b9 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:18:32 +0200 Subject: [PATCH 10/24] [containers] Fix table labels. --- source/containers.tex | 96 +++++++++++++++++++++---------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index f6f42e1dd9..d78fb9175a 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -14,9 +14,9 @@ sequence containers and associative containers, as summarized in -\tref{containers.lib.summary}. +\tref{containers.summary}. -\begin{libsumtab}{Containers library summary}{containers.lib.summary} +\begin{libsumtab}{Containers library summary}{containers.summary} \ref{container.requirements} & Requirements & \\ \rowsep \ref{sequences} & Sequence containers & \tcode{}, \tcode{}, \tcode{}, @@ -68,9 +68,9 @@ \end{note} \pnum -In Tables~\ref{tab:containers.container.requirements}, -\ref{tab:containers.reversible.requirements}, and -\ref{tab:containers.optional.operations} +In Tables~\ref{tab:container.req}, +\ref{tab:container.rev.req}, and +\ref{tab:container.opt} \tcode{X} denotes a container class containing objects of type \tcode{T}, \tcode{a} and \tcode{b} denote values of type \tcode{X}, \tcode{u} @@ -80,7 +80,7 @@ \begin{libreqtab5} {Container requirements} -{containers.container.requirements} +{container.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \chdr{Assertion/note} & \rhdr{Complexity} \\ @@ -359,11 +359,11 @@ the container is called \term{reversible} and satisfies the additional requirements -in \tref{containers.reversible.requirements}. +in \tref{container.rev.req}. \begin{libreqtab4a} {Reversible container requirements} -{containers.reversible.requirements} +{container.rev.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity} \\ @@ -459,18 +459,18 @@ model \libconcept{ContiguousIterator}\iref{iterator.concept.contiguous}. \pnum -\tref{containers.optional.operations} lists operations that are provided +\tref{container.opt} lists operations that are provided for some types of containers but not others. Those containers for which the listed operations are provided shall implement the semantics described in -\tref{containers.optional.operations} unless otherwise stated. +\tref{container.opt} unless otherwise stated. If the iterators passed to \tcode{lexicographical_compare} satisfy the constexpr iterator requirements\iref{iterator.requirements.general} -then the operations described in \tref{containers.optional.operations} +then the operations described in \tref{container.opt} are implemented by constexpr functions. \begin{libreqtab5} {Optional container operations} -{containers.optional.operations} +{container.opt} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \chdr{Assertion/note} & \rhdr{Complexity} \\ @@ -515,7 +515,7 @@ \pnum All of the containers defined in this Clause and in~\ref{basic.string} except \tcode{array} meet the additional requirements of an allocator-aware container, as described in -\tref{containers.allocatoraware}. +\tref{container.alloc.req}. Given an allocator type \tcode{A} and given a container type \tcode{X} having a \tcode{value_type} identical to \tcode{T} @@ -600,7 +600,7 @@ \end{note} \pnum -In \tref{containers.allocatoraware}, \tcode{X} denotes an allocator-aware container class +In \tref{container.alloc.req}, \tcode{X} denotes an allocator-aware container class with a \tcode{value_type} of \tcode{T} using allocator of type \tcode{A}, \tcode{u} denotes a variable, \tcode{a} and \tcode{b} denote non-const lvalues of type \tcode{X}, @@ -609,7 +609,7 @@ \begin{libreqtab4a} {Allocator-aware container requirements} -{containers.allocatoraware} +{container.alloc.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity} \\ @@ -780,8 +780,8 @@ \end{note} \pnum -In Tables~\ref{tab:containers.sequence.requirements} -and \ref{tab:containers.sequence.optional}, +In Tables~\ref{tab:container.seq.req} +and \ref{tab:container.seq.opt}, \tcode{X} denotes a sequence container class, \tcode{a} denotes a value of type \tcode{X} containing elements of type \tcode{T}, \tcode{u} denotes the name of a variable being declared, @@ -814,7 +814,7 @@ \begin{libreqtab3} {Sequence container requirements (in addition to container)} -{containers.sequence.requirements} +{container.seq.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \rhdr{Assertion/note} \\ & & \rhdr{pre-/post-condition} \\ \capsep @@ -1043,7 +1043,7 @@ \end{itemize} \pnum -\tref{containers.sequence.optional} lists operations +\tref{container.seq.opt} lists operations that are provided for some types of sequence containers but not others. An implementation shall provide @@ -1053,7 +1053,7 @@ \begin{libreqtab4a} {Optional sequence container operations} -{containers.sequence.optional} +{container.seq.opt} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational semantics} & \rhdr{Container} \\ \capsep \endfirsthead @@ -1214,9 +1214,9 @@ ownership to another container with compatible nodes. Containers with compatible nodes have the same node handle type. Elements may be transferred in either direction between container types in the same row of -\tref{containers.node.compat}. +\tref{container.node.compat}. -\begin{floattable}{Container types with compatible nodes}{containers.node.compat} +\begin{floattable}{Container types with compatible nodes}{container.node.compat} {ll} \topline \tcode{map} & \tcode{map} \\ @@ -1255,7 +1255,7 @@ template<@\unspecnc@> class @\placeholder{node-handle}@ { public: - // These type declarations are described in Tables \ref{tab:containers.associative.requirements} and \ref{tab:HashRequirements}. + // These type declarations are described in Tables \ref{tab:container.assoc.req} and \ref{tab:container.hash.req}. using value_type = @\seebelownc{}@; // not present for map containers using key_type = @\seebelownc{}@; // not present for set containers using mapped_type = @\seebelownc{}@; // not present for set containers @@ -1578,18 +1578,18 @@ The associative containers meet all the requirements of Allocator-aware containers\iref{container.requirements.general}, except that for \tcode{map} and \tcode{multimap}, the requirements placed on \tcode{value_type} -in \tref{containers.allocatoraware} apply instead to \tcode{key_type} +in \tref{container.alloc.req} apply instead to \tcode{key_type} and \tcode{mapped_type}. \begin{note} For example, in some cases \tcode{key_type} and \tcode{mapped_type} are required to be \oldconcept{CopyAssignable} even though the associated \tcode{value_type}, \tcode{pair}, is not \oldconcept{CopyAssignable}. \end{note} \pnum -In \tref{containers.associative.requirements}, +In \tref{container.assoc.req}, \tcode{X} denotes an associative container class, \tcode{a} denotes a value of type \tcode{X}, \tcode{a2} denotes a value of a type with nodes compatible with type -\tcode{X} (\tref{containers.node.compat}), +\tcode{X} (\tref{container.node.compat}), \tcode{b} denotes a possibly \tcode{const} value of type \tcode{X}, \tcode{u} denotes the name of a variable being declared, \tcode{a_uniq} denotes a value of type \tcode{X} @@ -1636,7 +1636,7 @@ \begin{libreqtab4b} {Associative container requirements (in addition to container)} -{containers.associative.requirements} +{container.assoc.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity} \\ & & \chdr{pre-/post-condition} & \\ \capsep @@ -2248,7 +2248,7 @@ The unordered associative containers meet all the requirements of Allocator-aware containers\iref{container.requirements.general}, except that for \tcode{unordered_map} and \tcode{unordered_multimap}, the requirements placed on \tcode{value_type} -in \tref{containers.allocatoraware} apply instead to \tcode{key_type} +in \tref{container.alloc.req} apply instead to \tcode{key_type} and \tcode{mapped_type}. \begin{note} For example, \tcode{key_type} and \tcode{mapped_type} are sometimes required to be \oldconcept{CopyAssignable} even though the associated \tcode{value_type}, \tcode{pair}, is not @@ -2261,12 +2261,12 @@ \indextext{unordered associative containers!unique keys}% \indextext{unordered associative containers!equivalent keys}% \indextext{requirements!container}% -In \tref{HashRequirements}: +In \tref{container.hash.req}: \begin{itemize} \item \tcode{X} denotes an unordered associative container class, \item \tcode{a} denotes a value of type \tcode{X}, \item \tcode{a2} denotes a value of a type with nodes compatible - with type \tcode{X} (\tref{containers.node.compat}), + with type \tcode{X} (\tref{container.node.compat}), \item \tcode{b} denotes a possibly const value of type \tcode{X}, \item \tcode{a_uniq} denotes a value of type \tcode{X} when \tcode{X} supports unique keys, @@ -2312,7 +2312,7 @@ \begin{libreqtab4d} {Unordered associative container requirements (in addition to container)} - {HashRequirements} + {container.hash.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity} \\ & & \chdr{pre-/post-condition} & \\ \capsep @@ -2506,7 +2506,7 @@ \tcode{X(b)}\br \tcode{X a(b);} & \tcode{X} & Copy constructor. In addition to the requirements - of \tref{containers.container.requirements}, copies the + of \tref{container.req}, copies the hash function, predicate, and maximum load factor. & Average case linear in \tcode{b.size()}, worst case quadratic. \\ \rowsep @@ -2514,7 +2514,7 @@ \tcode{a = b} & \tcode{X\&} & Copy assignment operator. In addition to the - requirements of \tref{containers.container.requirements}, copies + requirements of \tref{container.req}, copies the hash function, predicate, and maximum load factor. & Average case linear in \tcode{b.size()}, worst case quadratic. \\ \rowsep @@ -3625,7 +3625,7 @@ \tcode{deque} satisfies all of the requirements of a container, of a reversible container (given in tables in~\ref{container.requirements}), of a sequence container, -including the optional sequence container requirements\iref{sequence.reqmts}, and of an allocator-aware container (\tref{containers.allocatoraware}). +including the optional sequence container requirements\iref{sequence.reqmts}, and of an allocator-aware container (\tref{container.alloc.req}). Descriptions are provided here only for operations on \tcode{deque} that are not described in one of these tables @@ -4017,13 +4017,13 @@ \pnum A \tcode{forward_list} satisfies all of the requirements of a container -(\tref{containers.container.requirements}), except that the \tcode{size()} +(\tref{container.req}), except that the \tcode{size()} member function is not provided and \tcode{operator==} has linear complexity. A \tcode{forward_list} also satisfies all of the requirements for an allocator-aware -container (\tref{containers.allocatoraware}). In addition, a \tcode{forward_list} +container (\tref{container.alloc.req}). In addition, a \tcode{forward_list} provides the \tcode{assign} member functions -(\tref{containers.sequence.requirements}) and several of the optional -container requirements (\tref{containers.sequence.optional}). +(\tref{container.seq.req}) and several of the optional +container requirements (\tref{container.seq.opt}). Descriptions are provided here only for operations on \tcode{forward_list} that are not described in that table or for operations where there is additional semantic information. @@ -4734,7 +4734,7 @@ \ref{container.requirements}), of a sequence container, including most of the optional sequence container requirements\iref{sequence.reqmts}, and of an allocator-aware container -(\tref{containers.allocatoraware}). +(\tref{container.alloc.req}). The exceptions are the \tcode{operator[]} and @@ -5424,7 +5424,7 @@ reversible container (given in two tables in~\ref{container.requirements}), of a sequence container, including most of the optional sequence container requirements\iref{sequence.reqmts}, of an allocator-aware container -(\tref{containers.allocatoraware}), +(\tref{container.alloc.req}), and, for an element type other than \tcode{bool}, of a contiguous container\iref{container.requirements.general}. The exceptions are the @@ -6300,7 +6300,7 @@ A \tcode{map} satisfies all of the requirements of a container, of a reversible container\iref{container.requirements}, of -an associative container\iref{associative.reqmts}, and of an allocator-aware container (\tref{containers.allocatoraware}). +an associative container\iref{associative.reqmts}, and of an allocator-aware container (\tref{container.alloc.req}). A \tcode{map} also provides most operations described in~\ref{associative.reqmts} @@ -6848,7 +6848,7 @@ \tcode{multimap} satisfies all of the requirements of a container and of a reversible container\iref{container.requirements}, of an associative container\iref{associative.reqmts}, and of an allocator-aware container -(\tref{containers.allocatoraware}). +(\tref{container.alloc.req}). A \tcode{multimap} also provides most operations described in~\ref{associative.reqmts} @@ -7169,7 +7169,7 @@ A \tcode{set} satisfies all of the requirements of a container, of a reversible container\iref{container.requirements}, of an associative container\iref{associative.reqmts}, and of an allocator-aware container -(\tref{containers.allocatoraware}). +(\tref{container.alloc.req}). A \tcode{set} also provides most operations described in~\ref{associative.reqmts} @@ -7448,7 +7448,7 @@ A \tcode{multiset} satisfies all of the requirements of a container, of a reversible container\iref{container.requirements}, of an associative container\iref{associative.reqmts}, and of an allocator-aware container -(\tref{containers.allocatoraware}). +(\tref{container.alloc.req}). \tcode{multiset} also provides most operations described in~\ref{associative.reqmts} for duplicate keys. @@ -7880,7 +7880,7 @@ supports forward iterators. \pnum -An \tcode{unordered_map} satisfies all of the requirements of a container, of an unordered associative container, and of an allocator-aware container (\tref{containers.allocatoraware}). It provides the operations described in the preceding requirements table for unique keys; that is, an \tcode{unordered_map} supports the \tcode{a_uniq} operations in that table, not the \tcode{a_eq} operations. For an \tcode{unordered_map} the \tcode{key type} is \tcode{Key}, the mapped type is \tcode{T}, and the value type is \tcode{pair}. +An \tcode{unordered_map} satisfies all of the requirements of a container, of an unordered associative container, and of an allocator-aware container (\tref{container.alloc.req}). It provides the operations described in the preceding requirements table for unique keys; that is, an \tcode{unordered_map} supports the \tcode{a_uniq} operations in that table, not the \tcode{a_eq} operations. For an \tcode{unordered_map} the \tcode{key type} is \tcode{Key}, the mapped type is \tcode{T}, and the value type is \tcode{pair}. \pnum This subclause only describes operations on \tcode{unordered_map} that @@ -8482,7 +8482,7 @@ \pnum An \tcode{unordered_multimap} satisfies all of the requirements of a container, of an unordered associative container, and of an allocator-aware container -(\tref{containers.allocatoraware}). It provides the operations described in the +(\tref{container.alloc.req}). It provides the operations described in the preceding requirements table for equivalent keys; that is, an \tcode{unordered_multimap} supports the \tcode{a_eq} operations in that table, not the \tcode{a_uniq} operations. For an \tcode{unordered_multimap} the \tcode{key type} is \tcode{Key}, the @@ -8869,7 +8869,7 @@ supports forward iterators. \pnum -An \tcode{unordered_set} satisfies all of the requirements of a container, of an unordered associative container, and of an allocator-aware container (\tref{containers.allocatoraware}). It provides the operations described in the preceding requirements table for unique keys; that is, an \tcode{unordered_set} supports the \tcode{a_uniq} operations in that table, not the \tcode{a_eq} operations. For an \tcode{unordered_set} the \tcode{key type} and the value type are both \tcode{Key}. The \tcode{iterator} and \tcode{const_iterator} types are both constant iterator types. It is unspecified whether they are the same type. +An \tcode{unordered_set} satisfies all of the requirements of a container, of an unordered associative container, and of an allocator-aware container (\tref{container.alloc.req}). It provides the operations described in the preceding requirements table for unique keys; that is, an \tcode{unordered_set} supports the \tcode{a_uniq} operations in that table, not the \tcode{a_eq} operations. For an \tcode{unordered_set} the \tcode{key type} and the value type are both \tcode{Key}. The \tcode{iterator} and \tcode{const_iterator} types are both constant iterator types. It is unspecified whether they are the same type. \pnum This subclause only describes operations on \tcode{unordered_set} that @@ -9207,7 +9207,7 @@ \pnum An \tcode{unordered_multiset} satisfies all of the requirements of a container, of an unordered associative container, and of an allocator-aware container -(\tref{containers.allocatoraware}). It provides the operations described in the +(\tref{container.alloc.req}). It provides the operations described in the preceding requirements table for equivalent keys; that is, an \tcode{unordered_multiset} supports the \tcode{a_eq} operations in that table, not the \tcode{a_uniq} operations. For an \tcode{unordered_multiset} the \tcode{key type} and the value type are From 0997bb2f5d5eb8989d0f3a0189bad5747494585d Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:18:47 +0200 Subject: [PATCH 11/24] [strings] Fix table labels. --- source/strings.tex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/strings.tex b/source/strings.tex index 5a447581a8..55f00eb3b6 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -15,9 +15,9 @@ The following subclauses describe a character traits class, string classes, and null-terminated sequence utilities, -as summarized in \tref{strings.lib.summary}. +as summarized in \tref{strings.summary}. -\begin{libsumtab}[x{2.1in}]{Strings library summary}{strings.lib.summary} +\begin{libsumtab}[x{2.1in}]{Strings library summary}{strings.summary} \ref{char.traits} & Character traits & \tcode{} \\ \ref{string.classes} & String classes & \\ \rowsep \ref{string.view} & String view classes & \tcode{} \\ \rowsep @@ -69,7 +69,7 @@ \rSec2[char.traits.require]{Character traits requirements} \pnum -In \tref{char.traits.require}, +In \tref{char.traits.req}, \tcode{X} denotes a traits class defining types and functions for the character container type @@ -109,7 +109,7 @@ \begin{libreqtab4d} {Character traits requirements} -{char.traits.require} +{char.traits.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Complexity}\\ & & \chdr{pre-/post-condition} & \\ \capsep @@ -1299,7 +1299,7 @@ \pnum \effects Constructs a string from the values in the range \range{begin}{end}, -as indicated in \tref{containers.sequence.requirements}. +as indicated in \tref{container.seq.req}. \end{itemdescr} \indexlibrary{\idxcode{basic_string}!constructor}% From b99653b2b639769dea0e99947f10f50ee4767ced Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:19:04 +0200 Subject: [PATCH 12/24] [iterators] Fix table labels. --- source/iterators.tex | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/source/iterators.tex b/source/iterators.tex index 5477d918c2..e041c281c1 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -17,9 +17,9 @@ iterator primitives, predefined iterators, and stream iterators, -as summarized in \tref{iterators.lib.summary}. +as summarized in \tref{iterators.summary}. -\begin{libsumtab}{Iterators library summary}{iterators.lib.summary} +\begin{libsumtab}{Iterators library summary}{iterators.summary} \ref{iterator.requirements} & Iterator requirements & \tcode{} \\ \ref{iterator.primitives} & Iterator primitives & \\ \ref{predef.iterators} & Iterator adaptors & \\ @@ -1746,13 +1746,13 @@ \oldconcept{Destructible} requirements\iref{utility.arg.requirements} and lvalues of type \tcode{X} are swappable\iref{swappable.requirements}, and -\item the expressions in \tref{iterator.requirements} are valid and have +\item the expressions in \tref{iterator} are valid and have the indicated semantics. \end{itemize} \begin{libreqtab4b} {\oldconcept{Iterator} requirements} -{iterator.requirements} +{iterator} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -1785,11 +1785,11 @@ if \tcode{X} satisfies the \oldconcept{Iterator}\iref{iterator.iterators} and \oldconcept{EqualityComparable} (\tref{equalitycomparable}) requirements and -the expressions in \tref{iterator.input.requirements} are valid and have +the expressions in \tref{inputiterator} are valid and have the indicated semantics. \pnum -In \tref{iterator.input.requirements}, the term +In \tref{inputiterator}, the term \term{the domain of \tcode{==}} is used in the ordinary mathematical sense to denote the set of values over which @@ -1819,7 +1819,7 @@ \begin{libreqtab4b} {\oldconcept{InputIterator} requirements (in addition to \oldconcept{Iterator})} -{iterator.input.requirements} +{inputiterator} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -1889,12 +1889,12 @@ \tcode{X} satisfies the requirements of an output iterator if \tcode{X} satisfies the \oldconcept{Iterator} requirements\iref{iterator.iterators} -and the expressions in \tref{iterator.output.requirements} +and the expressions in \tref{outputiterator} are valid and have the indicated semantics. \begin{libreqtab4b} {\oldconcept{OutputIterator} requirements (in addition to \oldconcept{Iterator})} -{iterator.output.requirements} +{outputiterator} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -1958,7 +1958,7 @@ \item if \tcode{X} is a mutable iterator, \tcode{reference} is a reference to \tcode{T}; if \tcode{X} is a constant iterator, \tcode{reference} is a reference to \tcode{const T}, -\item the expressions in \tref{iterator.forward.requirements} +\item the expressions in \tref{forwarditerator} are valid and have the indicated semantics, and \item objects of type \tcode{X} offer the multi-pass guarantee, described below. @@ -1996,7 +1996,7 @@ \begin{libreqtab4b} {\oldconcept{ForwardIterator} requirements (in addition to \oldconcept{InputIterator})} -{iterator.forward.requirements} +{forwarditerator} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -2033,11 +2033,11 @@ \tcode{X} satisfies the requirements of a bidirectional iterator if, in addition to satisfying the \oldconcept{ForwardIterator} requirements, -the following expressions are valid as shown in \tref{iterator.bidirectional.requirements}. +the following expressions are valid as shown in \tref{bidirectionaliterator}. \begin{libreqtab4b} {\oldconcept{BidirectionalIterator} requirements (in addition to \oldconcept{ForwardIterator})} -{iterator.bidirectional.requirements} +{bidirectionaliterator} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -2078,11 +2078,11 @@ \tcode{X} satisfies the requirements of a random access iterator if, in addition to satisfying the \oldconcept{BidirectionalIterator} requirements, -the following expressions are valid as shown in \tref{iterator.random.access.requirements}. +the following expressions are valid as shown in \tref{randomaccessiterator}. \begin{libreqtab4b} {\oldconcept{RandomAccessIterator} requirements (in addition to \oldconcept{BidirectionalIterator})} -{iterator.random.access.requirements} +{randomaccessiterator} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep From 6841d3ee37e1d7e4b967d09cef1c892479ff79f6 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:19:17 +0200 Subject: [PATCH 13/24] [time] Fix table labels. --- source/time.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/time.tex b/source/time.tex index fcfc8d3c3f..887f7b6360 100644 --- a/source/time.tex +++ b/source/time.tex @@ -7,9 +7,9 @@ \indexlibrary{\idxcode{chrono}}% This Clause describes the chrono library\iref{time.syn} and various C functions\iref{ctime.syn} that provide generally useful time -utilities, as summarized in \tref{time.lib.summary}. +utilities, as summarized in \tref{time.summary}. -\begin{libsumtab}{Time library summary}{time.lib.summary} +\begin{libsumtab}{Time library summary}{time.summary} \ref{time.clock.req} & \oldconcept{Clock} requirements & \\ \rowsep \ref{time.traits} & Time-related traits & \tcode{} \\ \ref{time.duration} & Class template \tcode{duration} & \\ From 2b5a57fbb18798ba2aa6150a3d87775ea27077dc Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:19:25 +0200 Subject: [PATCH 14/24] [utilities] Fix table labels. --- source/utilities.tex | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 46c3e29d01..26d2bc12bf 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -6,9 +6,9 @@ \pnum This Clause describes utilities that are generally useful in \Cpp{} programs; some of these utilities are used by other elements of the \Cpp{} standard library. -These utilities are summarized in \tref{util.lib.summary}. +These utilities are summarized in \tref{utilities.summary}. -\begin{libsumtab}{General utilities library summary}{util.lib.summary} +\begin{libsumtab}{General utilities library summary}{utilities.summary} \ref{utility} & Utility components & \tcode{} \\ \ref{intseq} & Compile-time integer sequences & \\ \ref{pairs} & Pairs & \\ \rowsep @@ -1426,7 +1426,7 @@ \begin{itemdescr} \pnum \requires \tcode{Alloc} shall satisfy the -\oldconcept{Allocator} requirements (\tref{utilities.allocator.requirements}). +\oldconcept{Allocator} requirements (\tref{allocator.req}). \pnum \effects Equivalent to the preceding constructors except that each element is constructed with @@ -2086,7 +2086,7 @@ \begin{itemdescr} \pnum \requires \tcode{Alloc} shall satisfy the \oldconcept{Allocator} -requirements (\tref{utilities.allocator.requirements}). +requirements (\tref{allocator.req}). \pnum \begin{note} Specialization of this trait informs other library components that @@ -7359,7 +7359,7 @@ disambiguate constructor and function overloading. Specifically, several types (see \tcode{tuple}~\ref{tuple}) have constructors with \tcode{allocator_arg_t} as the first argument, immediately followed by an argument of a type that satisfies the -\oldconcept{Allocator} requirements (\tref{utilities.allocator.requirements}). +\oldconcept{Allocator} requirements (\tref{allocator.req}). \rSec2[allocator.uses]{\tcode{uses_allocator}} @@ -9025,7 +9025,7 @@ satisfy the \oldconcept{NullablePointer} requirements (\tref{nullablepointer}). \pnum -\begin{example} Given an allocator type \tcode{X} (\tref{utilities.allocator.requirements}) and +\begin{example} Given an allocator type \tcode{X} (\tref{allocator.req}) and letting \tcode{A} be a synonym for \tcode{allocator_traits}, the types \tcode{A::pointer}, \tcode{A::const_pointer}, \tcode{A::void_pointer}, and \tcode{A::const_void_pointer} may be used as \tcode{unique_ptr::pointer}. \end{example} @@ -10173,7 +10173,7 @@ The expression \tcode{d(p)} shall have well-defined behavior and shall not throw exceptions. \tcode{A} shall satisfy the \oldconcept{Allocator} requirements -(\tref{utilities.allocator.requirements}). +(\tref{allocator.req}). \pnum\effects Constructs a \tcode{shared_ptr} object that owns the object \tcode{p} and the deleter \tcode{d}. @@ -10585,7 +10585,7 @@ \begin{itemdescr} \pnum \requires \tcode{A} shall satisfy the \oldconcept{Allocator} -requirements (\tref{utilities.allocator.requirements}). +requirements (\tref{allocator.req}). \pnum \effects Allocates memory for an object of type \tcode{T} @@ -12339,7 +12339,7 @@ \pnum A specialization of class template \tcode{pmr::polymorphic_allocator} -satisfies the \oldconcept{Allocator} requirements (\tref{utilities.allocator.requirements}). +satisfies the \oldconcept{Allocator} requirements (\tref{allocator.req}). Constructed with different memory resources, different instances of the same specialization of \tcode{pmr::polymorphic_allocator} can exhibit entirely different allocation behavior. From 602c6fb7cf90e910e2a4690d83591fa5b49bde7c Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:19:47 +0200 Subject: [PATCH 15/24] [localizatiom] Fix table labels. --- source/locales.tex | 78 +++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/source/locales.tex b/source/locales.tex index 0419195458..cda404916f 100644 --- a/source/locales.tex +++ b/source/locales.tex @@ -14,9 +14,9 @@ \pnum The following subclauses describe components for locales themselves, the standard facets, and facilities -from the ISO C library, as summarized in \tref{localization.lib.summary}. +from the ISO C library, as summarized in \tref{localization.summary}. -\begin{libsumtab}{Localization library summary}{localization.lib.summary} +\begin{libsumtab}{Localization library summary}{localization.summary} \ref{locales} & Locales & \tcode{} \\ \ref{locale.categories} & Standard \tcode{locale} categories & \\ \rowsep \ref{c.locales} & C library locales & \tcode{} \\ @@ -340,9 +340,9 @@ value identifies a set of locale categories. Each locale category, in turn, identifies a set of locale facets, including at least those -shown in \tref{localization.category.facets}. +shown in \tref{locale.category.facets}. -\begin{floattable}{Locale category facets}{localization.category.facets} +\begin{floattable}{Locale category facets}{locale.category.facets} {ml} \topline \lhdr{Category} & \rhdr{Includes facets} \\ \capsep @@ -369,7 +369,7 @@ either constructed, or returned by \tcode{locale::classic()}, and any facet \tcode{Facet} -shown in \tref{localization.category.facets}, +shown in \tref{locale.category.facets}, \tcode{has_facet(loc)} is \tcode{true}. Each @@ -381,9 +381,9 @@ \pnum An implementation is required to provide those specializations for facet templates identified as members of a category, and for those -shown in \tref{localization.required.specializations}. +shown in \tref{locale.spec}. -\begin{floattable}{Required specializations}{localization.required.specializations} +\begin{floattable}{Required specializations}{locale.spec} {ml} \topline \lhdr{Category} & \rhdr{Includes facets} \\ \capsep @@ -1174,7 +1174,7 @@ for character classing during input parsing. \pnum -The specializations required in \tref{localization.category.facets}\iref{locale.category}, namely +The specializations required in \tref{locale.category.facets}\iref{locale.category}, namely \tcode{ctype} and \tcode{ctype}, @@ -1895,7 +1895,7 @@ argument selects the pair of character encodings being mapped between. \pnum -The specializations required in \tref{localization.category.facets}\iref{locale.category} +The specializations required in \tref{locale.category.facets}\iref{locale.category} convert the implementation-defined native character set. \tcode{codecvt} implements a degenerate conversion; @@ -2111,9 +2111,9 @@ \pnum \returns -An enumeration value, as summarized in \tref{localization.convert.result.values.out.in}. +An enumeration value, as summarized in \tref{locale.codecvt.inout}. -\begin{floattable}{\tcode{do_in/do_out} result values}{localization.convert.result.values.out.in} +\begin{floattable}{\tcode{do_in/do_out} result values}{locale.codecvt.inout} {lp{3in}} \topline \lhdr{Value} & \rhdr{Meaning} \\ \capsep @@ -2163,9 +2163,9 @@ \pnum \returns -An enumeration value, as summarized in \tref{localization.convert.result.values.unshift}. +An enumeration value, as summarized in \tref{locale.codecvt.unshift}. -\begin{floattable}{\tcode{do_unshift} result values}{localization.convert.result.values.unshift} +\begin{floattable}{\tcode{do_unshift} result values}{locale.codecvt.unshift} {lp{.50\hsize}} \topline \lhdr{Value} & \rhdr{Meaning} \\ \capsep @@ -2318,8 +2318,8 @@ and \tcode{num_get} in the subclauses of~\ref{category.numeric} only apply to the -specializations required in Tables~\ref{tab:localization.category.facets} -and~\ref{tab:localization.required.specializations}\iref{locale.category}, namely +specializations required in Tables~\ref{tab:locale.category.facets} +and~\ref{tab:locale.spec}\iref{locale.category}, namely \tcode{num_get}, \tcode{num_get}, \tcode{num_get}, @@ -2522,11 +2522,11 @@ For conversion to an integral type, the function determines the integral conversion specifier as indicated in -\tref{localization.integer.conversions.in}. +\tref{facet.num.get.int}. The table is ordered. That is, the first line whose condition is true applies. -\begin{floattable}{Integer conversions}{localization.integer.conversions.in} +\begin{floattable}{Integer conversions}{facet.num.get.int} {lc} \topline \lhdr{State} & \tcode{stdio} equivalent \\ \capsep @@ -2546,9 +2546,9 @@ \tcode{\%p}. A length modifier is added to the conversion specification, if needed, -as indicated in \tref{localization.length.modifier.in}. +as indicated in \tref{facet.num.get.length}. -\begin{floattable}{Length modifier}{localization.length.modifier.in} +\begin{floattable}{Length modifier}{facet.num.get.length} {lc} \topline \lhdr{Type} & Length modifier \\ \capsep @@ -2908,9 +2908,9 @@ For conversion from an integral type other than a character type, the function determines the integral conversion specifier as indicated in -\tref{localization.integer.conversions.out}. +\tref{facet.num.put.int}. -\begin{floattable}{Integer conversions}{localization.integer.conversions.out} +\begin{floattable}{Integer conversions}{facet.num.put.int} {lc} \topline \lhdr{State} & \tcode{stdio} equivalent \\ \capsep @@ -2922,9 +2922,9 @@ \end{floattable} For conversion from a floating-point type, the function determines -the floating-point conversion specifier as indicated in \tref{localization.fp.conversions.out}. +the floating-point conversion specifier as indicated in \tref{facet.num.put.fp}. -\begin{floattable}{Floating-point conversions}{localization.fp.conversions.out} +\begin{floattable}{Floating-point conversions}{facet.num.put.fp} {lc} \topline \lhdr{State} & \tcode{stdio} equivalent \\ \capsep @@ -2939,9 +2939,9 @@ For conversions from an integral or floating-point type a length modifier is added to the -conversion specifier as indicated in \tref{localization.length.modifier.out}. +conversion specifier as indicated in \tref{facet.num.put.length}. -\begin{floattable}{Length modifier}{localization.length.modifier.out} +\begin{floattable}{Length modifier}{facet.num.put.length} {lc} \topline \lhdr{Type} & Length modifier \\ \capsep @@ -2954,9 +2954,9 @@ \end{floattable} The conversion specifier has the following optional additional qualifiers -prepended as indicated in \tref{localization.numeric.conversions}. +prepended as indicated in \tref{facet.num.put.conv}. -\begin{floattable}{Numeric conversions}{localization.numeric.conversions} +\begin{floattable}{Numeric conversions}{facet.num.put.conv} {llc} \topline \lhdr{Type(s)} & \chdr{State} & \tcode{stdio} equivalent \\ \capsep @@ -3018,9 +3018,9 @@ \tcode{0} which is \textit{not} -a padding character.} is determined according to \tref{localization.fill.padding}. +a padding character.} is determined according to \tref{facet.num.put.fill}. -\begin{floattable}{Fill padding}{localization.fill.padding} +\begin{floattable}{Fill padding}{facet.num.put.fill} {p{3in}l} \topline \lhdr{State} & \rhdr{Location} \\ \capsep @@ -3126,7 +3126,7 @@ \pnum \tcode{numpunct<>} specifies numeric punctuation. -The specializations required in \tref{localization.category.facets}\iref{locale.category}, namely +The specializations required in \tref{locale.category.facets}\iref{locale.category}, namely \tcode{numpunct<\brk{}wchar_t>} and \tcode{numpunct}, @@ -3368,7 +3368,7 @@ \tcode{operator()}, uses the collate facet to allow a locale to act directly as the predicate argument for standard algorithms\iref{algorithms} and containers operating on strings. -The specializations required in \tref{localization.category.facets}\iref{locale.category}, namely +The specializations required in \tref{locale.category.facets}\iref{locale.category}, namely \tcode{collate} and \tcode{collate}, @@ -3431,7 +3431,7 @@ if the first string is greater than the second, \tcode{-1} if less, zero otherwise. -The specializations required in \tref{localization.category.facets}\iref{locale.category}, namely +The specializations required in \tref{locale.category.facets}\iref{locale.category}, namely \tcode{collate} and \tcode{collate}, @@ -3509,8 +3509,8 @@ and \tcode{time_get} in the subclauses of~\ref{category.time} only apply to the -specializations required in Tables~\ref{tab:localization.category.facets} -and~\ref{tab:localization.required.specializations}\iref{locale.category}. +specializations required in Tables~\ref{tab:locale.category.facets} +and~\ref{tab:locale.spec}\iref{locale.category}. Their members use their \tcode{ios_base\&}, \tcode{ios_base::iostate\&}, @@ -3811,9 +3811,9 @@ to produce one of the following formats, or until it encounters an error. The format depends on the value returned by \tcode{date_order()} as shown in -\tref{lib.locale.time.get.virtuals.dogetdate}. +\tref{locale.time.get.dogetdate}. -\begin{libtab2}{\tcode{do_get_date} effects}{lib.locale.time.get.virtuals.dogetdate} +\begin{libtab2}{\tcode{do_get_date} effects}{locale.time.get.dogetdate} {ll}{\tcode{date_order()}}{Format} \tcode{no_order} & \tcode{"\%m\%d\%y"} \\ \tcode{dmy} & \tcode{"\%d\%m\%y"} \\ @@ -4118,8 +4118,8 @@ and \tcode{money_get} in the subclauses of~\ref{category.monetary} only apply to the -specializations required in Tables~\ref{tab:localization.category.facets} -and~\ref{tab:localization.required.specializations}\iref{locale.category}. +specializations required in Tables~\ref{tab:locale.category.facets} +and~\ref{tab:locale.spec}\iref{locale.category}. Their members use their \tcode{ios_base\&}, \tcode{ios_base::io\-state\&}, @@ -4825,7 +4825,7 @@ \begin{itemdescr} \pnum \returns -The specializations required in \tref{localization.required.specializations}\iref{locale.category}, namely +The specializations required in \tref{locale.spec}\iref{locale.category}, namely \tcode{moneypunct}, \tcode{moneypunct<\brk{}wchar_t>}, \tcode{moneypunct}, From a061ad9f4b6f9317019414e98e15f7a88bba8ccb Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:20:00 +0200 Subject: [PATCH 16/24] [diagnostics] Fix table labels. --- source/diagnostics.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/diagnostics.tex b/source/diagnostics.tex index 021fe7c49a..63dfcbd9d2 100644 --- a/source/diagnostics.tex +++ b/source/diagnostics.tex @@ -12,9 +12,9 @@ reporting several kinds of exceptional conditions, documenting program assertions, and a global variable for error number codes, -as summarized in \tref{diagnostics.lib.summary}. +as summarized in \tref{diagnostics.summary}. -\begin{libsumtab}{Diagnostics library summary}{diagnostics.lib.summary} +\begin{libsumtab}{Diagnostics library summary}{diagnostics.summary} \ref{std.exceptions} & Exception classes & \tcode{} \\ \rowsep \ref{assertions} & Assertions & \tcode{} \\ \rowsep \ref{errno} & Error numbers & \tcode{} \\ \rowsep From e2c43fa0952aacd606b357c503a8ac7f8581a43c Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:20:10 +0200 Subject: [PATCH 17/24] [support] Fix table labels. --- source/support.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/support.tex b/source/support.tex index 159f8e845b..bdadc0a7a8 100644 --- a/source/support.tex +++ b/source/support.tex @@ -20,9 +20,9 @@ support for contract violation handling, support for exception processing, support for initializer lists, and other runtime support, -as summarized in \tref{lang.sup.lib.summary}. +as summarized in \tref{support.summary}. -\begin{libsumtab}{Language support library summary}{lang.sup.lib.summary} +\begin{libsumtab}{Language support library summary}{support.summary} \ref{support.types} & Common definitions & \tcode{}, \tcode{} \\ \rowsep \ref{support.limits} & Implementation properties & From 1eb50987879534ed73caaa3a8e67f36a3c5b8265 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:20:29 +0200 Subject: [PATCH 18/24] [depr] Fix table lables. --- source/future.tex | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/source/future.tex b/source/future.tex index 2932fda2cb..df4411b8e9 100644 --- a/source/future.tex +++ b/source/future.tex @@ -109,9 +109,9 @@ For compatibility with the \indextext{library!C standard}% C standard library, the \Cpp{} standard library provides -the \defnx{C headers}{headers!C library} shown in \tref{future.c.headers}. +the \defnx{C headers}{headers!C library} shown in \tref{depr.c.headers}. -\begin{multicolfloattable}{C headers}{future.c.headers} +\begin{multicolfloattable}{C headers}{depr.c.headers} {lllll} \tcode{} \\ \tcode{} \\ @@ -514,10 +514,10 @@ \tcode{strstreambuf}, initializing the base class with \tcode{streambuf()}. -The postconditions of this function are indicated in \tref{future.strstreambuf.effects}. +The postconditions of this function are indicated in \tref{depr.strstreambuf.cons.sz}. \end{itemdescr} -\begin{libtab2}{\tcode{strstreambuf(streamsize)} effects}{future.strstreambuf.effects} +\begin{libtab2}{\tcode{strstreambuf(streamsize)} effects}{depr.strstreambuf.cons.sz} {ll} {Element}{Value} \tcode{strmode} & \tcode{dynamic} \\ @@ -538,10 +538,10 @@ \tcode{strstreambuf}, initializing the base class with \tcode{streambuf()}. -The postconditions of this function are indicated in \tref{future.strstreambuf1.effects}. +The postconditions of this function are indicated in \tref{depr.strstreambuf.cons.alloc}. \begin{libtab2}{\tcode{strstreambuf(void* (*)(size_t), void (*)(void*))} effects} -{future.strstreambuf1.effects} +{depr.strstreambuf.cons.alloc} {ll} {Element}{Value} \tcode{strmode} & \tcode{dynamic} \\ @@ -568,10 +568,10 @@ \tcode{strstreambuf}, initializing the base class with \tcode{streambuf()}. -The postconditions of this function are indicated in \tref{future.strstreambuf2.effects}. +The postconditions of this function are indicated in \tref{depr.strstreambuf.cons.ptr}. \begin{libtab2}{\tcode{strstreambuf(charT*, streamsize, charT*)} effects} -{future.strstreambuf2.effects} +{depr.strstreambuf.cons.ptr} {ll} {Element}{Value} \tcode{strmode} & 0 \\ @@ -897,9 +897,9 @@ \pnum \effects Alters the stream position within one of the -controlled sequences, if possible, as indicated in \tref{future.seekoff.positioning}. +controlled sequences, if possible, as indicated in \tref{depr.strstreambuf.seekoff.pos}. -\begin{libtab2}{\tcode{seekoff} positioning}{future.seekoff.positioning} +\begin{libtab2}{\tcode{seekoff} positioning}{depr.strstreambuf.seekoff.pos} {p{2.5in}l}{Conditions}{Result} \tcode{(which \& ios::in) != 0} & positions the input sequence \\ \rowsep @@ -919,9 +919,9 @@ For a sequence to be positioned, if its next pointer is a null pointer, the positioning operation fails. Otherwise, the function determines \tcode{newoff} as indicated in -\tref{future.newoff.values}. +\tref{depr.strstreambuf.seekoff.newoff}. -\begin{libtab2}{\tcode{newoff} values}{future.newoff.values} +\begin{libtab2}{\tcode{newoff} values}{depr.strstreambuf.seekoff.newoff} {p{2.0in}p{2.0in}}{Condition}{\tcode{newoff} Value} \tcode{way == ios::beg} & 0 \\ \rowsep @@ -2340,7 +2340,7 @@ \pnum The \tcode{ctype} locale category includes the following facets as if they were specified -in table \tref{localization.category.facets} of \ref{locale.category}. +in table \tref{locale.category.facets} of \ref{locale.category}. \begin{codeblock} codecvt @@ -2350,7 +2350,7 @@ \pnum The \tcode{ctype} locale category includes the following facets as if they were specified -in table \tref{localization.required.specializations} of \ref{locale.category}. +in table \tref{locale.spec} of \ref{locale.category}. \begin{codeblock} codecvt_byname From 84cd499217779913b76eff07abb465b639d1c4fa Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:38:01 +0200 Subject: [PATCH 19/24] [iostreams] Fix table labels. --- source/iostreams.tex | 75 ++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/source/iostreams.tex b/source/iostreams.tex index 58479a6ae2..b471f7b88c 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -18,9 +18,9 @@ stream formatting and manipulators, string streams, and file streams, -as summarized in \tref{iostreams.lib.summary}. +as summarized in \tref{iostreams.summary}. -\begin{libsumtab}{Input/output library summary}{iostreams.lib.summary} +\begin{libsumtab}{Input/output library summary}{iostreams.summary} \ref{iostreams.requirements} & Requirements & \\ \rowsep \ref{iostream.forward} & Forward declarations & \tcode{} \\ \rowsep \ref{iostream.objects} & Standard iostream objects & \tcode{} \\ \rowsep @@ -963,9 +963,9 @@ The type \tcode{fmtflags} is a bitmask type\iref{bitmask.types}. -Setting its elements has the effects indicated in \tref{iostreams.fmtflags.effects}. +Setting its elements has the effects indicated in \tref{ios.fmtflags}. -\begin{libefftab}{\tcode{fmtflags} effects}{iostreams.fmtflags.effects} +\begin{libefftab}{\tcode{fmtflags} effects}{ios.fmtflags} \tcode{boolalpha} & insert and extract \tcode{bool} type in alphabetic format\\ \tcode{dec} & @@ -1002,9 +1002,9 @@ \pnum Type \tcode{fmtflags} -also defines the constants indicated in \tref{iostreams.fmtflags.constants}. +also defines the constants indicated in \tref{ios.fmtflags.const}. -\begin{floattable}{\tcode{fmtflags} constants}{iostreams.fmtflags.constants} +\begin{floattable}{\tcode{fmtflags} constants}{ios.fmtflags.const} {ll} \topline \lhdr{Constant} & \rhdr{Allowable values} \\ \capsep @@ -1026,9 +1026,9 @@ The type \tcode{iostate} is a bitmask type\iref{bitmask.types} -that contains the elements indicated in \tref{iostreams.iostate.effects}. +that contains the elements indicated in \tref{ios.iostate}. -\begin{libefftab}{\tcode{iostate} effects}{iostreams.iostate.effects} +\begin{libefftab}{\tcode{iostate} effects}{ios.iostate} \tcode{badbit} & indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error from a file); \\ @@ -1062,9 +1062,9 @@ The type \tcode{openmode} is a bitmask type\iref{bitmask.types}. -It contains the elements indicated in \tref{iostreams.openmode.effects}. +It contains the elements indicated in \tref{ios.openmode}. -\begin{libefftab}{\tcode{openmode} effects}{iostreams.openmode.effects} +\begin{libefftab}{\tcode{openmode} effects}{ios.openmode} \tcode{app} & seek to end before each write \\ \tcode{ate} & @@ -1092,9 +1092,9 @@ The type \tcode{seekdir} is an enumerated type\iref{enumerated.types} -that contains the elements indicated in \tref{iostreams.seekdir.effects}. +that contains the elements indicated in \tref{ios.seekdir}. -\begin{libefftabmean}{\tcode{seekdir} effects}{iostreams.seekdir.effects} +\begin{libefftabmean}{\tcode{seekdir} effects}{ios.seekdir} \tcode{beg} & request a seek (for subsequent input or output) relative to the beginning of the stream \\ \tcode{cur} & @@ -1685,7 +1685,7 @@ \oldconcept{CopyAssignable}, \oldconcept{Destructible}, and \oldconcept{EqualityComparable} (\tref{equalitycomparable}) requirements. -In addition, the expressions shown in \tref{iostreams.position.requirements} +In addition, the expressions shown in \tref{fpos.operations} are valid and have the indicated semantics. In that table, \begin{itemize} @@ -1700,7 +1700,7 @@ \begin{libreqtab4c} {Position type requirements} -{iostreams.position.requirements} +{fpos.operations} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Operational} & \rhdr{Assertion/note} \\ & & \chdr{semantics} & \rhdr{pre-/post-condition} \\ \capsep @@ -1898,9 +1898,9 @@ \begin{itemdescr} \pnum \ensures -The postconditions of this function are indicated in \tref{iostreams.basicios.init.effects}. +The postconditions of this function are indicated in \tref{basic.ios.cons}. -\begin{libefftabvalue}{\tcode{basic_ios::init()} effects}{iostreams.basicios.init.effects} +\begin{libefftabvalue}{\tcode{basic_ios::init()} effects}{basic.ios.cons} \tcode{rdbuf()} & \tcode{sb} \\ \tcode{tie()} & @@ -2121,11 +2121,10 @@ \pnum \ensures -The postconditions of this function are indicated in \tref{iostreams.copyfmt.effects}. - +The postconditions of this function are indicated in \tref{basic.ios.copyfmt}. \begin{LibEffTab}{\tcode{basic_ios::copyfmt()} effects} -{iostreams.copyfmt.effects}{Value}{1.2in} +{basic.ios.copyfmt}{Value}{1.2in} \tcode{rdbuf()} & \textit{unchanged} \\ \tcode{tie()} & @@ -7781,9 +7780,9 @@ \pnum \effects Alters the stream position within one of the -controlled sequences, if possible, as indicated in \tref{iostreams.seekoff.positioning}. +controlled sequences, if possible, as indicated in \tref{stringbuf.seekoff.pos}. -\begin{libtab2}{\tcode{seekoff} positioning}{iostreams.seekoff.positioning} +\begin{libtab2}{\tcode{seekoff} positioning}{stringbuf.seekoff.pos} {p{2.5in}l}{Conditions}{Result} \tcode{(which \& ios_base::in)}\tcode{ == ios_base::in} & positions the input sequence \\ \rowsep @@ -7804,7 +7803,7 @@ \pnum For a sequence to be positioned, the function determines \tcode{newoff} as indicated in -\tref{iostreams.newoff.values}. +\tref{stringbuf.seekoff.newoff}. If the sequence's next pointer (either \tcode{gptr()} @@ -7813,7 +7812,7 @@ is a null pointer and \tcode{newoff} is nonzero, the positioning operation fails. -\begin{libtab2}{\tcode{newoff} values}{iostreams.newoff.values} +\begin{libtab2}{\tcode{newoff} values}{stringbuf.seekoff.newoff} {lp{2.0in}}{Condition}{\tcode{newoff} Value} \tcode{way == ios_base::beg} & 0 \\ \rowsep @@ -8785,11 +8784,11 @@ \indexlibrary{\idxcode{fopen}}% with the second argument determined from \tcode{mode \& \~{}ios_base::ate} -as indicated in \tref{iostreams.file.open.modes}. +as indicated in \tref{filebuf.open.modes}. If \tcode{mode} is not some combination of flags shown in the table then the open fails. -\begin{floattable}{File open modes}{iostreams.file.open.modes} +\begin{floattable}{File open modes}{filebuf.open.modes} {cccccl} \topline \multicolumn{5}{|c}{\tcode{ios_base} flag combination} & \tcode{stdio} equivalent \\ @@ -9174,9 +9173,9 @@ The function determines one of three values for the argument \tcode{whence}, of type \tcode{int}, -as indicated in \tref{iostreams.seekoff.effects}. +as indicated in \tref{filebuf.seekoff}. -\begin{libtab2}{\tcode{seekoff} effects}{iostreams.seekoff.effects} +\begin{libtab2}{\tcode{seekoff} effects}{filebuf.seekoff} {ll}{\tcode{way} Value}{\tcode{stdio} Equivalent} \tcode{basic_ios::beg} & \tcode{SEEK_SET} \\ \tcode{basic_ios::cur} & \tcode{SEEK_CUR} \\ @@ -10458,7 +10457,7 @@ \pnum \tcode{Allocator} shall satisfy the \oldconcept{Allocator} requirements -(\tref{utilities.allocator.requirements}). +(\tref{allocator.req}). \pnum \begin{example} @@ -10801,7 +10800,7 @@ \pnum Template parameters named \tcode{Allocator} shall satisfy the -\oldconcept{Allocator} requirements (\tref{utilities.allocator.requirements}). +\oldconcept{Allocator} requirements (\tref{allocator.req}). \rSec3[fs.req.namespace]{Namespaces and headers} @@ -12983,10 +12982,10 @@ \pnum This enum specifies constants used to identify the format of the character -sequence, with the meanings listed in \tref{enum.path.format}. +sequence, with the meanings listed in \tref{fs.enum.path.format}. \begin{floattable} -{Enum \tcode{path::format}}{enum.path.format}{lp{4in}} +{Enum \tcode{path::format}}{fs.enum.path.format}{lp{4in}} \topline \lhdr{Name} & \rhdr{Meaning} \\\capsep \tcode{native_format} & The native pathname format. \\\rowsep @@ -13050,14 +13049,14 @@ \pnum The \tcode{enum class} type \tcode{copy_options} is a bitmask type\iref{bitmask.types} that specifies bitmask constants used to control the semantics of -copy operations. The constants are specified in option groups with the meanings listed in \tref{fs.enum.copy_options}. +copy operations. The constants are specified in option groups with the meanings listed in \tref{fs.enum.copy.opts}. The constant \tcode{none} represents the empty bitmask, and is shown in each option group for purposes of exposition; implementations shall provide only a single definition. Every other constant in the table represents a distinct bitmask element. \begin{floattable} -{Enum class \tcode{copy_options}}{fs.enum.copy_options} +{Enum class \tcode{copy_options}}{fs.enum.copy.opts} {lp{4in}} \topline \ohdrx{2}{Option group controlling \tcode{copy_file} function effects for existing target files} \\ \rowsep @@ -13167,13 +13166,13 @@ The \tcode{enum class} type \tcode{perm_options} is a bitmask type\iref{bitmask.types} that specifies bitmask constants used to control the semantics of permissions operations, -with the meanings listed in \tref{enum.perm_options}. +with the meanings listed in \tref{fs.enum.perm.opts}. The bitmask constants are bitmask elements. -In \tref{enum.perm_options} \tcode{perm} denotes a value of type \tcode{perms} +In \tref{fs.enum.perm.opts} \tcode{perm} denotes a value of type \tcode{perms} passed to \tcode{permissions}. \begin{floattable} -{Enum class \tcode{perm_options}}{enum.perm_options}{x{.15\hsize}x{.70\hsize}} +{Enum class \tcode{perm_options}}{fs.enum.perm.opts}{x{.15\hsize}x{.70\hsize}} \topline \lhdr{Name} & \rhdr{Meaning} \\ \capsep @@ -13197,12 +13196,12 @@ \pnum The \tcode{enum class} type \tcode{directory_options} is a bitmask type\iref{bitmask.types} that specifies bitmask constants used to identify - directory traversal options, with the meanings listed in \tref{fs.enum.directory_options}. + directory traversal options, with the meanings listed in \tref{fs.enum.dir.opts}. The constant \tcode{none} represents the empty bitmask; every other constant in the table represents a distinct bitmask element. \begin{floattable} -{Enum class \tcode{directory_options}}{fs.enum.directory_options} +{Enum class \tcode{directory_options}}{fs.enum.dir.opts} {lp{3in}} \topline \lhdr{Name} & From 94388110cd7505df9a8fd823326cd89ca535387c Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 25 May 2019 01:38:16 +0200 Subject: [PATCH 20/24] [library] Fix table labels. --- source/lib-intro.tex | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/source/lib-intro.tex b/source/lib-intro.tex index 65cd140197..f8a4ffe17c 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -1212,9 +1212,9 @@ \pnum The \Cpp{} standard library provides the \defnx{\Cpp{} library headers}{header!C++ library}, -shown in \tref{cpp.library.headers}. +shown in \tref{headers.cpp}. -\begin{multicolfloattable}{\Cpp{} library headers}{cpp.library.headers} +\begin{multicolfloattable}{\Cpp{} library headers}{headers.cpp} {llll} \tcode{} \\ \tcode{} \\ @@ -1294,14 +1294,14 @@ \pnum The facilities of the C standard library are provided in the \indextext{library!C standard}% -additional headers shown in \tref{cpp.c.headers}.% +additional headers shown in \tref{headers.cpp.c}.% \footnote{It is intentional that there is no \Cpp{} header for any of these C headers: \tcode{}\indextext{\idxhdr{stdatomic.h}!absence thereof}, \tcode{}\indextext{\idxhdr{stdnoreturn.h}!absence thereof}, \tcode{}\indextext{\idxhdr{threads.h}!absence thereof}.} -\begin{multicolfloattable}{\Cpp{} headers for C library facilities}{cpp.c.headers} +\begin{multicolfloattable}{\Cpp{} headers for C library facilities}{headers.cpp.c} {lllllll} \tcode{} \\ \tcode{} \\ @@ -1491,9 +1491,9 @@ \pnum A freestanding implementation\indextext{implementation!freestanding} has an \impldef{headers for freestanding implementation} set of headers. This set shall -include at least the headers shown in \tref{cpp.headers.freestanding}. +include at least the headers shown in \tref{headers.cpp.fs}. -\begin{libsumtab}{\Cpp{} headers for freestanding implementations}{cpp.headers.freestanding} +\begin{libsumtab}{\Cpp{} headers for freestanding implementations}{headers.cpp.fs} \ref{support.types} & Types & \tcode{} \\ \rowsep \ref{support.limits} & Implementation properties & \tcode{}, \tcode{}, \tcode{}, \tcode{} \\ \rowsep @@ -1979,24 +1979,24 @@ \pnum The class template \tcode{allocator_traits}\iref{allocator.traits} supplies a uniform interface to all allocator types. -\tref{desc.var.def} describes the types manipulated -through allocators. \tref{utilities.allocator.requirements} +\tref{allocator.req.var} describes the types manipulated +through allocators. \tref{allocator.req} describes the requirements on allocator types and thus on types used to instantiate \tcode{allocator_traits}. A requirement is optional if the last column of -\tref{utilities.allocator.requirements} specifies a default for a +\tref{allocator.req} specifies a default for a given expression. Within the standard library \tcode{allocator_traits} template, an optional requirement that is not supplied by an allocator is replaced by the specified default expression. A user specialization of \tcode{allocator_traits} may provide different defaults and may provide defaults for different requirements than the primary template. Within -Tables~\ref{tab:desc.var.def} and~\ref{tab:utilities.allocator.requirements}, +Tables~\ref{tab:allocator.req.var} and~\ref{tab:allocator.req}, the use of \tcode{move} and \tcode{forward} always refers to \tcode{std::move} and \tcode{std::forward}, respectively. \begin{libreqtab2} {Descriptive variable definitions} -{desc.var.def} +{allocator.req.var} \\ \topline \lhdr{Variable} & \rhdr{Definition} \\ \capsep \endfirsthead @@ -2033,7 +2033,7 @@ \begin{libreqtab4d} {\oldconcept{Allocator} requirements} -{utilities.allocator.requirements} +{allocator.req} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Default} \\ & & \chdr{pre-/post-condition} & \\ \capsep @@ -2325,7 +2325,7 @@ \pnum \begin{example} The following is an allocator class template supporting the minimal interface that satisfies the requirements of -\tref{utilities.allocator.requirements}: +\tref{allocator.req}: \begin{codeblock} template From 98db3e2e917b58931c1f049599c958ed7b9aaba1 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 11 May 2019 10:41:20 +0200 Subject: [PATCH 21/24] [tables] caption changes: add label --- source/tables.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/tables.tex b/source/tables.tex index c9f0931156..1d2facbaf3 100644 --- a/source/tables.tex +++ b/source/tables.tex @@ -51,7 +51,7 @@ \newenvironment{floattablebasex}[4] { \begin{table}[#4] - \caption{\label{tab:#2}#1} + \caption{\label{tab:#2}#1 \quad [tab:#2]} \begin{center} \begin{tabular}{|#3|} } @@ -187,7 +187,7 @@ \newcommand{\continuedcaption}{\caption[]{#1 (continued)}} \begin{TableBase} \begin{longtable}{|#3|} - \caption{#1}\label{tab:#2} + \caption{#1 \quad [tab:#2]}\label{tab:#2} } { \bottomline From 76b350a4579ffdfaa866527707ad1c5115d3eb66 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 8 Jun 2019 12:04:20 +0200 Subject: [PATCH 22/24] [lib] Prefix table labels for old concepts with cpp17. --- source/algorithms.tex | 96 +++++++++++++++++++++---------------------- source/concepts.tex | 2 +- source/future.tex | 8 ++-- source/iostreams.tex | 16 ++++---- source/iterators.tex | 4 +- source/lib-intro.tex | 62 ++++++++++++++-------------- source/numerics.tex | 14 +++---- source/strings.tex | 8 ++-- source/styles.tex | 4 +- source/support.tex | 2 +- source/threads.tex | 2 +- source/time.tex | 38 ++++++++--------- source/utilities.tex | 40 +++++++++--------- 13 files changed, 148 insertions(+), 148 deletions(-) diff --git a/source/algorithms.tex b/source/algorithms.tex index f7294f315b..b9fbc5f896 100644 --- a/source/algorithms.tex +++ b/source/algorithms.tex @@ -3001,10 +3001,10 @@ \pnum \requires \tcode{Function} shall satisfy -the \oldconcept{MoveConstructible} requirements (\tref{moveconstructible}). +the \oldconcept{MoveConstructible} requirements (\tref{cpp17.moveconstructible}). \begin{note} \tcode{Function} need not meet the requirements of -\oldconcept{CopyConstructible} (\tref{copyconstructible}). +\oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}). \end{note} \pnum @@ -4206,7 +4206,7 @@ For the overload with an \tcode{ExecutionPolicy}, there may be a performance cost if \tcode{iterator_traits::value_type} -is not \oldconcept{\-Move\-Constructible} (\tref{moveconstructible}). +is not \oldconcept{\-Move\-Constructible} (\tref{cpp17.moveconstructible}). \end{note} \pnum @@ -4989,7 +4989,7 @@ \requires For the algorithms in namespace \tcode{std}, the type of \tcode{*first} -shall meet the \oldconcept{MoveAssignable} requirements (\tref{moveassignable}). +shall meet the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). \pnum \effects @@ -5089,7 +5089,7 @@ For the overloads with an \tcode{ExecutionPolicy}, there may be a performance cost if \tcode{iterator_traits::value_type} does not meet -the \oldconcept{\-Move\-Constructible} (\tref{moveconstructible}) requirements. +the \oldconcept{\-Move\-Constructible} (\tref{cpp17.moveconstructible}) requirements. \end{note} \pnum @@ -5162,7 +5162,7 @@ For the overloads in namepace \tcode{std}, \tcode{pred} shall be an equivalence relation and the type of \tcode{*first} shall meet -the \oldconcept{MoveAssignable} requirements (\tref{moveassignable}). +the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). \pnum \effects @@ -5262,9 +5262,9 @@ the \oldconcept{ForwardIterator} requirements and its value type is the same as \tcode{T}, then \tcode{T} shall meet - the \oldconcept{CopyAssignable} (\tref{copyassignable}) requirements. + the \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. Otherwise, \tcode{T} shall meet both - the \oldconcept{CopyConstructible} (\tref{copyconstructible}) and + the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and \oldconcept{CopyAssignable} requirements. \begin{note} For the overloads with an \tcode{ExecutionPolicy}, @@ -5412,8 +5412,8 @@ \tcode{ForwardIterator} shall meet the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements}, and the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -5851,8 +5851,8 @@ \tcode{RandomAccessIterator} shall meet the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -5909,8 +5909,8 @@ \tcode{RandomAccessIterator} shall meet the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -5979,8 +5979,8 @@ \tcode{RandomAccessIterator} shall meet the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -6081,8 +6081,8 @@ \tcode{RandomAccessIterator} shall meet the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements}, the type of \tcode{*result_first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{\-Move\-Assignable} (\tref{moveassignable}) requirements, +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{\-Move\-Assignable} (\tref{cpp17.moveassignable}) requirements, and the expression \tcode{*first} shall be writable\iref{iterator.requirements.general} to \tcode{result_first}. @@ -6283,8 +6283,8 @@ \tcode{RandomAccessIterator} shall meet the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements}, and the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -6681,8 +6681,8 @@ \tcode{BidirectionalIterator} shall meet the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -6964,8 +6964,8 @@ \tcode{BidirectionalIterator} shall meet the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -7530,8 +7530,8 @@ shall be a valid heap with respect to \tcode{comp} and \tcode{proj}. For the overloads in namespace \tcode{std}, the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} requirements (\tref{moveconstructible}) and -the \oldconcept{MoveAssignable} requirements (\tref{moveassignable}). +the \oldconcept{MoveConstructible} requirements (\tref{cpp17.moveconstructible}) and +the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). \pnum \effects @@ -7583,8 +7583,8 @@ \tcode{RandomAccessIterator} shall meet the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and the type of \tcode{*first} shall meet -the \oldconcept{MoveConstructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -7637,8 +7637,8 @@ \requires For the overloads in namespace \tcode{std}, the type of \tcode{*first} shall meet -the \oldconcept{Move\-Constructible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{Move\-Constructible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -7690,8 +7690,8 @@ \tcode{RandomAccessIterator} shall meet the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and the type of \tcode{*first} shall meet -the \oldconcept{MoveConst\-ruct\-ible} (\tref{moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}) requirements. +the \oldconcept{MoveConst\-ruct\-ible} (\tref{cpp17.moveconstructible}) and +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. \pnum \effects @@ -7850,7 +7850,7 @@ \pnum \requires For the first form, type \tcode{T} shall be -\oldconcept{LessThanComparable} (\tref{lessthancomparable}). +\oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -7927,7 +7927,7 @@ \pnum \requires For the first form, type \tcode{T} shall be -\oldconcept{LessThanComparable} (\tref{lessthancomparable}). +\oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -8006,7 +8006,7 @@ \pnum \requires For the first form, type \tcode{T} shall be -\oldconcept{LessThanComparable} (\tref{lessthancomparable}). +\oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -8227,7 +8227,7 @@ \requires The value of \tcode{lo} shall be no greater than \tcode{hi}. For the first form, type \tcode{T} -shall be \oldconcept{LessThan\-Comparable} (\tref{lessthancomparable}). +shall be \oldconcept{LessThan\-Comparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -8805,8 +8805,8 @@ \pnum \requires \tcode{T} shall satisfy -the \oldconcept{CopyConstructible} (\tref{copyconstructible}) -and \oldconcept{CopyAssignable} (\tref{copyassignable}) requirements. +the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) +and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. In the range \crange{first}{last}, \tcode{binary_op} shall neither modify elements nor invalidate iterators or subranges.% @@ -8908,7 +8908,7 @@ \requires \begin{itemize} \item - \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{moveconstructible}). + \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}). \item All of \tcode{binary_op(init, *first)}, \tcode{binary_op(*first, init)}, \tcode{binary_op(init, init)}, and \tcode{binary_op(*first, *first)} @@ -8956,8 +8956,8 @@ \pnum \requires \tcode{T} shall satisfy -the \oldconcept{CopyConstructible} (\tref{copyconstructible}) -and \oldconcept{CopyAssignable} (\tref{copyassignable}) requirements. +the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) +and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. In the ranges \crange{first1}{last1} and \crange{first2}{first2 + (last1 - first1)} \tcode{binary_op1} and \tcode{binary_op2} @@ -9039,7 +9039,7 @@ \requires \begin{itemize} \item - \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{moveconstructible}). + \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}). \item All of \begin{itemize} @@ -9087,7 +9087,7 @@ \requires \begin{itemize} \item - \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{moveconstructible}). + \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}). \item All of \begin{itemize} @@ -9225,7 +9225,7 @@ \requires \begin{itemize} \item - \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{moveconstructible}). + \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}). \item All of \tcode{binary_op(init, init)}, @@ -9328,7 +9328,7 @@ \begin{itemize} \item If \tcode{init} is provided, - \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{moveconstructible}); + \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}); otherwise, \tcode{ForwardIterator1}'s value type shall be \oldconcept{MoveConstructible}. \item @@ -9403,7 +9403,7 @@ \requires \begin{itemize} \item - \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{moveconstructible}). + \tcode{T} shall be \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}). \item All of \begin{itemize} @@ -9491,7 +9491,7 @@ \begin{itemize} \item If \tcode{init} is provided, \tcode{T} shall be - \oldconcept{MoveConstructible} (\tref{moveconstructible}); + \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}); otherwise, \tcode{ForwardIterator1}'s value type shall be \oldconcept{MoveConstructible}. \item @@ -9584,7 +9584,7 @@ \begin{itemize} \item For the overloads with no \tcode{ExecutionPolicy}, - \tcode{T} shall be \oldconcept{MoveAssignable} (\tref{moveassignable}) and + \tcode{T} shall be \oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) and shall be constructible from the type of \tcode{*first}. \tcode{acc} (defined below) shall be writable\iref{iterator.requirements.general} diff --git a/source/concepts.tex b/source/concepts.tex index 408599b53f..0c1f5a981a 100644 --- a/source/concepts.tex +++ b/source/concepts.tex @@ -722,7 +722,7 @@ \begin{itemdescr} \pnum \begin{note} -Unlike the \oldconcept{Destructible} requirements~(\tref{destructible}), this +Unlike the \oldconcept{Destructible} requirements~(\tref{cpp17.destructible}), this concept forbids destructors that are potentially throwing, even if a particular invocation of the destructor does not actually throw. \end{note} diff --git a/source/future.tex b/source/future.tex index df4411b8e9..6f97e9c3f0 100644 --- a/source/future.tex +++ b/source/future.tex @@ -315,7 +315,7 @@ \begin{itemdescr} \pnum \requires -Type \tcode{T} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}). +Type \tcode{T} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}). \pnum \returns @@ -330,7 +330,7 @@ \begin{itemdescr} \pnum \requires -Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{lessthancomparable}). +Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -345,7 +345,7 @@ \begin{itemdescr} \pnum \requires -Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{lessthancomparable}). +Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -360,7 +360,7 @@ \begin{itemdescr} \pnum \requires -Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{lessthancomparable}). +Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns diff --git a/source/iostreams.tex b/source/iostreams.tex index b471f7b88c..a44ba3df1c 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -1669,10 +1669,10 @@ It holds a state object whose type is equal to the template parameter \tcode{stateT}. Type \tcode{stateT} shall meet -the \oldconcept{DefaultConstructible} (\tref{defaultconstructible}), -\oldconcept{CopyConstructible} (\tref{copyconstructible}), -\oldconcept{CopyAssignable} (\tref{copyassignable}), and -\oldconcept{Destructible} (\tref{destructible}) requirements. +the \oldconcept{DefaultConstructible} (\tref{cpp17.defaultconstructible}), +\oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}), +\oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}), and +\oldconcept{Destructible} (\tref{cpp17.destructible}) requirements. If \tcode{is_trivially_copy_constructible_v} is \tcode{true}, then \tcode{fpos} has a trivial copy constructor. If \tcode{is_trivially_copy_assignable} is \tcode{true}, @@ -1684,7 +1684,7 @@ \oldconcept{CopyConstructible}, \oldconcept{CopyAssignable}, \oldconcept{Destructible}, -and \oldconcept{EqualityComparable} (\tref{equalitycomparable}) requirements. +and \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) requirements. In addition, the expressions shown in \tref{fpos.operations} are valid and have the indicated semantics. In that table, @@ -10192,7 +10192,7 @@ \begin{itemdescr} \pnum \effects -Move constructs from \tcode{other} (\tref{moveconstructible}). +Move constructs from \tcode{other} (\tref{cpp17.moveconstructible}). \pnum \ensures @@ -10457,7 +10457,7 @@ \pnum \tcode{Allocator} shall satisfy the \oldconcept{Allocator} requirements -(\tref{allocator.req}). +(\tref{cpp17.allocator}). \pnum \begin{example} @@ -10800,7 +10800,7 @@ \pnum Template parameters named \tcode{Allocator} shall satisfy the -\oldconcept{Allocator} requirements (\tref{allocator.req}). +\oldconcept{Allocator} requirements (\tref{cpp17.allocator}). \rSec3[fs.req.namespace]{Namespaces and headers} diff --git a/source/iterators.tex b/source/iterators.tex index e041c281c1..976e3099c9 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -1784,7 +1784,7 @@ \tcode{T} if \tcode{X} satisfies the \oldconcept{Iterator}\iref{iterator.iterators} and -\oldconcept{EqualityComparable} (\tref{equalitycomparable}) requirements and +\oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) requirements and the expressions in \tref{inputiterator} are valid and have the indicated semantics. @@ -1876,7 +1876,7 @@ They should be \term{single pass} algorithms. -Value type \tcode{T} is not required to be a \oldconcept{CopyAssignable} type (\tref{copyassignable}). +Value type \tcode{T} is not required to be a \oldconcept{CopyAssignable} type (\tref{cpp17.copyassignable}). These algorithms can be used with istreams as the source of the input data through the \tcode{istream_iterator} class template. diff --git a/source/lib-intro.tex b/source/lib-intro.tex index f8a4ffe17c..2f051ed31b 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -508,7 +508,7 @@ requirements. Names in \textit{italic} type that begin with the prefix \oldconcept{} refer to sets of well-defined expression requirements typically presented in tabular form, possibly with additional prose semantic requirements. -For example, \oldconcept{Destructible}~(\tref{destructible}) is such a named +For example, \oldconcept{Destructible}~(\tref{cpp17.destructible}) is such a named requirement. Names in \tcode{constant width} type refer to library concepts which are presented as a concept definition\iref{temp}, possibly with additional prose semantic requirements. For example, @@ -1063,7 +1063,7 @@ \begin{itemdescr} \pnum \requires -Type \tcode{T} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}). +Type \tcode{T} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}). \pnum \returns @@ -1078,7 +1078,7 @@ \begin{itemdescr} \pnum \requires -Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{lessthancomparable}). +Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -1093,7 +1093,7 @@ \begin{itemdescr} \pnum \requires -Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{lessthancomparable}). +Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -1108,7 +1108,7 @@ \begin{itemdescr} \pnum \requires -Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{lessthancomparable}). +Type \tcode{T} is \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \returns @@ -1630,7 +1630,7 @@ \pnum The template definitions in the \Cpp{} standard library refer to various named requirements whose details are set out in -Tables~\ref{tab:equalitycomparable}--\ref{tab:destructible}. +Tables~\ref{tab:cpp17.equalitycomparable}--\ref{tab:cpp17.destructible}. In these tables, \tcode{T} is an object or reference type to be supplied by a \Cpp{} program instantiating a template; \tcode{a}, @@ -1649,7 +1649,7 @@ signatures is called using the default argument\iref{dcl.fct.default}. \indextext{requirements!\idxoldconcept{EqualityComparable}}% -\begin{concepttable}{\oldconcept{EqualityComparable} requirements}{equalitycomparable} +\begin{concepttable}{\oldconcept{EqualityComparable} requirements}{cpp17.equalitycomparable} {x{1in}x{1in}p{3in}} \topline \hdstyle{Expression} & \hdstyle{Return type} & \rhdr{Requirement} \\ \capsep @@ -1668,7 +1668,7 @@ \end{concepttable} \indextext{requirements!\idxoldconcept{LessThanComparable}}% -\begin{concepttable}{\oldconcept{LessThanComparable} requirements}{lessthancomparable} +\begin{concepttable}{\oldconcept{LessThanComparable} requirements}{cpp17.lessthancomparable} {x{1in}x{1in}p{3in}} \topline \hdstyle{Expression} & \hdstyle{Return type} & \hdstyle{Requirement} \\ \capsep @@ -1679,7 +1679,7 @@ \enlargethispage{-3\baselineskip} \indextext{requirements!\idxoldconcept{DefaultConstructible}}% -\begin{concepttable}{\oldconcept{DefaultConstructible} requirements}{defaultconstructible} +\begin{concepttable}{\oldconcept{DefaultConstructible} requirements}{cpp17.defaultconstructible} {x{2.15in}p{3in}} \topline \hdstyle{Expression} & \hdstyle{Post-condition} \\ \capsep @@ -1690,7 +1690,7 @@ \end{concepttable} \indextext{requirements!\idxoldconcept{MoveConstructible}}% -\begin{concepttable}{\oldconcept{MoveConstructible} requirements}{moveconstructible} +\begin{concepttable}{\oldconcept{MoveConstructible} requirements}{cpp17.moveconstructible} {p{1in}p{4.15in}} \topline \hdstyle{Expression} & \hdstyle{Post-condition} \\ \capsep @@ -1705,7 +1705,7 @@ \end{concepttable} \indextext{requirements!\idxoldconcept{CopyConstructible}}% -\begin{concepttable}{\oldconcept{CopyConstructible} requirements (in addition to \oldconcept{MoveConstructible})}{copyconstructible} +\begin{concepttable}{\oldconcept{CopyConstructible} requirements (in addition to \oldconcept{MoveConstructible})}{cpp17.copyconstructible} {p{1in}p{4.15in}} \topline \hdstyle{Expression} & \hdstyle{Post-condition} \\ \capsep @@ -1715,7 +1715,7 @@ \end{concepttable} \indextext{requirements!\idxoldconcept{MoveAssignable}}% -\begin{concepttable}{\oldconcept{MoveAssignable} requirements}{moveassignable} +\begin{concepttable}{\oldconcept{MoveAssignable} requirements}{cpp17.moveassignable} {p{1in}p{1in}p{1in}p{1.9in}} \topline \hdstyle{Expression} & \hdstyle{Return type} & \hdstyle{Return value} & \hdstyle{Post-condition} \\ \capsep @@ -1731,7 +1731,7 @@ \end{concepttable} \indextext{requirements!\idxoldconcept{CopyAssignable}}% -\begin{concepttable}{\oldconcept{CopyAssignable} requirements (in addition to \oldconcept{MoveAssignable})}{copyassignable} +\begin{concepttable}{\oldconcept{CopyAssignable} requirements (in addition to \oldconcept{MoveAssignable})}{cpp17.copyassignable} {p{1in}p{1in}p{1in}p{1.9in}} \topline \hdstyle{Expression} & \hdstyle{Return type} & \hdstyle{Return value} & \hdstyle{Post-condition} \\ \capsep @@ -1739,7 +1739,7 @@ \end{concepttable} \indextext{requirements!\idxoldconcept{Destructible}} -\begin{concepttable}{\oldconcept{Destructible} requirements}{destructible} +\begin{concepttable}{\oldconcept{Destructible} requirements}{cpp17.destructible} {p{1in}p{4.15in}} \topline \hdstyle{Expression} & \hdstyle{Post-condition} \\ \capsep @@ -1858,7 +1858,7 @@ \item lvalues of type \tcode{P} are swappable\iref{swappable.requirements}, -\item the expressions shown in \tref{nullablepointer} are +\item the expressions shown in \tref{cpp17.nullablepointer} are valid and have the indicated semantics, and \item \tcode{P} satisfies all the other requirements of this subclause. @@ -1880,13 +1880,13 @@ via an exception. \pnum -In \tref{nullablepointer}, \tcode{u} denotes an identifier, \tcode{t} +In \tref{cpp17.nullablepointer}, \tcode{u} denotes an identifier, \tcode{t} denotes a non-\tcode{const} lvalue of type \tcode{P}, \tcode{a} and \tcode{b} denote values of type (possibly \tcode{const}) \tcode{P}, and \tcode{np} denotes a value of type (possibly \tcode{const}) \tcode{std::nullptr_t}. \indextext{requirements!\idxoldconcept{NullablePointer}}% -\begin{concepttable}{\oldconcept{NullablePointer} requirements}{nullablepointer} +\begin{concepttable}{\oldconcept{NullablePointer} requirements}{cpp17.nullablepointer} {lll} \topline Expression & Return type & Operational semantics \\ \capsep @@ -1931,19 +1931,19 @@ \begin{itemize} \item it is a function object type\iref{function.objects}, -\item it satisfies the \oldconcept{CopyConstructible} (\tref{copyconstructible}) and - \oldconcept{Destructible} (\tref{destructible}) requirements, and -\item the expressions shown in \tref{hash} +\item it satisfies the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and + \oldconcept{Destructible} (\tref{cpp17.destructible}) requirements, and +\item the expressions shown in \tref{cpp17.hash} are valid and have the indicated semantics. \end{itemize} \pnum Given \tcode{Key} is an argument type for function objects of type \tcode{H}, in -\tref{hash} \tcode{h} is a value of type (possibly \tcode{const}) \tcode{H}, +\tref{cpp17.hash} \tcode{h} is a value of type (possibly \tcode{const}) \tcode{H}, \tcode{u} is an lvalue of type \tcode{Key}, and \tcode{k} is a value of a type convertible to (possibly \tcode{const}) \tcode{Key}. -\begin{concepttable}{\oldconcept{Hash} requirements}{hash} +\begin{concepttable}{\oldconcept{Hash} requirements}{cpp17.hash} {llp{.55\hsize}} \topline Expression & Return type & Requirement \\ \capsep @@ -1980,17 +1980,17 @@ The class template \tcode{allocator_traits}\iref{allocator.traits} supplies a uniform interface to all allocator types. \tref{allocator.req.var} describes the types manipulated -through allocators. \tref{allocator.req} +through allocators. \tref{cpp17.allocator} describes the requirements on allocator types and thus on types used to instantiate \tcode{allocator_traits}. A requirement is optional if the last column of -\tref{allocator.req} specifies a default for a +\tref{cpp17.allocator} specifies a default for a given expression. Within the standard library \tcode{allocator_traits} template, an optional requirement that is not supplied by an allocator is replaced by the specified default expression. A user specialization of \tcode{allocator_traits} may provide different defaults and may provide defaults for different requirements than the primary template. Within -Tables~\ref{tab:allocator.req.var} and~\ref{tab:allocator.req}, +Tables~\ref{tab:allocator.req.var} and~\ref{tab:cpp17.allocator}, the use of \tcode{move} and \tcode{forward} always refers to \tcode{std::move} and \tcode{std::forward}, respectively. @@ -2033,7 +2033,7 @@ \begin{libreqtab4d} {\oldconcept{Allocator} requirements} -{allocator.req} +{cpp17.allocator} \\ \topline \lhdr{Expression} & \chdr{Return type} & \chdr{Assertion/note} & \rhdr{Default} \\ & & \chdr{pre-/post-condition} & \\ \capsep @@ -2245,11 +2245,11 @@ Note B: If \tcode{X::propagate_on_container_copy_assignment::value} is \tcode{true}, \tcode{X} shall satisfy the -\oldconcept{\-Copy\-Assign\-able} requirements (\tref{copyassignable}) +\oldconcept{\-Copy\-Assign\-able} requirements (\tref{cpp17.copyassignable}) and the copy operation shall not throw exceptions. If \tcode{X::propagate_on_container_move_assignment::value} is \tcode{true}, \tcode{X} shall satisfy the -\oldconcept{\-Move\-Assign\-able} requirements (\tref{moveassignable}) +\oldconcept{\-Move\-Assign\-able} requirements (\tref{cpp17.moveassignable}) and the move operation shall not throw exceptions. If \tcode{X::propagate_on_container_swap::value} is \tcode{true}, lvalues of type \tcode{X} shall be swappable\iref{swappable.requirements} @@ -2257,10 +2257,10 @@ \pnum An allocator type \tcode{X} shall meet the -\oldconcept{CopyConstructible} requirements (\tref{copyconstructible}). +\oldconcept{CopyConstructible} requirements (\tref{cpp17.copyconstructible}). The \tcode{X::pointer}, \tcode{X::const_pointer}, \tcode{X::void_pointer}, and \tcode{X::const_void_pointer} types shall meet the -\oldconcept{Nullable\-Pointer} requirements (\tref{nullablepointer}). +\oldconcept{Nullable\-Pointer} requirements (\tref{cpp17.nullablepointer}). No constructor, comparison function, copy operation, move operation, or swap operation on these pointer types shall exit via an exception. \tcode{X::pointer} and \tcode{X::const_pointer} shall also @@ -2325,7 +2325,7 @@ \pnum \begin{example} The following is an allocator class template supporting the minimal interface that satisfies the requirements of -\tref{allocator.req}: +\tref{cpp17.allocator}: \begin{codeblock} template diff --git a/source/numerics.tex b/source/numerics.tex index e6b0124a71..22560cdbaf 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -2244,8 +2244,8 @@ \pnum \tcode{E} shall satisfy the -\oldconcept{CopyConstructible} (\tref{copyconstructible}) -and \oldconcept{CopyAssignable} (\tref{copyassignable}) requirements. +\oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) +and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. These operations shall each be of complexity no worse than \bigoh{\text{size of state}}. @@ -2623,8 +2623,8 @@ \pnum \tcode{D} shall satisfy the -\oldconcept{CopyConstructible} (\tref{copyconstructible}) -and \oldconcept{CopyAssignable} (\tref{copyassignable}) requirements. +\oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) +and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. \pnum The sequence of numbers @@ -2655,10 +2655,10 @@ \pnum \tcode{P} shall satisfy the -\oldconcept{CopyConstructible} (\tref{copyconstructible}), -\oldconcept{CopyAssignable} (\tref{copyassignable}), +\oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}), +\oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}), and -\oldconcept{Equality\-Comp\-arable} (\tref{equalitycomparable}) requirements. +\oldconcept{Equality\-Comp\-arable} (\tref{cpp17.equalitycomparable}) requirements. \pnum For each of the constructors of \tcode{D} diff --git a/source/strings.tex b/source/strings.tex index 55f00eb3b6..ee32c1131a 100644 --- a/source/strings.tex +++ b/source/strings.tex @@ -223,10 +223,10 @@ \pnum \expects \tcode{state_type} meets the -\oldconcept{Destructible} (\tref{destructible}), -\oldconcept{CopyAssignable} (\tref{copyassignable}), -\oldconcept{CopyConstructible} (\tref{copyconstructible}), and -\oldconcept{DefaultConstructible} (\tref{defaultconstructible}) requirements. +\oldconcept{Destructible} (\tref{cpp17.destructible}), +\oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}), +\oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}), and +\oldconcept{DefaultConstructible} (\tref{cpp17.defaultconstructible}) requirements. \end{itemdescr} \rSec2[char.traits.specializations]{\tcode{char_traits} specializations} diff --git a/source/styles.tex b/source/styles.tex index d5b66cbd4a..f7d2543eb8 100644 --- a/source/styles.tex +++ b/source/styles.tex @@ -113,10 +113,10 @@ %%-------------------------------------------------- %% set caption style and delimiter \captionstyle{\centering} -\captiondelim{ --- } +\captiondelim{ \quad } % override longtable's caption delimiter to match \makeatletter -\def\LT@makecaption#1#2#3{% +\def\xxxxxLT@makecaption#1#2#3{% \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% \sbox\@tempboxa{#1{#2 --- }#3}% \ifdim\wd\@tempboxa>\hsize diff --git a/source/support.tex b/source/support.tex index bdadc0a7a8..0af06909ec 100644 --- a/source/support.tex +++ b/source/support.tex @@ -3533,7 +3533,7 @@ \pnum \tcode{exception_ptr} meets the requirements of -\oldconcept{NullablePointer} (\tref{nullablepointer}). +\oldconcept{NullablePointer} (\tref{cpp17.nullablepointer}). \pnum Two non-null values of type \tcode{exception_ptr} are equivalent and compare equal if and diff --git a/source/threads.tex b/source/threads.tex index b6b63ce8a3..db78736614 100644 --- a/source/threads.tex +++ b/source/threads.tex @@ -3915,7 +3915,7 @@ \begin{itemdescr} \pnum \requires \tcode{Alloc} shall satisfy the \oldconcept{Allocator} -requirements (\tref{allocator.req}). +requirements (\tref{cpp17.allocator}). \end{itemdescr} diff --git a/source/time.tex b/source/time.tex index 887f7b6360..1d462318df 100644 --- a/source/time.tex +++ b/source/time.tex @@ -1085,8 +1085,8 @@ \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} -meet the \oldconcept{EqualityComparable} (\tref{equalitycomparable}) and -\oldconcept{LessThanComparable} (\tref{lessthancomparable}) +meet the \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) and +\oldconcept{LessThanComparable} (\tref{cpp17.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} @@ -3983,8 +3983,8 @@ but may hold non-negative values outside this range. It can be constructed with any \tcode{unsigned} value, which will be subsequently truncated to fit into \tcode{day}'s unspecified internal storage. -\tcode{day} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) -and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), +\tcode{day} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}), and participates in basic arithmetic with \tcode{days} objects, which represent a difference between two \tcode{day} objects. @@ -4273,8 +4273,8 @@ but may hold non-negative values outside this range. It can be constructed with any \tcode{unsigned} value, which will be subsequently truncated to fit into \tcode{month}'s unspecified internal storage. -\tcode{month} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) -and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), +\tcode{month} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}), and participates in basic arithmetic with \tcode{months} objects, which represent a difference between two \tcode{month} objects. @@ -4583,8 +4583,8 @@ It can represent values in the range \crange{min()}{max()}. It can be constructed with any \tcode{int} value, which will be subsequently truncated to fit into \tcode{year}'s unspecified internal storage. -\tcode{year} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) -and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), +\tcode{year} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}), and participates in basic arithmetic with \tcode{years} objects, which represent a difference between two \tcode{year} objects. @@ -4929,7 +4929,7 @@ it may hold non-negative values outside this range. It can be constructed with any \tcode{unsigned} value, which will be subsequently truncated to fit into \tcode{weekday}'s unspecified internal storage. -\tcode{weekday} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}). +\tcode{weekday} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}). \begin{note} \tcode{weekday} is not \oldconcept{LessThanComparable} @@ -5493,8 +5493,8 @@ \pnum \tcode{month_day} represents a specific day of a specific month, but with an unspecified year. -\tcode{month_day} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) -and \oldconcept{LessThanComparable} (\tref{lessthancomparable}). +\tcode{month_day} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \tcode{month_day} is a trivially copyable and standard-layout class type. @@ -5979,8 +5979,8 @@ \tcode{year_month} represents a specific month of a specific year, but with an unspecified day. \tcode{year_month} is a field-based time point with a resolution of \tcode{months}. -\tcode{year_month} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) -and \oldconcept{LessThanComparable} (\tref{lessthancomparable}). +\tcode{year_month} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}). \pnum \tcode{year_month} is a trivially copyable and standard-layout class type. @@ -6287,8 +6287,8 @@ For the latter, there is a conversion to \tcode{sys_days}, which efficiently supports \tcode{days}-oriented arithmetic. \end{note} -\tcode{year_month_day} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) -and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), +\tcode{year_month_day} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}), \pnum \tcode{year_month_day} is a trivially copyable and standard-layout class type. @@ -6714,8 +6714,8 @@ For the latter, there is a conversion to \tcode{sys_days}, which efficiently supports \tcode{days}-oriented arithmetic. \end{note} -\tcode{year_month_day_last} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}) -and \oldconcept{LessThanComparable} (\tref{lessthancomparable}), +\tcode{year_month_day_last} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) +and \oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable}), \pnum \tcode{year_month_day_last} is a trivially copyable and standard-layout class type. @@ -7014,7 +7014,7 @@ For the latter, there is a conversion to \tcode{sys_days}, which efficiently supports \tcode{days}-oriented arithmetic. \end{note} -\tcode{year_month_weekday} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}). +\tcode{year_month_weekday} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}). \pnum \tcode{year_month_weekday} is a trivially copyable and standard-layout class type. @@ -7348,7 +7348,7 @@ For the latter, there is a conversion to \tcode{sys_days}, which efficiently supports \tcode{days}-oriented arithmetic. \end{note} -\tcode{year_month_weekday_last} is \oldconcept{EqualityComparable} (\tref{equalitycomparable}). +\tcode{year_month_weekday_last} is \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}). \rSec3[time.cal.ymwdlast.members]{Member functions} diff --git a/source/utilities.tex b/source/utilities.tex index 26d2bc12bf..d60f5204b1 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -202,9 +202,9 @@ Type \tcode{T} shall be -\oldconcept{MoveConstructible} (\tref{moveconstructible}) +\oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and -\oldconcept{MoveAssignable} (\tref{moveassignable}). +\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}). \pnum \effects @@ -1426,7 +1426,7 @@ \begin{itemdescr} \pnum \requires \tcode{Alloc} shall satisfy the -\oldconcept{Allocator} requirements (\tref{allocator.req}). +\oldconcept{Allocator} requirements (\tref{cpp17.allocator}). \pnum \effects Equivalent to the preceding constructors except that each element is constructed with @@ -2086,7 +2086,7 @@ \begin{itemdescr} \pnum \requires \tcode{Alloc} shall satisfy the \oldconcept{Allocator} -requirements (\tref{allocator.req}). +requirements (\tref{cpp17.allocator}). \pnum \begin{note} Specialization of this trait informs other library components that @@ -2294,7 +2294,7 @@ \pnum \tcode{T} shall be an object type other than \cv{} \tcode{in_place_t} or \cv{} \tcode{nullopt_t} -and shall satisfy the \oldconcept{Destructible} requirements (\tref{destructible}). +and shall satisfy the \oldconcept{Destructible} requirements (\tref{cpp17.destructible}). \rSec3[optional.ctor]{Constructors} @@ -7359,7 +7359,7 @@ disambiguate constructor and function overloading. Specifically, several types (see \tcode{tuple}~\ref{tuple}) have constructors with \tcode{allocator_arg_t} as the first argument, immediately followed by an argument of a type that satisfies the -\oldconcept{Allocator} requirements (\tref{allocator.req}). +\oldconcept{Allocator} requirements (\tref{cpp17.allocator}). \rSec2[allocator.uses]{\tcode{uses_allocator}} @@ -9014,7 +9014,7 @@ \pnum If the deleter's type \tcode{D} is not a reference type, \tcode{D} shall satisfy -the \oldconcept{Destructible} requirements (\tref{destructible}). +the \oldconcept{Destructible} requirements (\tref{cpp17.destructible}). \pnum If the \grammarterm{qualified-id} \tcode{remove_reference_t::pointer} is valid and denotes a @@ -9022,10 +9022,10 @@ D>::pointer} shall be a synonym for \tcode{remove_reference_t::pointer}. Otherwise \tcode{unique_ptr::pointer} shall be a synonym for \tcode{element_type*}. The type \tcode{unique_ptr::pointer} shall -satisfy the \oldconcept{NullablePointer} requirements (\tref{nullablepointer}). +satisfy the \oldconcept{NullablePointer} requirements (\tref{cpp17.nullablepointer}). \pnum -\begin{example} Given an allocator type \tcode{X} (\tref{allocator.req}) and +\begin{example} Given an allocator type \tcode{X} (\tref{cpp17.allocator}) and letting \tcode{A} be a synonym for \tcode{allocator_traits}, the types \tcode{A::pointer}, \tcode{A::const_pointer}, \tcode{A::void_pointer}, and \tcode{A::const_void_pointer} may be used as \tcode{unique_ptr::pointer}. \end{example} @@ -9041,7 +9041,7 @@ \begin{itemdescr} \pnum \requires \tcode{D} shall -satisfy the \oldconcept{DefaultConstructible} requirements (\tref{defaultconstructible}), +satisfy the \oldconcept{DefaultConstructible} requirements (\tref{cpp17.defaultconstructible}), and that construction shall not throw an exception. \pnum @@ -9066,7 +9066,7 @@ \begin{itemdescr} \pnum \requires \tcode{D} shall -satisfy the \oldconcept{DefaultConstructible} requirements (\tref{defaultconstructible}), +satisfy the \oldconcept{DefaultConstructible} requirements (\tref{cpp17.defaultconstructible}), and that construction shall not throw an exception. \pnum @@ -9146,7 +9146,7 @@ \pnum \requires If \tcode{D} is not a reference type, \tcode{D} shall satisfy the \oldconcept{MoveConstructible} -requirements (\tref{moveconstructible}). +requirements (\tref{cpp17.moveconstructible}). Construction of the deleter from an rvalue of type \tcode{D} shall not throw an exception. @@ -9235,7 +9235,7 @@ \begin{itemdescr} \pnum \requires If \tcode{D} is not a reference type, \tcode{D} shall satisfy the -\oldconcept{MoveAssignable} requirements (\tref{moveassignable}) and assignment +\oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}) and assignment of the deleter from an rvalue of type \tcode{D} shall not throw an exception. Otherwise, \tcode{D} is a reference type; \tcode{remove_reference_t} shall satisfy the \oldconcept{CopyAssignable} @@ -10173,7 +10173,7 @@ The expression \tcode{d(p)} shall have well-defined behavior and shall not throw exceptions. \tcode{A} shall satisfy the \oldconcept{Allocator} requirements -(\tref{allocator.req}). +(\tref{cpp17.allocator}). \pnum\effects Constructs a \tcode{shared_ptr} object that owns the object \tcode{p} and the deleter \tcode{d}. @@ -10585,7 +10585,7 @@ \begin{itemdescr} \pnum \requires \tcode{A} shall satisfy the \oldconcept{Allocator} -requirements (\tref{allocator.req}). +requirements (\tref{cpp17.allocator}). \pnum \effects Allocates memory for an object of type \tcode{T} @@ -12339,7 +12339,7 @@ \pnum A specialization of class template \tcode{pmr::polymorphic_allocator} -satisfies the \oldconcept{Allocator} requirements (\tref{allocator.req}). +satisfies the \oldconcept{Allocator} requirements (\tref{cpp17.allocator}). Constructed with different memory resources, different instances of the same specialization of \tcode{pmr::polymorphic_allocator} can exhibit entirely different allocation behavior. @@ -16017,7 +16017,7 @@ \ref{func.search} shall satisfy the same requirements and semantics as specified in \ref{algorithms.general}. Template parameters named \tcode{Hash} shall satisfy the \oldconcept{Hash} -requirements (\tref{hash}). +requirements (\tref{cpp17.hash}). \pnum The Boyer-Moore searcher implements the Boyer-Moore search algorithm. @@ -16315,10 +16315,10 @@ \pnum An enabled specialization \tcode{hash} will: \begin{itemize} -\item satisfy the \oldconcept{Hash} requirements (\tref{hash}), +\item satisfy the \oldconcept{Hash} requirements (\tref{cpp17.hash}), with \tcode{Key} as the function -call argument type, the \oldconcept{Default\-Constructible} requirements (\tref{defaultconstructible}), -the \oldconcept{CopyAssignable} requirements (\tref{copyassignable}), +call argument type, the \oldconcept{Default\-Constructible} requirements (\tref{cpp17.defaultconstructible}), +the \oldconcept{CopyAssignable} requirements (\tref{cpp17.copyassignable}), \item be swappable\iref{swappable.requirements} for lvalues, \item satisfy the requirement that if \tcode{k1 == k2} is \tcode{true}, \tcode{h(k1) == h(k2)} is also \tcode{true}, where \tcode{h} is an object of type \tcode{hash} and \tcode{k1} and \tcode{k2} From d063024ecd66e4e94c80ede68a4d7ae4c55f39a4 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sat, 8 Jun 2019 20:51:58 +0200 Subject: [PATCH 23/24] [std] Harmonize figure captions with table captions. --- source/classes.tex | 16 ++++++++-------- source/expressions.tex | 4 ++-- source/iostreams.tex | 8 +++++--- source/macros.tex | 4 +++- source/styles.tex | 2 ++ 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/source/classes.tex b/source/classes.tex index 72dc81ed99..0b9e26bccf 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -3533,7 +3533,7 @@ \begin{importgraphic} {Directed acyclic graph} -{fig:dag} +{class.dag} {figdag.pdf} \end{importgraphic} \end{note} @@ -3629,11 +3629,11 @@ corresponds one-to-one with a distinct \tcode{L} subobject within the object of type \tcode{C}. Given the class \tcode{C} defined above, an object of class \tcode{C} will have two subobjects of class \tcode{L} as -shown in Figure~\ref{fig:nonvirt}. +shown in \fref{class.nonvirt}. \begin{importgraphic} {Non-virtual base} -{fig:nonvirt} +{class.nonvirt} {fignonvirt.pdf} \end{importgraphic} @@ -3659,14 +3659,14 @@ \end{codeblock} \begin{importgraphic} {Virtual base} -{fig:virt} +{class.virt} {figvirt.pdf} \end{importgraphic} For an object \tcode{c} of class type \tcode{C}, a single subobject of type \tcode{V} is shared by every base class subobject of \tcode{c} that has a \tcode{virtual} base class of type \tcode{V}. Given the class \tcode{C} defined above, an object of class \tcode{C} will have one subobject of -class \tcode{V}, as shown in Figure~\ref{fig:virt}. +class \tcode{V}, as shown in \fref{class.virt}. \indextext{DAG!multiple inheritance}% \indextext{DAG!virtual base class}% \end{note} @@ -3690,14 +3690,14 @@ \tcode{B} subobject within the object of type \tcode{AA}. Given the class \tcode{AA} defined above, class \tcode{AA} has two subobjects of class \tcode{B}: \tcode{Z}'s \tcode{B} and the virtual \tcode{B} shared -by \tcode{X} and \tcode{Y}, as shown in Figure~\ref{fig:virtnonvirt}. +by \tcode{X} and \tcode{Y}, as shown in \fref{class.virtnonvirt}. \indextext{DAG!virtual base class}% \indextext{DAG!non-virtual base class}% \indextext{DAG!multiple inheritance}% \begin{importgraphic} {Virtual and non-virtual base} -{fig:virtnonvirt} +{class.virtnonvirt} {figvirtnonvirt.pdf} \end{importgraphic} \end{note} @@ -4396,7 +4396,7 @@ \begin{importgraphic} {Name lookup} -{fig:name} +{class.lookup} {figname.pdf} \end{importgraphic} diff --git a/source/expressions.tex b/source/expressions.tex index ce51f9526a..c46ebfa61e 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -128,11 +128,11 @@ \rSec2[basic.lval]{Value category} \pnum -Expressions are categorized according to the taxonomy in Figure~\ref{fig:categories}. +Expressions are categorized according to the taxonomy in \fref{basic.lval}. \begin{importgraphic} {Expression category taxonomy} -{fig:categories} +{basic.lval} {valuecategories.pdf} \end{importgraphic} diff --git a/source/iostreams.tex b/source/iostreams.tex index a44ba3df1c..b856b81bbd 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -37,16 +37,18 @@ \end{libsumtab} \pnum -Figure~\ref{fig:streampos} illustrates relationships among various types +\begin{note} +\fref{iostreams.streampos} illustrates relationships among various types described in this clause. A line from \textbf{A} to \textbf{B} indicates that \textbf{A} is an alias (e.g., a typedef) for \textbf{B} or that \textbf{A} is defined in terms of \textbf{B}. \begin{importgraphic} -{Stream position, offset, and size types [non-normative]} -{fig:streampos} +{Stream position, offset, and size types} +{iostreams.streampos} {figstreampos.pdf} \end{importgraphic} +\end{note} \rSec1[iostreams.requirements]{Iostreams requirements} diff --git a/source/macros.tex b/source/macros.tex index 5ed34b8daa..0659030280 100644 --- a/source/macros.tex +++ b/source/macros.tex @@ -273,6 +273,8 @@ %% Inline non-parenthesized table reference (override memoir's \tref) \renewcommand{\tref}[1]{\hyperref[tab:#1]{\tablerefname \nolinebreak[3] \ref*{tab:#1}}} +%% Inline non-parenthesized figure reference (override memoir's \fref) +\renewcommand{\fref}[1]{\hyperref[fig:#1]{\figurerefname \nolinebreak[3] \ref*{fig:#1}}} %% NTBS, etc. \newcommand{\NTS}[1]{\textsc{#1}} @@ -545,7 +547,7 @@ \includegraphics[scale=.35]{#3} } { -\caption{\cptn}\label{\lbl}% +\caption{\cptn \quad [fig:\lbl]}\label{fig:\lbl}% \end{figure}} %%-------------------------------------------------- diff --git a/source/styles.tex b/source/styles.tex index f7d2543eb8..9697326384 100644 --- a/source/styles.tex +++ b/source/styles.tex @@ -126,6 +126,8 @@ \fi \endgraf\vskip\baselineskip}% \hss}}} +% override figure caption +\renewcommand{\fnum@figure}[1]{\figurename~\thefigure \quad} \makeatother %%-------------------------------------------------- From 6a1f091f28b8e765e420ed3421d0149b15f023ab Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Tue, 11 Jun 2019 20:45:55 +0200 Subject: [PATCH 24/24] [styles] Remove special caption styles and use the default colon to separate table/figure number and caption text. --- source/styles.tex | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/source/styles.tex b/source/styles.tex index 9697326384..745b566be3 100644 --- a/source/styles.tex +++ b/source/styles.tex @@ -111,24 +111,8 @@ leftmargin=\bnfindentrest, listparindent=-\bnfindentinc, itemindent=\listparindent} %%-------------------------------------------------- -%% set caption style and delimiter +%% set caption style \captionstyle{\centering} -\captiondelim{ \quad } -% override longtable's caption delimiter to match -\makeatletter -\def\xxxxxLT@makecaption#1#2#3{% - \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% - \sbox\@tempboxa{#1{#2 --- }#3}% - \ifdim\wd\@tempboxa>\hsize - #1{#2 --- }#3% - \else - \hbox to\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \endgraf\vskip\baselineskip}% - \hss}}} -% override figure caption -\renewcommand{\fnum@figure}[1]{\figurename~\thefigure \quad} -\makeatother %%-------------------------------------------------- %% set global styles that get reset by \mainmatter