The following code example is taken from the book
C++ Move Semantics - The Complete Guide
by Nicolai M. Josuttis,
Leanpub, 2020
The code is licensed under a
Creative Commons Attribution 4.0 International License.
// raw code
#include <utility> // for forward<>()
template <typename Func, typename... Args>
decltype(auto) call (Func f, Args&&... args)
{
//...
return f(std::forward<Args>(args)...);
}