|
Boost : |
From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2006-12-14 10:16:42
"John Maddock" <john_at_[hidden]> wrote in message
news:006401c71f85$12d1a8b0$20570252_at_fuji...
> Weapon Liu wrote:
>> I personally very like this fancy facility, and that's why I present
>> these mumbles here to annoy you guys( if so, my apologies go here:-))
>> Any comments?
>
> I can give you one use I have for tuples:
>
> I have a piece of boilerplate code that accepts a tuple (of any size) and
> prints out either a csv file or a boost::array C++ code conaining the data
> passed.
>
> It allows me to output data for graphing, or matrixes of test data very
> quickly just by creating a short function that returns a tuple, and then
> passing that function to my boilerplate. If I want more columns of data I
> just increase the size of tuple by 1.
>
> I suppose I could have used a vector instead, but it's less elegant
> somehow.
How the std::vector<boost::variant> is less elegant?
1. It's could be implemented in cpp file. Your tuple based solution is in
header right?
2. It allows dynamically sized entries, so you could skip some of the
default values
3. It's as fast of could be even faster since we don't need to pass big
structures around
The only drawback is that you need to know set of types ahead of time. But
this is minor IMO and it's quite easy to add an extra type whether a need
arise.
Gennadiy
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk