Boost
  C++ Libraries
  
  ...one of the most highly
  regarded and expertly designed C++ library projects in the
  world.
 — Herb Sutter and Andrei
  Alexandrescu, C++
  Coding Standards
boost::units::root — take the static_rational root of a value 
// In header: <boost/units/pow.hpp> template<typename Rat, typename Y> root_typeof_helper< Y, Rat >::type root(const Y & x);