[diff.cpp14.library]

# Annex C (informative) Compatibility [[diff]](./#diff)

## C.4 C++ and ISO C++ 2014 [[diff.cpp14]](diff.cpp14#library)

### C.4.8 [[library]](library "16 Library introduction"): library introduction [diff.cpp14.library]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L1811)

**Affected subclause:** [[headers]](headers)  


**Change:** New headers[.](#1.sentence-1)

  


**Rationale:** New functionality[.](#1.sentence-2)

  


**Effect on original feature:** The following C++ headers are new:[<any>](any.synop#header:%3cany%3e "22.7.2 Header <any> synopsis [any.synop]"),[<charconv>](charconv.syn#header:%3ccharconv%3e "28.2.1 Header <charconv> synopsis [charconv.syn]"),[<execution>](execution.syn#header:%3cexecution%3e "33.4 Header <execution> synopsis [execution.syn]"),[<filesystem>](fs.filesystem.syn#header:%3cfilesystem%3e "31.12.4 Header <filesystem> synopsis [fs.filesystem.syn]"),[<memory_resource>](mem.res.syn#header:%3cmemory_resource%3e "20.5.1 Header <memory_­resource> synopsis [mem.res.syn]"),[<optional>](optional.syn#header:%3coptional%3e "22.5.2 Header <optional> synopsis [optional.syn]"),  

[<string_view>](string.view.synop#header:%3cstring_view%3e "27.3.2 Header <string_­view> synopsis [string.view.synop]"),
and[<variant>](variant.syn#header:%3cvariant%3e "22.6.2 Header <variant> synopsis [variant.syn]")[.](#1.sentence-4)

Valid C++ 2014 code that #includes headers with these names may be
invalid in this revision of C++[.](#1.sentence-5)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L1830)

**Affected subclause:** [[namespace.future]](namespace.future)  


**Change:** New reserved namespaces[.](#2.sentence-1)

  


**Rationale:** Reserve namespaces for future revisions of the standard library
that might otherwise be incompatible with existing programs[.](#2.sentence-2)

  


**Effect on original feature:** The global namespaces std followed by an arbitrary sequence of [*digit*](lex.name#nt:digit "5.11 Identifiers [lex.name]")*s* ([[lex.name]](lex.name "5.11 Identifiers"))
are reserved for future standardization[.](#2.sentence-3)

Valid C++ 2014 code that uses such a top-level namespace,
e.g., std2, may be invalid in this revision of C++[.](#2.sentence-4)
