Furthermore, the answer to the previous post was that its an implementation of shift-add multiplication. Which also happens to describe how it works [grin].
Previously I covered the topic of SFINAE as a means of using compile-time information provided by the C++ language's overload resolution mechanism to make decisions at compile-time. In the context of TR1, specifically the reference_wrapper class, we can use SFINAE as a means of determining various properties that the reference_wrapper class is required to provide depending on the type being wrapped.
If you would like to read more, see here (now with RSS/ATOM feeds).