|
Boost : |
From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2006-03-01 22:35:01
"Peder Holt" <peder.holt_at_[hidden]> wrote
> 2. In emulation mode, there is no longer any limit to the complexity
> of the types passed to BOOST_TYPEOF_NESTED_TYPEDEF.
> BOOST_TYPEOF_LIMIT_SIZE is no longer a limiting factor.
Interesting.
I think I can see how you avoid the limit related to the number of template
parameters (which is a major improvement by itself).
However, I don't think you can get over the preprocessor limit, can you?
Also, BOOST_TYPEOF_LIMIT_SIZE is there to avoid unnecessary evaluations of
the expression, and again, I don't see how you are planning to not depend on
it... Assumming, of course, that I figured out things correctly, and you
are planning to do something like this:
struct name
{
enum {
value1 = sizeof(encode(expr).item1),
value2 = sizeof(encode(expr).item2),
...
valueN = sizeof(encode(expr).itemN),
};
typedef<decode<some_iterator<name> >::type type;
};
encode still needs to be called BOOST_TYPEOF_LIMIT_SIZE times, doesn't it?
Am I missing something?
Regards,
Arkadiy
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk