A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../header/../utility.html below:

Utility library - cppreference.com

C++ includes a variety of utility libraries that provide functionality ranging from bit-counting to partial function application. These libraries can be broadly divided into two groups:

[edit] Language support

Language support libraries provide classes and functions that interact closely with language features and support common language idioms.

[edit] Implementation properties (since C++20)

The header <version> supplies implementation-dependent information about the C++ standard library (such as the version number and release date). It also defines the library feature-test macros.

[edit] Type support

Basic types (e.g. std::size_t, std::nullptr_t), RTTI (e.g. std::type_info)

[edit] Program utilities

Termination (e.g. std::abort, std::atexit), environment (e.g. std::system), signals (e.g. std::raise).

[edit] Dynamic memory management

Smart pointers (e.g. std::shared_ptr), allocators (e.g. std::allocator or std::pmr::memory_resource), C-style memory management (e.g. std::malloc).

[edit] Error handling

Exceptions (e.g. std::exception, std::terminate), assertions (e.g. assert).

[edit] Variadic functions

Support for functions that take an arbitrary number of parameters (via e.g. va_start, va_arg, va_end).

[edit] Initializer lists (since C++11) [edit] Source code information capture (since C++20) a class representing information about the source code, such as file names, line numbers, and function names
(class) [edit] [edit] Three-way comparison (since C++20) [edit] Coroutine support (since C++20)

Types for coroutine support (e.g. std::coroutine_traits, std::coroutine_handle).

[edit] Contract support (since C++26)

Types for contract support (e.g. std::contracts::contract_violation).

[edit] General-purpose utilities [edit] Swap swaps the values of two objects
(function template) [edit] replaces the argument with a new value and returns its previous value
(function template) [edit] swaps the values of two objects
(customization point object)[edit] [edit] Type operations (since C++11) forwards a function argument and use the type template argument to preserve its value category
(function template) [edit] forwards a function argument as if casting it to the value category and constness of the expression of specified type template argument
(function template) [edit] converts the argument to an xvalue
(function template) [edit] converts the argument to an xvalue if the move constructor does not throw
(function template) [edit] obtains a reference to const to its argument
(function template) [edit] obtains a reference to an object of the template type argument for use in an unevaluated context
(function template) [edit] converts an enumeration to its underlying type
(function template) [edit] [edit] Integer comparison functions (since C++20) [edit] Relational operators (until C++20) [edit] Construction tags (since C++11) [edit] Pairs and tuples implements binary tuple, i.e. a pair of values
(class template) [edit] implements fixed size container, which holds elements of possibly different types
(class template) [edit] calls a function with a tuple of arguments
(function template) [edit] construct an object with a tuple of arguments
(function template) [edit] Tuple protocol (since C++11) obtains the number of elements of a tuple-like type
(class template) [edit] obtains the element types of a tuple-like type
(class template) [edit] [edit] Sum types and type erased wrappers (since C++17) a wrapper that may or may not hold an object
(class template) [edit]   a wrapper that contains either an expected or error value
(class template) [edit]   a type-safe discriminated union
(class template) [edit]   objects that hold instances of any CopyConstructible type
(class) [edit] [edit] Bitset implements constant length bit array
(class template) [edit] [edit] Bit manipulation (since C++20)

The header <bit> provides several function templates to access, manipulate, and process individual bits and bit sequences. The byte ordering (endianness) of scalar types can be inspected via std::endian facility.

[edit] Function objects (since C++11)

Partial function application (e.g. std::bind) and related utilities: utilities for binding such as std::ref and std::placeholders, polymorphic function wrappers: std::function, predefined functors (e.g. std::plus, std::equal_to), pointer-to-member to function converters std::mem_fn.

[edit] Hash support (since C++11) hash function object
(class template) [edit] [edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4