|
Boost : |
From: Aleksey Gurtovoy (alexy_at_[hidden])
Date: 2001-11-27 10:53:15
Hamish Mackenzie wrote:
> On Tue, 2001-11-27 at 03:09, Aleksey Gurtovoy wrote:
> > It is! For instance, consider stuffing a type_list by a
> > dozen of integer values (boost::mpl has value_list for
> > that, but let's ignore it for the sake of the example);
> > with the names you propose, it will be
> > something like this:
> >
> > typedef type_list<
> > let_value_be<int,1>, let_value_be<int,7>,
> let_value_be<int,5>,
> > let_value_be<int,2>, let_value_be<int,4>,
> let_value_be<int,8>,
> > let_value_be<int,9>, let_value_be<int,2>,
> let_value_be<int,0>,
> > let_value_be<int,3>, let_value_be<int,9>,
> let_value_be<int,1>
> > > values;
> >
> > IMO, there is too much visual clutter here, especially if
> > you consider how little information the above
> > declaration carries. Or, for example, here is a
> > compile-time 'for' loop:
>
> I think we can solve this. See Emily's post and my follow up.
As I said above, boost::mpl DOES have 'value_list' template, so one can
write
typedef mpl::value_list<1,7,5,2,4,8,9,2,0,3,9,1> values;
The above was just an example how cumbersome things can get if your
'int_t<N>' is spelled 'let_value_be<int,N>'. This does matter - consider,
for example, creating a heterogeneous list of int_t's and "ordinary" types.
Aleksey
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk