The following code example is taken from the book
The C++ Standard Library - A Tutorial and Reference, 2nd Edition
by Nicolai M. Josuttis, Addison Wesley Longman, 2012
Copyright © 2012 by Pearson Education, Inc. and Nicolai M. Josuttis
#include <cmath>
template <typename T1, typename T2>
struct fopow
{
T1 operator() (T1 base, T2 exp) const {
return std::pow(base,exp);
}
};