[boost] ADT Problem on gcd() in rational.hpp