why not boost::lexical_cast<> ?