From: Roland (roland_at_[hidden])
Date: 2002-01-18 08:41:57
> > > I never understood what the benefits of doing it differently might be, so I
> > > had nothing to say. If it is just an implementation detail, and it avoids
> Agreed, that's crucially important! Why will the code be faster?
Performance was just one reason for me trying an alternative tuple implementation;
the main reason, however, was my interest in tuples of containers, and
tuples of iterators.
What I'm thinking of is to write something like the following:
vector<int> a; vector<double> b; vector<string> c;
tuple< vector<int>, vector<double>, vector<string> > t( a,b,c );
// Is it the same as vector< tuple<int, double, string> >?
// Close to? Or completely different?
t = tuple<int, double, string>( 42, 3.14, "foo" );
tuple< vector<int>, vector<double>, vector<string> >::iterator it;
// Is the same as tuple< vector<int>::iterator,
// vector<double>::iterator, vector<string>::iterator >
for( it = t.begin(); it != t.end(); ++it ) // requires begin(), end(), ++
Of course there are still a couple of unsolved issues, for instance,
how to deal with different container types / sizes etc.
And perhaps it's a bad idea to stuff all this functionality
into one tuple class.
Another way would be to use zip_view of the View Template Library,
but I'd like to tie together more than two containers.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk