tmp/tmppy6vgpzy/{from.md → to.md}
RENAMED
|
@@ -1,29 +1,33 @@
|
|
| 1 |
## Implementation compliance <a id="intro.compliance">[[intro.compliance]]</a>
|
| 2 |
|
| 3 |
The set of *diagnosable rules* consists of all syntactic and semantic
|
| 4 |
rules in this International Standard except for those rules containing
|
| 5 |
an explicit notation that “no diagnostic is required” or which are
|
| 6 |
-
described as resulting in “undefined behavior
|
| 7 |
|
| 8 |
Although this International Standard states only requirements on C++
|
| 9 |
implementations, those requirements are often easier to understand if
|
| 10 |
they are phrased as requirements on programs, parts of programs, or
|
| 11 |
execution of programs. Such requirements have the following meaning:
|
| 12 |
|
| 13 |
- If a program contains no violations of the rules in this International
|
| 14 |
Standard, a conforming implementation shall, within its resource
|
| 15 |
limits, accept and correctly execute[^2] that program.
|
| 16 |
- If a program contains a violation of any diagnosable rule or an
|
| 17 |
-
occurrence of a construct described in this Standard as
|
| 18 |
“conditionally-supported” when the implementation does not support
|
| 19 |
that construct, a conforming implementation shall issue at least one
|
| 20 |
diagnostic message.
|
| 21 |
- If a program contains a violation of a rule for which no diagnostic is
|
| 22 |
required, this International Standard places no requirement on
|
| 23 |
implementations with respect to that program.
|
| 24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
For classes and class templates, the library Clauses specify partial
|
| 26 |
definitions. Private members (Clause [[class.access]]) are not
|
| 27 |
specified, but each implementation shall supply them to complete the
|
| 28 |
definitions according to the description in the library Clauses.
|
| 29 |
|
|
|
|
| 1 |
## Implementation compliance <a id="intro.compliance">[[intro.compliance]]</a>
|
| 2 |
|
| 3 |
The set of *diagnosable rules* consists of all syntactic and semantic
|
| 4 |
rules in this International Standard except for those rules containing
|
| 5 |
an explicit notation that “no diagnostic is required” or which are
|
| 6 |
+
described as resulting in “undefined behavior”.
|
| 7 |
|
| 8 |
Although this International Standard states only requirements on C++
|
| 9 |
implementations, those requirements are often easier to understand if
|
| 10 |
they are phrased as requirements on programs, parts of programs, or
|
| 11 |
execution of programs. Such requirements have the following meaning:
|
| 12 |
|
| 13 |
- If a program contains no violations of the rules in this International
|
| 14 |
Standard, a conforming implementation shall, within its resource
|
| 15 |
limits, accept and correctly execute[^2] that program.
|
| 16 |
- If a program contains a violation of any diagnosable rule or an
|
| 17 |
+
occurrence of a construct described in this International Standard as
|
| 18 |
“conditionally-supported” when the implementation does not support
|
| 19 |
that construct, a conforming implementation shall issue at least one
|
| 20 |
diagnostic message.
|
| 21 |
- If a program contains a violation of a rule for which no diagnostic is
|
| 22 |
required, this International Standard places no requirement on
|
| 23 |
implementations with respect to that program.
|
| 24 |
|
| 25 |
+
[*Note 1*: During template argument deduction and substitution, certain
|
| 26 |
+
constructs that in other contexts require a diagnostic are treated
|
| 27 |
+
differently; see [[temp.deduct]]. — *end note*]
|
| 28 |
+
|
| 29 |
For classes and class templates, the library Clauses specify partial
|
| 30 |
definitions. Private members (Clause [[class.access]]) are not
|
| 31 |
specified, but each implementation shall supply them to complete the
|
| 32 |
definitions according to the description in the library Clauses.
|
| 33 |
|