Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
C++ Standard Library
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===General=== Components that C++ programs may use for increased features. {| class="wikitable" ! Name !! Description |- | {{code|<any>}} || Added in [[C++17]]. Provides a type-erased class <code>std::any</code>. |- | {{code|<atomic>}} || Added in [[C++11]]. Provides class template <code>std::atomic</code>, its several template specializations, and more atomic operations. |- | {{code|<chrono>}} || Provides time elements, such as <code>std::chrono::duration</code>, <code>std::chrono::time_point</code>, and clocks. Since [[C++20]], a hefty amount of temporal features were added: calendars, time zones, more clocks, and string chrono formatting. |- | {{code|<concepts>}} || Added in [[C++20]]. Provides fundamental library [[Concepts (C++)|concepts]]. |- | {{code|<expected>}} || Added in [[C++23]]. Provides class template <code>std::expected</code>, a [[result type]]. |- | {{code|<functional>}} || Provides several [[function object]]s, designed for use with the standard algorithms. |- | {{code|<generator>}} || Added in [[C++23]]. Provides a [[Generator (computer programming)|coroutine generator]] that additionally supports nested yield operations on ranges. |- | {{code|<memory>}} || Provides facilities for [[memory management]] in C++, including the class template <code>std::unique_ptr</code>. |- | {{code|<memory_resource>}} || Added in [[C++17]]. Provides facilities for creating polymorphic memory allocators whose behaviors can change at runtime.<ref>{{Cite web|last=Filipek|first=Bartlomiej|title=Polymorphic Allocators, std::vector Growth and Hacking|url=https://www.bfilipek.com/2020/06/pmr-hacking.html|access-date=2021-04-30|language=en}}</ref> |- | {{code|<optional>}} || Added in [[C++17]]. Provides class template <code>std::optional</code>, an [[Option type|optional type]]. |- | {{code|<scoped_allocator>}} || Added in [[C++11]]. Provides <code>std::scoped_allocator_adaptor</code>. |- | {{code|<stacktrace>}} || Added in [[C++23]]. Provides [[stack trace]] operations. |- | {{code|<stdexcept>}} || Contains standard exception classes such as <code>std::logic_error</code> and <code>std::runtime_error</code>, both derived from <code>std::exception</code>. |- | {{code|<system_error>}} || Added in [[C++11]]. Defines <code>std::error_code</code> |- | {{code|<tuple>}} || Added in [[C++11]] and TR1. Provides a class template <code>std::tuple</code>, a [[tuple]]. |- | {{code|<type_traits>}} || Added in [[C++11]]. Provides metaprogramming facilities working with types. |- | {{code|<utility>}} || The [[Utility (C++)|utility file]] provides various utilities: class template <code>std::pair</code> (two-member [[tuple]]s), compile-time integer sequences, helpers in constructing vocabulary types, functions such as <code>std::move</code> and <code>std::forward</code>, and many more. The namespace <code>std::rel_ops</code> for automatically generating comparison operators is deprecated in [[C++20]] in favor of new defaulted comparison operators. |- | {{code|<variant>}} || Added in [[C++17]]. Provides a class template <code>std::variant</code>, a [[Tagged union|tagged union type]]. |}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)