Skip to content

Commit 4318184

Browse files
authored
Replace "could" and "might", Clauses 1-15. (#4384)
1 parent f124033 commit 4318184

File tree

9 files changed

+70
-71
lines changed

9 files changed

+70
-71
lines changed

source/basic.tex

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,7 @@
699699
The entity is still declared in multiple translation units, and \ref{basic.link}
700700
still applies to these declarations. In particular,
701701
\grammarterm{lambda-expression}{s}\iref{expr.prim.lambda}
702-
appearing in the type of \tcode{D} might result
702+
appearing in the type of \tcode{D} can result
703703
in the different declarations having distinct types, and
704704
\grammarterm{lambda-expression}{s} appearing in a default argument of \tcode{D}
705705
might still denote different types in different translation units.
@@ -1542,7 +1542,7 @@
15421542
\begin{footnote}
15431543
This
15441544
refers to unqualified names following the class name;
1545-
such a name might be used in a \grammarterm{base-specifier} or
1545+
such a name can be used in a \grammarterm{base-specifier} or
15461546
in the \grammarterm{member-specification} of the class definition.
15471547
\end{footnote}
15481548
outside of a complete-class context\iref{class.mem} of \tcode{X}
@@ -2859,7 +2859,7 @@
28592859
\grammarterm{using-directive}{s}
28602860
do not declare entities.
28612861
Enumerators do not have linkage,
2862-
but might serve as the name of an enumeration with linkage\iref{dcl.enum}.
2862+
but can serve as the name of an enumeration with linkage\iref{dcl.enum}.
28632863
\end{note}
28642864

28652865
\pnum
@@ -2987,7 +2987,7 @@
29872987
a specialization of a template
29882988
whose (possibly instantiated) declaration is an exposure.
29892989
\begin{note}
2990-
The specialization might have been implicitly or explicitly instantiated.
2990+
A specialization can be produced by implicit or explicit instantiation.
29912991
\end{note}
29922992
\end{itemize}
29932993

@@ -3472,7 +3472,7 @@
34723472
lifetime ends there are significant restrictions on the use of the
34733473
object, as described below, in~\ref{class.base.init} and
34743474
in~\ref{class.cdtor}. Also, the behavior of an object under construction
3475-
and destruction might not be the same as the behavior of an object whose
3475+
and destruction can differ from the behavior of an object whose
34763476
lifetime has started and not ended. \ref{class.base.init}
34773477
and~\ref{class.cdtor} describe the behavior of an object during its periods
34783478
of construction and destruction.
@@ -4229,7 +4229,7 @@
42294229
\begin{note}
42304230
The effect of using an invalid pointer value (including passing it to a
42314231
deallocation function) is undefined, see~\ref{basic.stc}.
4232-
This is true even if the unsafely-derived pointer value might compare equal to
4232+
This is true even if the unsafely-derived pointer value would compare equal to
42334233
some safely-derived pointer value.
42344234
\end{note}
42354235
It is
@@ -5329,8 +5329,8 @@
53295329
\begin{note}
53305330
A pointer past the end of an object\iref{expr.add}
53315331
is not considered to point to an unrelated object
5332-
of the object's type
5333-
that might be located at that address.
5332+
of the object's type,
5333+
even if the unrelated object is located at that address.
53345334
A pointer value becomes invalid
53355335
when the storage it denotes
53365336
reaches the end of its storage duration;
@@ -5731,7 +5731,7 @@
57315731
\placeholder{B} or \placeholder{B} is sequenced before \placeholder{A}, but it is unspecified which.
57325732
\begin{note}
57335733
Indeterminately sequenced evaluations cannot overlap, but either
5734-
could be executed first.
5734+
can be executed first.
57355735
\end{note}
57365736
An expression \placeholder{X}
57375737
is said to be sequenced before
@@ -5937,7 +5937,7 @@
59375937
There is a separate order for each
59385938
atomic object. There is no requirement that these can be combined into a single
59395939
total order for all objects. In general this will be impossible since different
5940-
threads might observe modifications to different objects in inconsistent orders.
5940+
threads can observe modifications to different objects in inconsistent orders.
59415941
\end{note}
59425942

59435943
\pnum
@@ -6355,7 +6355,7 @@
63556355
\begin{example}
63566356
A library I/O function that blocks until the I/O operation is complete can
63576357
be considered to continuously check whether the operation is complete. Each
6358-
such check might consist of one or more execution steps, for example using
6358+
such check consists of one or more execution steps, for example using
63596359
observable behavior of the abstract machine.
63606360
\end{example}
63616361

@@ -6460,7 +6460,7 @@
64606460
stronger forward progress guarantee for a certain amount of time, due to a
64616461
second thread of execution $A$ being blocked on it with forward
64626462
progress guarantee delegation. In turn, if $B$ then blocks with
6463-
forward progress guarantee delegation on $C$, this could also temporarily
6463+
forward progress guarantee delegation on $C$, this can also temporarily
64646464
provide a stronger forward progress guarantee to $C$.
64656465
\end{note}
64666466

source/classes.tex

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -738,8 +738,8 @@
738738
The order of allocation of non-static data members
739739
with different access control
740740
is unspecified.
741-
Implementation alignment requirements might cause two adjacent members
742-
not to be allocated immediately after each other; so might requirements
741+
Implementation alignment requirements can cause two adjacent members
742+
not to be allocated immediately after each other; so can requirements
743743
for space for managing virtual functions\iref{class.virtual} and
744744
virtual base classes\iref{class.mi}.
745745
\end{note}
@@ -837,7 +837,7 @@
837837
if that member is not a bit-field. Its
838838
address is also the same as the address of each of its base class subobjects.
839839
\begin{note}
840-
There might therefore be unnamed padding within a standard-layout struct object
840+
There can therefore be unnamed padding within a standard-layout struct object
841841
inserted by an implementation, but
842842
not at its beginning, as necessary to achieve appropriate alignment.
843843
\end{note}
@@ -3613,9 +3613,9 @@
36133613

36143614
\pnum
36153615
\begin{note}
3616-
A base class subobject might have a layout different
3616+
A base class subobject can have a layout different
36173617
from the layout of a most derived object of the same type. A base class
3618-
subobject might have a polymorphic behavior\iref{class.cdtor}
3618+
subobject can have a polymorphic behavior\iref{class.cdtor}
36193619
different from the polymorphic behavior of a most derived object of the
36203620
same type. A base class subobject can be of zero size;
36213621
however, two subobjects that have the same class type and that belong to
@@ -3705,7 +3705,7 @@
37053705
\end{importgraphic}
37063706

37073707
In such lattices, explicit qualification can be used to specify which
3708-
subobject is meant. The body of function \tcode{C::f} could refer to the
3708+
subobject is meant. The body of function \tcode{C::f} can refer to the
37093709
member \tcode{next} of each \tcode{L} subobject:
37103710
\begin{codeblock}
37113711
void C::f() { A::next = B::next; } // well-formed
@@ -3792,8 +3792,8 @@
37923792
\begin{footnote}
37933793
If
37943794
all virtual functions are immediate functions,
3795-
the class is still polymorphic even though
3796-
its internal representation might not otherwise require
3795+
the class is still polymorphic even if
3796+
its internal representation does not otherwise require
37973797
any additions for that polymorphic behavior.
37983798
\end{footnote}
37993799

@@ -4485,7 +4485,7 @@
44854485
\pnum
44864486
\begin{note}
44874487
Even if the result of name lookup is unambiguous, use of a name found in
4488-
multiple subobjects might still be
4488+
multiple subobjects can still be
44894489
ambiguous~(\ref{conv.mem}, \ref{expr.ref}, \ref{class.access.base}).
44904490
\end{note}
44914491
\begin{example}
@@ -4874,12 +4874,12 @@
48744874

48754875
\pnum
48764876
\begin{note}
4877-
A member of a private base class might be inaccessible as an inherited
4877+
A member of a private base class can be inaccessible as an inherited
48784878
member name, but accessible directly.
48794879
Because of the rules on pointer conversions\iref{conv.ptr} and
48804880
explicit casts~(\ref{expr.type.conv}, \ref{expr.static.cast}, \ref{expr.cast}),
48814881
a conversion from a pointer to a derived class to a pointer
4882-
to an inaccessible base class might be ill-formed if an implicit conversion
4882+
to an inaccessible base class can be ill-formed if an implicit conversion
48834883
is used, but well-formed if an explicit cast is used.
48844884
For example,
48854885

@@ -6579,7 +6579,7 @@
65796579
requiring a constant expression\iref{expr.const}
65806580
and in constant initialization\iref{basic.start.static}.
65816581
\begin{note}
6582-
Copy elision might be performed
6582+
It is possible that copy elision is performed
65836583
if the same expression
65846584
is evaluated in another context.
65856585
\end{note}
@@ -7247,7 +7247,7 @@
72477247
\pnum
72487248
Access to the deallocation function is checked statically.
72497249
\begin{note}
7250-
Hence, even though a different one might actually be executed,
7250+
Hence, even if a different one is actually executed,
72517251
the statically visible deallocation function is required to be accessible.
72527252
\end{note}
72537253
\begin{example}

source/declarations.tex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3596,7 +3596,7 @@
35963596
For example,
35973597
the function
35983598
\tcode{fpif}
3599-
above could have been declared
3599+
above can be declared
36003600
\begin{codeblock}
36013601
typedef int IFUNC(int);
36023602
IFUNC* fpif(int);
@@ -4610,7 +4610,7 @@
46104610
this is the defining declaration\iref{basic.def} of the variable,
46114611
but the initializing declaration
46124612
of a non-inline static data member\iref{class.static.data}
4613-
might be the declaration within the class definition
4613+
can be the declaration within the class definition
46144614
and not the definition at namespace scope.
46154615
\end{note}
46164616

@@ -5828,7 +5828,7 @@
58285828
ill-formed\iref{class.base.init}.
58295829
\end{example}
58305830
\begin{note}
5831-
The implementation is free to allocate the array in read-only memory if an explicit array with the same initializer could be so allocated.
5831+
The implementation is free to allocate the array in read-only memory if an explicit array with the same initializer can be so allocated.
58325832
\end{note}
58335833

58345834
\pnum
@@ -5863,8 +5863,8 @@
58635863
int x = 999; // \tcode{x} is not a constant expression
58645864
const int y = 999;
58655865
const int z = 99;
5866-
char c1 = x; // OK, though it might narrow (in this case, it does narrow)
5867-
char c2{x}; // error: might narrow
5866+
char c1 = x; // OK, though it potentially narrows (in this case, it does narrow)
5867+
char c2{x}; // error: potentially narrows
58685868
char c3{y}; // error: narrows (assuming \tcode{char} is 8 bits)
58695869
char c4{z}; // OK: no narrowing needed
58705870
unsigned char uc1 = {5}; // OK: no narrowing needed
@@ -5873,7 +5873,7 @@
58735873
signed int si1 =
58745874
{ (unsigned int)-1 }; // error: narrows
58755875
int ii = {2.0}; // error: narrows
5876-
float f1 { x }; // error: might narrow
5876+
float f1 { x }; // error: potentially narrows
58775877
float f2 { 7 }; // OK: 7 can be exactly represented as a \tcode{float}
58785878
bool b = {"meow"}; // error: narrows
58795879
int f(int);

source/expressions.tex

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1685,7 +1685,7 @@
16851685
or operator template is the \grammarterm{requires-clause}
16861686
of the \grammarterm{lambda-declarator}, if any.
16871687
\begin{note}
1688-
The function call operator template for a generic lambda might be
1688+
The function call operator template for a generic lambda can be
16891689
an abbreviated function template\iref{dcl.fct}.
16901690
\end{note}
16911691
\begin{example}
@@ -1951,7 +1951,7 @@
19511951
operators otherwise\iref{class.copy.assign}.
19521952
\begin{note}
19531953
These special member functions are implicitly defined as
1954-
usual, and might therefore be defined as deleted.
1954+
usual, which can result in them being defined as deleted.
19551955
\end{note}
19561956

19571957
\pnum
@@ -2159,20 +2159,20 @@
21592159

21602160
auto g2 = [=](auto a) {
21612161
int selector[sizeof(a) == 1 ? 1 : 2]{};
2162-
f(x, selector); // OK: captures \tcode{x}, might call \#1 or \#2
2162+
f(x, selector); // OK: captures \tcode{x}, can call \#1 or \#2
21632163
};
21642164

21652165
auto g3 = [=](auto a) {
21662166
typeid(a + x); // captures \tcode{x} regardless of whether \tcode{a + x} is an unevaluated operand
21672167
};
21682168
}
21692169
\end{codeblock}
2170-
Within \tcode{g1}, an implementation might optimize away
2170+
Within \tcode{g1}, an implementation can optimize away
21712171
the capture of \tcode{x} as it is not odr-used.
21722172
\end{example}
21732173
\begin{note}
21742174
The set of captured entities is determined syntactically,
2175-
and entities might be implicitly captured
2175+
and entities are implicitly captured
21762176
even if the expression denoting a local entity
21772177
is within a discarded statement\iref{stmt.if}.
21782178
\begin{example}
@@ -2875,7 +2875,7 @@
28752875
The \tcode{>} token following the
28762876
\grammarterm{type-id} in a \tcode{dynamic_cast},
28772877
\tcode{static_cast}, \tcode{reinterpret_cast}, or
2878-
\tcode{const_cast} might be the product of replacing a
2878+
\tcode{const_cast} can be the product of replacing a
28792879
\tcode{>>} token by two consecutive \tcode{>}
28802880
tokens\iref{temp.names}.
28812881
\end{note}
@@ -3051,7 +3051,7 @@
30513051
or destructor for a function parameter throws an exception, the search
30523052
for a handler starts in the scope of the calling function; in
30533053
particular, if the function called has a \grammarterm{function-try-block}\iref{except.pre}
3054-
with a handler that could handle the exception,
3054+
with a handler that can handle the exception,
30553055
this handler is not considered.
30563056
\end{example}
30573057

@@ -4143,7 +4143,7 @@
41434143
is not limited to conversions that cast away a
41444144
const-qualifier.
41454145
\end{footnote}
4146-
might produce undefined behavior\iref{dcl.type.cv}.
4146+
can produce undefined behavior\iref{dcl.type.cv}.
41474147
\end{note}
41484148

41494149
\pnum
@@ -4319,7 +4319,7 @@
43194319
The address of an overloaded function\iref{over} can be taken
43204320
only in a context that uniquely determines which version of the
43214321
overloaded function is referred to (see~\ref{over.over}).
4322-
Since the context might determine whether the operand is a static or
4322+
Since the context can affect whether the operand is a static or
43234323
non-static member function, the context can also affect whether the
43244324
expression has type ``pointer to function'' or ``pointer to member
43254325
function''.
@@ -4990,7 +4990,7 @@
49904990
versions\iref{class.free}.
49914991
The set of allocation and deallocation functions that can be called
49924992
by a \grammarterm{new-expression}
4993-
could include functions that do not perform allocation or deallocation;
4993+
can include functions that do not perform allocation or deallocation;
49944994
for example, see \ref{new.delete.placement}.
49954995
\end{note}
49964996

@@ -5246,7 +5246,7 @@
52465246
\indextext{\idxcode{new}!exception and}%
52475247
If any part of the object initialization described above%
52485248
\begin{footnote}
5249-
This might
5249+
This can
52505250
include evaluating a \grammarterm{new-initializer} and/or calling
52515251
a constructor.
52525252
\end{footnote}
@@ -6828,7 +6828,7 @@
68286828
\begin{note}
68296829
This restriction applies to the relationship
68306830
between the left and right sides of the assignment operation; it is not a
6831-
statement about how the target of the assignment might be aliased in general.
6831+
statement about how the target of the assignment can be aliased in general.
68326832
See~\ref{basic.lval}.
68336833
\end{note}
68346834

@@ -7411,7 +7411,7 @@
74117411
has constant initialization\iref{basic.start.static}.
74127412
\begin{footnote}
74137413
Testing this condition
7414-
might involve a trial evaluation of its initializer as described above.
7414+
can involve a trial evaluation of its initializer as described above.
74157415
\end{footnote}
74167416
\begin{example}
74177417
\begin{codeblock}
@@ -7426,7 +7426,7 @@
74267426

74277427
constexpr int f() {
74287428
const int n = std::is_constant_evaluated() ? 13 : 17; // \tcode{n} is 13
7429-
int m = std::is_constant_evaluated() ? 13 : 17; // \tcode{m} might be 13 or 17 (see below)
7429+
int m = std::is_constant_evaluated() ? 13 : 17; // \tcode{m} can be 13 or 17 (see below)
74307430
char arr[n] = {}; // char[13]
74317431
return m + sizeof(arr);
74327432
}
@@ -7454,14 +7454,14 @@
74547454
\item
74557455
an immediate subexpression of a \grammarterm{braced-init-list},
74567456
\begin{footnote}
7457-
Constant evaluation might be necessary to determine whether a narrowing conversion is performed\iref{dcl.init.list}.
7457+
In some cases, constant evaluation is needed to determine whether a narrowing conversion is performed\iref{dcl.init.list}.
74587458
\end{footnote}
74597459

74607460
\item
74617461
an expression of the form \tcode{\&} \grammarterm{cast-expression}
74627462
that occurs within a templated entity,
74637463
\begin{footnote}
7464-
Constant evaluation might be necessary to determine whether such an expression is value-dependent\iref{temp.dep.constexpr}.
7464+
In some cases, constant evaluation is needed to determine whether such an expression is value-dependent\iref{temp.dep.constexpr}.
74657465
\end{footnote}
74667466
or
74677467

0 commit comments

Comments
 (0)