Why use a perfectly forwarded value (a functor)?
In Brief… The TL;DR, you want to preserve the value category (r-value/l-value nature) of the functor because this can affect the overload resolution, in particular the ref-qualified members. Function definition reduction To focus on the issue of the function being forwarded, I’ve reduced the sample (and made it compile with a C++11 compiler) to; template<class … Read more