tmp/tmpxk1ej2hs/{from.md → to.md}
RENAMED
|
@@ -13,12 +13,12 @@ The string and iostream components use an explicit representation of
|
|
| 13 |
operations required of template arguments. They use a class template
|
| 14 |
`char_traits` to define these constraints.
|
| 15 |
|
| 16 |
Interface convention requirements are stated as generally as possible.
|
| 17 |
Instead of stating “class X has to define a member function
|
| 18 |
-
`operator++()`
|
| 19 |
-
`X`, `++x` is defined
|
| 20 |
unspecified.
|
| 21 |
|
| 22 |
Requirements are stated in terms of well-defined expressions that define
|
| 23 |
valid terms of the types that satisfy the requirements. For every set of
|
| 24 |
well-defined expression requirements there is a table that specifies an
|
|
@@ -31,7 +31,7 @@ Template argument requirements are sometimes referenced by name. See
|
|
| 31 |
[[type.descriptions]].
|
| 32 |
|
| 33 |
In some cases the semantic requirements are presented as C++code. Such
|
| 34 |
code is intended as a specification of equivalence of a construct to
|
| 35 |
another construct, not necessarily as the way the construct must be
|
| 36 |
-
implemented.[^
|
| 37 |
|
|
|
|
| 13 |
operations required of template arguments. They use a class template
|
| 14 |
`char_traits` to define these constraints.
|
| 15 |
|
| 16 |
Interface convention requirements are stated as generally as possible.
|
| 17 |
Instead of stating “class X has to define a member function
|
| 18 |
+
`operator++()`”, the interface requires “for any object `x` of class
|
| 19 |
+
`X`, `++x` is defined”. That is, whether the operator is a member is
|
| 20 |
unspecified.
|
| 21 |
|
| 22 |
Requirements are stated in terms of well-defined expressions that define
|
| 23 |
valid terms of the types that satisfy the requirements. For every set of
|
| 24 |
well-defined expression requirements there is a table that specifies an
|
|
|
|
| 31 |
[[type.descriptions]].
|
| 32 |
|
| 33 |
In some cases the semantic requirements are presented as C++code. Such
|
| 34 |
code is intended as a specification of equivalence of a construct to
|
| 35 |
another construct, not necessarily as the way the construct must be
|
| 36 |
+
implemented.[^2]
|
| 37 |
|