Boost logo

Boost Users :

From: Bryan Green (bryan.d.green_at_[hidden])
Date: 2008-05-14 17:16:33


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;
}


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net