use std::isspace

locale の問題が絡んで来そうな気もしなくもない。