Skip to content

Commit 639bcad

Browse files
committed
Rephrase table preambles in terms of const types not const values
For example, replace "a (possibly const) value of type X" with "a value of type X or const X"
1 parent a09f64c commit 639bcad

File tree

6 files changed

+98
-27
lines changed

6 files changed

+98
-27
lines changed

src/async.tex

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,13 @@
224224
Let \tcode{ctx} be the execution context returned by the executor's \tcode{context()} member function. An executor becomes invalid when the first call to \tcode{ctx.shutdown()} returns. The effect of calling \tcode{on_work_started}, \tcode{on_work_finished}, \tcode{dispatch}, \tcode{post}, or \tcode{defer} on an invalid executor is undefined. \begin{note} The copy constructor, comparison operators, and \tcode{context()} member function continue to remain valid until \tcode{ctx} is destroyed. \end{note}
225225

226226
\pnum
227-
In Table~\ref{tab:async.reqmts.executor.requirements}, \tcode{x1} and \tcode{x2} denote (possibly const) values of type \tcode{X}, \tcode{mx1} denotes an xvalue of type \tcode{X}, \tcode{f} denotes a \tcode{MoveConstructible} (\CppXref{moveconstructible}) function object callable with zero arguments, \tcode{a} denotes a (possibly const) value of type \tcode{A} meeting the \tcode{Allocator} requirements (\CppXref{allocator.requirements}), and \tcode{u} denotes an identifier.
227+
In Table~\ref{tab:async.reqmts.executor.requirements},
228+
\tcode{x1} and \tcode{x2} denote values of type \tcode{X} or \tcode{const X},
229+
\tcode{mx1} denotes an xvalue of type \tcode{X},
230+
\tcode{f} denotes a \tcode{MoveConstructible} (\CppXref{moveconstructible}) function object callable with zero arguments,
231+
\tcode{a} denotes a value of type \tcode{A} or \tcode{const A}
232+
where \tcode{A} is a type meeting the \tcode{Allocator} requirements (\CppXref{allocator.requirements}),
233+
and \tcode{u} denotes an identifier.
228234

229235
\begin{libreqtab3}
230236
{Executor requirements}
@@ -395,7 +401,14 @@
395401
An associator shall be a class template that takes two template type arguments. The first template argument is the source type \tcode{S}. The second template argument is the candidate type \tcode{C}. The second template argument shall be defaulted to some default candidate type \tcode{D} that satisfies the type requirements \tcode{R}.
396402

397403
\pnum
398-
An associator shall additionally satisfy the requirements in Table~\ref{tab:async.reqmts.associator.requirements}. In this table, \tcode{X} is a class template that meets the associator requirements, \tcode{S} is the source type, \tcode{s} is a (possibly const) value of type \tcode{S}, \tcode{C} is the candidate type, \tcode{c} is a (possibly const) value of type \tcode{C}, \tcode{D} is the default candidate type, and \tcode{d} is a (possibly const) value of type \tcode{D} that is the default candidate object.
404+
An associator shall additionally satisfy the requirements in Table~\ref{tab:async.reqmts.associator.requirements}.
405+
In this table, \tcode{X} is a class template that meets the associator requirements,
406+
\tcode{S} is the source type,
407+
\tcode{s} is a value of type \tcode{S} or \tcode{const S},
408+
\tcode{C} is the candidate type,
409+
\tcode{c} is a value of type \tcode{C} or \tcode{const C},
410+
\tcode{D} is the default candidate type,
411+
and \tcode{d} is a value of type \tcode{D} or \tcode{const D} that is the default candidate object.
399412

400413
\begin{libreqtab3}
401414
{Associator requirements}
@@ -921,7 +934,11 @@
921934

922935
\indextext{requirements!\idxcode{associated_allocator} specializations}%
923936
\pnum
924-
Specializations of \tcode{associated_allocator} shall satisfy the requirements in Table~\ref{tab:async.assoc.alloc.requirements}. In this table, \tcode{X} is a specialization of \tcode{associated_allocator} for the template parameters \tcode{T} and \tcode{ProtoAllocator}; \tcode{t} is a value of (possibly const) \tcode{T}; and \tcode{a} is an object of type \tcode{ProtoAllocator}.
937+
Specializations of \tcode{associated_allocator} shall satisfy the requirements in Table~\ref{tab:async.assoc.alloc.requirements}.
938+
In this table, \tcode{X} is a specialization of \tcode{associated_allocator}
939+
for the template parameters \tcode{T} and \tcode{ProtoAllocator};
940+
\tcode{t} is a value of type \tcode{T} or \tcode{const T};
941+
and \tcode{a} is an object of type \tcode{ProtoAllocator}.
925942

926943
\begin{libreqtab3}
927944
{\tcode{associated_allocator} specialization requirements}
@@ -1378,7 +1395,11 @@
13781395

13791396
\indextext{requirements!\idxcode{associated_executor} specializations}%
13801397
\pnum
1381-
Specializations of \tcode{associated_executor} shall satisfy the requirements in Table~\ref{tab:async.assoc.exec.requirements}. In this table, \tcode{X} is a specialization of \tcode{associated_executor} for the template parameters \tcode{T} and \tcode{Executor}; \tcode{t} is a value of (possibly const) \tcode{T}; and \tcode{e} is an object of type \tcode{Executor}.
1398+
Specializations of \tcode{associated_executor} shall satisfy the requirements in Table~\ref{tab:async.assoc.exec.requirements}.
1399+
In this table, \tcode{X} is a specialization of \tcode{associated_executor}
1400+
for the template parameters \tcode{T} and \tcode{Executor};
1401+
\tcode{t} is a value of \tcode{T} or \tcode{const T};
1402+
and \tcode{e} is an object of type \tcode{Executor}.
13821403

13831404
\begin{libreqtab3}
13841405
{\tcode{associated_executor} specialization requirements}

src/buffers.tex

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,9 @@
315315
A type \tcode{X} meets the \tcode{MutableBufferSequence} requirements if it satisfies the requirements of \tcode{Destructible} (\CppXref{destructible}) and \tcode{CopyConstructible} (\CppXref{copyconstructible}), as well as the additional requirements listed in Table~\ref{tab:buffer.reqmts.mutablebuffersequence.requirements}.
316316

317317
\pnum
318-
In Table~\ref{tab:buffer.reqmts.mutablebuffersequence.requirements}, \tcode{x}
319-
denotes a (possibly const) value of type \tcode{X}, and \tcode{u} denotes an identifier.
318+
In Table~\ref{tab:buffer.reqmts.mutablebuffersequence.requirements},
319+
\tcode{x} denotes a value of type \tcode{X} or \tcode{const X},
320+
and \tcode{u} denotes an identifier.
320321

321322
\indextext{requirements!\idxcode{MutableBufferSequence}}%
322323
\begin{LongTable}
@@ -377,7 +378,9 @@
377378
A type \tcode{X} meets the \tcode{ConstBufferSequence} requirements if it satisfies the requirements of \tcode{Destructible} (\CppXref{destructible}) and \tcode{CopyConstructible} (\CppXref{copyconstructible}), as well as the additional requirements listed in Table~\ref{tab:buffer.reqmts.constbuffersequence.requirements}.
378379

379380
\pnum
380-
In Table~\ref{tab:buffer.reqmts.constbuffersequence.requirements}, \tcode{x} denotes a (possibly const) value of type \tcode{X}, and \tcode{u} denotes an identifier.
381+
In Table~\ref{tab:buffer.reqmts.constbuffersequence.requirements},
382+
\tcode{x} denotes a value of type \tcode{X} or \tcode{const X},
383+
and \tcode{u} denotes an identifier.
381384

382385
\indextext{requirements!\idxcode{ConstBufferSequence}}%
383386
\begin{LongTable}
@@ -441,7 +444,10 @@
441444
A type \tcode{X} meets the \tcode{DynamicBuffer} requirements if it satisfies the requirements of \tcode{Destructible} (\CppXref{destructible}) and \tcode{MoveConstructible} (\CppXref{moveconstructible}), as well as the additional requirements listed in Table~\ref{tab:buffer.reqmts.dynamicbuffer.requirements}.
442445

443446
\pnum
444-
In Table~\ref{tab:buffer.reqmts.dynamicbuffer.requirements}, \tcode{x} denotes a value of type \tcode{X}, \tcode{x1} denotes a (possibly const) value of type \tcode{X}, and \tcode{n} denotes a (possibly const) value of type \tcode{size_t}.
447+
In Table~\ref{tab:buffer.reqmts.dynamicbuffer.requirements},
448+
\tcode{x} denotes a value of type \tcode{X},
449+
\tcode{x1} denotes a value of type \tcode{X} or \tcode{const X},
450+
and \tcode{n} denotes a value of type \tcode{size_t} or \tcode{const size_t}.
445451

446452
\indextext{requirements!\idxcode{DynamicBuffer}}%
447453
\begin{libreqtab3}

src/bufferstreams.tex

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
A type \tcode{X} meets the \tcode{SyncReadStream} requirements if it satisfies the requirements listed in Table~\ref{tab:buffer.stream.reqmts.syncreadstream.requirements}.
1515

1616
\pnum
17-
In Table~\ref{tab:buffer.stream.reqmts.syncreadstream.requirements}, \tcode{a} denotes a value of type \tcode{X}, \tcode{mb} denotes a (possibly const) value satisfying the \tcode{MutableBufferSequence}~(\ref{buffer.reqmts.mutablebuffersequence}) requirements, and \tcode{ec} denotes an object of type \tcode{error_code}.
17+
In Table~\ref{tab:buffer.stream.reqmts.syncreadstream.requirements},
18+
\tcode{a} denotes a value of type \tcode{X},
19+
\tcode{mb} denotes a value of a (possibly const) type satisfying the \tcode{MutableBufferSequence}~(\ref{buffer.reqmts.mutablebuffersequence}) requirements,
20+
and \tcode{ec} denotes an object of type \tcode{error_code}.
1821

1922
\indexlibrary{\idxcode{read_some}}%
2023
\begin{libreqtab3}
@@ -49,7 +52,9 @@
4952
A type \tcode{X} meets the \tcode{AsyncReadStream} requirements if it satisfies the requirements listed below.
5053

5154
\pnum
52-
In the table below, \tcode{a} denotes a value of type \tcode{X}, \tcode{mb} denotes a (possibly const) value satisfying the \tcode{MutableBufferSequence}~(\ref{buffer.reqmts.mutablebuffersequence}) requirements, and \tcode{t} is a completion token.
55+
In the table below, \tcode{a} denotes a value of type \tcode{X},
56+
\tcode{mb} denotes a value of a (possibly const) type satisfying the \tcode{MutableBufferSequence}~(\ref{buffer.reqmts.mutablebuffersequence}) requirements,
57+
and \tcode{t} is a completion token.
5358

5459
\indexlibrary{\idxcode{get_executor}}%
5560
\indexlibrary{\idxcode{async_read_some}}%
@@ -88,7 +93,10 @@
8893
A type \tcode{X} meets the \tcode{SyncWriteStream} requirements if it satisfies the requirements listed below.
8994

9095
\pnum
91-
In the table below, \tcode{a} denotes a value of type \tcode{X}, \tcode{cb} denotes a (possibly const) value satisfying the \tcode{ConstBufferSequence}~(\ref{buffer.reqmts.constbuffersequence}) requirements, and \tcode{ec} denotes an object of type \tcode{error_code}.
96+
In the table below,
97+
\tcode{a} denotes a value of type \tcode{X},
98+
\tcode{cb} denotes a value of a (possibly const) type satisfying the \tcode{ConstBufferSequence}~(\ref{buffer.reqmts.constbuffersequence}) requirements,
99+
and \tcode{ec} denotes an object of type \tcode{error_code}.
92100

93101
\indexlibrary{\idxcode{write_some}}%
94102
\begin{libreqtab3}
@@ -124,7 +132,10 @@
124132
A type \tcode{X} meets the \tcode{AsyncWriteStream} requirements if it satisfies the requirements listed below.
125133

126134
\pnum
127-
In the table below, \tcode{a} denotes a value of type \tcode{X}, \tcode{cb} denotes a (possibly const) value satisfying the \tcode{ConstBufferSequence}~(\ref{buffer.reqmts.constbuffersequence}) requirements, and \tcode{t} is a completion token.
135+
In the table below,
136+
\tcode{a} denotes a value of type \tcode{X},
137+
\tcode{cb} denotes a value of a (possibly const) type satisfying the \tcode{ConstBufferSequence}~(\ref{buffer.reqmts.constbuffersequence}) requirements,
138+
and \tcode{t} is a completion token.
128139

129140
\indexlibrary{\idxcode{get_executor}}%
130141
\indexlibrary{\idxcode{async_write_some}}%
@@ -167,7 +178,9 @@
167178
A type \tcode{X} meets the \tcode{CompletionCondition} requirements if it satisfies the requirements of \tcode{Destructible} (\CppXref{destructible}) and \tcode{CopyConstructible} (\CppXref{copyconstructible}), as well as the additional requirements listed below.
168179

169180
\pnum
170-
In the table below, \tcode{x} denotes a value of type \tcode{X}, \tcode{ec} denotes a (possibly const) value of type \tcode{error_code}, and \tcode{n} denotes a (possibly const) value of type \tcode{size_t}.
181+
In the table below, \tcode{x} denotes a value of type \tcode{X},
182+
\tcode{ec} denotes a value of type \tcode{error_code} or \tcode{const error_code},
183+
and \tcode{n} denotes a value of type \tcode{size_t} or \tcode{const size_t}.
171184

172185
\begin{libreqtab3}
173186
{CompletionCondition requirements}

src/internetprotocol.tex

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,8 @@
289289
A type \tcode{X} meets the \tcode{InternetProtocol} requirements if it satisfies the requirements of \tcode{AcceptableProtocol}~(\ref{socket.reqmts.acceptableprotocol}), as well as the additional requirements listed below.
290290

291291
\pnum
292-
In the table below, \tcode{a} denotes a (possibly const) value of type \tcode{X}, and \tcode{b} denotes a (possibly const) value of type \tcode{X}.
292+
In the table below,
293+
\tcode{a} and \tcode{b} denote values of type \tcode{X} or \tcode{const X}.
293294

294295
\begin{libreqtab3}
295296
{InternetProtocol requirements}
@@ -338,7 +339,13 @@
338339
A type \tcode{X} meets the \tcode{MulticastGroupSocketOption} requirements if it satisfies the requirements of \tcode{Destructible} (\CppXref{destructible}), \tcode{CopyConstructible} (\CppXref{copyconstructible}), \tcode{CopyAssignable} (\CppXref{copyassignable}), and \tcode{SettableSocketOption}~(\ref{socket.reqmts.settablesocketoption}), as well as the additional requirements listed below.
339340

340341
\pnum
341-
In the table below, \tcode{a} denotes a (possibly const) value of type \tcode{X}, \tcode{b} denotes a (possibly const) value of type \tcode{address}, \tcode{c} and \tcode{d} denote (possibly const) values of type \tcode{address_v4}, \tcode{e} denotes a (possibly const) value of type \tcode{address_v6}, \tcode{f} denotes a (possibly const) value of type \tcode{unsigned int}, and \tcode{u} denotes an identifier.
342+
In the table below,
343+
\tcode{a} denotes a value of type \tcode{X} or \tcode{const X},
344+
\tcode{b} denotes a value of type \tcode{address} or \tcode{const address},
345+
\tcode{c} and \tcode{d} denote values of type \tcode{address_v4} or \tcode{const address_v4},
346+
\tcode{e} denotes a value of type \tcode{address_v6} or \tcode{const address_v6},
347+
\tcode{f} denotes a value of type \tcode{unsigned int} or \tcode{const unsigned int},
348+
and \tcode{u} denotes an identifier.
342349

343350
\begin{libreqtab3}
344351
{MulticastGroupSocketOption requirements}
@@ -4104,7 +4111,10 @@
41044111
\rSec1[internet.socket.opt]{Internet socket options}
41054112

41064113
\pnum
4107-
In Table~\ref{tab:internet.socket.opt.requirements}, let \placeholder{C} denote a socket option class; let \placeholder{L} identify the POSIX macro to be passed as the \tcode{level} argument to POSIX \tcode{setsockopt} and getsockopt; let \placeholder{N} identify the POSIX macro to be passed as the \tcode{option_name} argument to POSIX \tcode{setsockopt} and \tcode{getsockopt}; let \placeholder{T} identify the type of the value whose address will be passed as the \tcode{option_value} argument to POSIX \tcode{setsockopt} and \tcode{getsockopt}; let \tcode{p} denote a (possibly const) value of a type meeting the protocol~(\ref{socket.reqmts.protocol}) requirements, as passed to the socket option's \tcode{level} and \tcode{name} member functions; and let \tcode{F} be the value of \tcode{p.family()}.
4114+
In Table~\ref{tab:internet.socket.opt.requirements}, let \placeholder{C} denote a socket option class; let \placeholder{L} identify the POSIX macro to be passed as the \tcode{level} argument to POSIX \tcode{setsockopt} and getsockopt; let \placeholder{N} identify the POSIX macro to be passed as the \tcode{option_name} argument to POSIX \tcode{setsockopt} and \tcode{getsockopt}; let \placeholder{T} identify the type of the value whose address will be passed as the \tcode{option_value} argument to POSIX \tcode{setsockopt} and \tcode{getsockopt};
4115+
let \tcode{p} denote a value of a (possibly const) type meeting the protocol~(\ref{socket.reqmts.protocol}) requirements,
4116+
as passed to the socket option's \tcode{level} and \tcode{name} member functions;
4117+
and let \tcode{F} be the value of \tcode{p.family()}.
41084118

41094119
\begin{LongTable}
41104120
{Internet socket options}

0 commit comments

Comments
 (0)