
AMDG Joel de Guzman wrote:
Steven Watanabe wrote:
case_<I>(f) Returns a Case object with supplied <snip more generators>
These can return fusion sequences of cases instead of plain cases. This has the additional benefit that switch_ can be specified as taking a fusion sequence of cases, without having to handle a single case specially.
Right! Makes sense. But wouldn't that use more compile time resources? Well, you know better :-)
I don't think so. I'd have to flatten the sequence anyway. This way you don't pay for it if you're not using it.
From the standpoint of the implementor of switch_, how do I figure out which Case is the default?
I thought it would be just a check:
mpl::empty
But if you want single labels for each Case, then, perhaps:
is_same
or somesuch. Am I missing something
Ok. I didn't like mpl::empty because of the following possibility: switch_<r>(n)(case_range_c<0, N>(f), default(f)); If N is zero there's a problem. In Christ, Steven Watanabe