
14 May
2008
14 May
'08
3:16 p.m.
Should it be possible to do a lexical_cast to a tuple if tuple_io.hpp is included? It turns out that it doesn't work. The following example will throw bad_lexical_cast: #include <boost/tuple/tuple.hpp> #include <boost/tuple/tuple_io.hpp> #include <boost/lexical_cast.hpp> #include <iostream> #include <sstream> #include <string> using namespace std; typedef boost::tuple<unsigned,unsigned,unsigned> point; int main() { string s = "(1 2 3)"; point p; stringstream iss; if (!(iss << s).fail()) { if (iss >> p && iss.get() == char_traits<char>::eof()) cout << p << endl; } // throws here: p = boost::lexical_cast<point>(s); cout << p << endl; return 0; }