Ошибочные алгоритмы.
Маршалл Клоу
namespace boost {
namespace algorithm {
template<typename T> T identity_operation(std::multiplies< T >);
template<typename T> T identity_operation(std::plus< T >);
template<typename T, typename Integer>
boost::enable_if< boost::is_integral< Integer >, T >::type
power(T, Integer);
template<typename T, typename Integer, typename Operation>
boost::enable_if< boost::is_integral< Integer >, T >::type
power(T, Integer, Operation);
}
}