Boost logo

Boost :

From: Doug Gregor (dgregor_at_[hidden])
Date: 2004-10-27 09:31:36

On Oct 27, 2004, at 4:22 AM, Patrick Kowalzick wrote:

> Dear all,
> I am not sure which version of tuples is actual and should be used:
> -The version in boost/tuple is working and seems consitent to the
> manual on
> the boost homepage.
> -The version in boost/spirit/fusion/sequence is working too and seems
> to be
> consistent to "C++ Standard Library Technical Report". tuple_size and
> tuple_element exist, which do not exist in the first version.
> Why are there two versions?

The former was the original Tuples library, whereas the latter was
written later according to the exact wording of the Library TR using a
different implementation technique.

> Which one shall I use?

It doesn't really matter... you may get better performance
(compile-time and run-time) out of the Fusion version, but it's also
unreviewed code. [*] I tend to use the original boost/tuple out of

> P.S.: I have another short question, and need a small hint (what to
> search
> ;) ) for kind of a "compile time for-loop".
> Something like this:
> index[0] = fw_index::template get_index< tuples::tuple_element< 0,
> TTuple>::type >();
> index[1] = fw_index::template get_index< tuples::tuple_element< 1,
> TTuple>::type >();
> ...

Todd Veldhuizen's web page on template metaprogramming might be a good

Or, if you can hold off a few weeks, David Abrahams and Aleksey
Gurtovoy have written a more extensive book on template


[*] It's undoubtedly correct code, but still...

Boost list run by bdawes at, gregod at, cpdaniel at, john at