VC++2010のratio_equalとratio_lessがバグってることに気付いた。
2012では直ってる?