Rationale: Required by new features
. Effect on original feature:
Valid C++ 2003 code that uses any identifiers added to the C++ standard
library by this International Standard may fail to compile or produce different
results in this International Standard
. A comprehensive list of identifiers used
by the C++ standard library can be found in the Index of Library Names in this
International Standard
. Rationale: New functionality
. Effect on original feature:
The following C++ headers are new:
<array>,
<atomic>,
<chrono>,
<codecvt>,
<condition_variable>,
<forward_list>,
<future>,
<initializer_list>,
<mutex>,
<random>,
<ratio>,
<regex>,
<scoped_allocator>,
<system_error>,
<thread>,
<tuple>,
<typeindex>,
<type_traits>,
<unordered_map>,
and
<unordered_set>. In addition the following C compatibility headers are new:
<ccomplex>,
<cfenv>,
<cinttypes>,
<cstdalign>,
<cstdbool>,
<cstdint>,
<ctgmath>,
and
<cuchar>. Valid C++ 2003 code that
#includes headers with these names may be
invalid in this International Standard
.[swappable.requirements]
Effect on original feature: Function
swap moved to a different header
Rationale: Remove dependency on
<algorithm> for
swap. Effect on original feature: Valid C++ 2003 code that has been compiled expecting swap to be in
<algorithm> may have to instead include
<utility>. Rationale: New functionality
. Effect on original feature:
The global namespace
posix is now reserved for standardization
. Valid
C++ 2003 code that uses a top-level namespace
posix may be invalid in
this International Standard
. Rationale: Avoid hard to diagnose or non-portable constructs
. Effect on original feature:
Names of attribute identifiers may not be used as macro names
. Valid C++
2003 code that defines
override,
final,
carries_dependency, or
noreturn as macros is invalid in this
International Standard
.