The following code example is taken from the book
 
  The C++ Standard Library - A Tutorial and Reference
 by Nicolai M. Josuttis, Addison-Wesley, 1999
 
  © Copyright Nicolai M. Josuttis 1999
#include <functional>
#include <cmath>
template <class T1, class T2>         
struct fopow : public std::binary_function<T1, T2, T1>
{
    T1 operator() (T1 base, T2 exp) const {
        return std::pow(base,exp);
    }
};