tmp/tmp_56nvl4d/{from.md → to.md}
RENAMED
|
@@ -3,13 +3,13 @@
|
|
| 3 |
**Change:** Complexity of `size()` member functions now constant.
|
| 4 |
**Rationale:** Lack of specification of complexity of `size()` resulted
|
| 5 |
in divergent implementations with inconsistent performance
|
| 6 |
characteristics. **Effect on original feature:** Some container
|
| 7 |
implementations that conform to C++03 may not conform to the specified
|
| 8 |
-
`size()` requirements in this
|
| 9 |
-
|
| 10 |
-
|
| 11 |
|
| 12 |
**Change:** Requirements change: relaxation. **Rationale:**
|
| 13 |
Clarification. **Effect on original feature:** Valid C++03 code that
|
| 14 |
attempts to meet the specified container requirements may now be
|
| 15 |
over-specified. Code that attempted to be portable across containers may
|
|
@@ -36,11 +36,11 @@ functions have changed:
|
|
| 36 |
- `insert(pos, num, val)` for `vector`, `deque`, `list`, `forward_list`
|
| 37 |
- `insert(pos, beg, end)` for `vector`, `deque`, `list`, `forward_list`
|
| 38 |
|
| 39 |
Valid C++03 code that relies on these functions returning `void` (e.g.,
|
| 40 |
code that creates a pointer to member function that points to one of
|
| 41 |
-
these functions) will fail to compile with this
|
| 42 |
|
| 43 |
**Change:** Signature changes: from `iterator` to `const_iterator`
|
| 44 |
parameters. **Rationale:** Overspecification. **Effect on original
|
| 45 |
feature:** The signatures of the following member functions changed from
|
| 46 |
taking an `iterator` to taking a `const_iterator`:
|
|
@@ -51,14 +51,14 @@ taking an `iterator` to taking a `const_iterator`:
|
|
| 51 |
- `erase(begin, end)` for `set`, `multiset`, `map`, `multimap`
|
| 52 |
- all forms of `list::splice`
|
| 53 |
- all forms of `list::merge`
|
| 54 |
|
| 55 |
Valid C++03 code that uses these functions may fail to compile with this
|
| 56 |
-
|
| 57 |
|
| 58 |
**Change:** Signature changes: `resize`. **Rationale:** Performance,
|
| 59 |
compatibility with move semantics. **Effect on original feature:** For
|
| 60 |
`vector`, `deque`, and `list` the fill value passed to `resize` is now
|
| 61 |
passed by reference instead of by value, and an additional overload of
|
| 62 |
`resize` has been added. Valid C++03 code that uses this function may
|
| 63 |
-
fail to compile with this
|
| 64 |
|
|
|
|
| 3 |
**Change:** Complexity of `size()` member functions now constant.
|
| 4 |
**Rationale:** Lack of specification of complexity of `size()` resulted
|
| 5 |
in divergent implementations with inconsistent performance
|
| 6 |
characteristics. **Effect on original feature:** Some container
|
| 7 |
implementations that conform to C++03 may not conform to the specified
|
| 8 |
+
`size()` requirements in this revision of C++. Adjusting containers such
|
| 9 |
+
as `std::list` to the stricter requirements may require incompatible
|
| 10 |
+
changes.
|
| 11 |
|
| 12 |
**Change:** Requirements change: relaxation. **Rationale:**
|
| 13 |
Clarification. **Effect on original feature:** Valid C++03 code that
|
| 14 |
attempts to meet the specified container requirements may now be
|
| 15 |
over-specified. Code that attempted to be portable across containers may
|
|
|
|
| 36 |
- `insert(pos, num, val)` for `vector`, `deque`, `list`, `forward_list`
|
| 37 |
- `insert(pos, beg, end)` for `vector`, `deque`, `list`, `forward_list`
|
| 38 |
|
| 39 |
Valid C++03 code that relies on these functions returning `void` (e.g.,
|
| 40 |
code that creates a pointer to member function that points to one of
|
| 41 |
+
these functions) will fail to compile with this revision of C++.
|
| 42 |
|
| 43 |
**Change:** Signature changes: from `iterator` to `const_iterator`
|
| 44 |
parameters. **Rationale:** Overspecification. **Effect on original
|
| 45 |
feature:** The signatures of the following member functions changed from
|
| 46 |
taking an `iterator` to taking a `const_iterator`:
|
|
|
|
| 51 |
- `erase(begin, end)` for `set`, `multiset`, `map`, `multimap`
|
| 52 |
- all forms of `list::splice`
|
| 53 |
- all forms of `list::merge`
|
| 54 |
|
| 55 |
Valid C++03 code that uses these functions may fail to compile with this
|
| 56 |
+
revision of C++.
|
| 57 |
|
| 58 |
**Change:** Signature changes: `resize`. **Rationale:** Performance,
|
| 59 |
compatibility with move semantics. **Effect on original feature:** For
|
| 60 |
`vector`, `deque`, and `list` the fill value passed to `resize` is now
|
| 61 |
passed by reference instead of by value, and an additional overload of
|
| 62 |
`resize` has been added. Valid C++03 code that uses this function may
|
| 63 |
+
fail to compile with this revision of C++.
|
| 64 |
|