lexical_castでも使ってたんかな?
標準ライブラリで十分そうだけど