Overview
As C++11 has a lot of libraries, it is often not so easy to find the convenient one for each use case.
Utilities
Utilities are libraries which have a general focus and therefore can be applied in many contexts.
Examples of utilities are functions to calculate the minimum or maximum of values or functions to swap or move values.
Other utilities are std::function
and std::bind
. With std::bind
you can easily create new functions from existing ones. In order to bind them to a variable and invoke them later, you have std::function
.
With std::pair
and it’s generalization std::tuple
you can create heterogeneous pairs and tuples of arbitrary length.
The reference wrappers std::ref
and std::cref
are pretty handy. One can use them to create a reference wrapper for a variable, which for std::cref
is const.
Of course, the highlights of the utilities are the smart pointers. They allow explicit automatic memory management in C++. You can model the concept of explicit ownership...