Boost logo

Boost :

From: Tobias Schwinger (tschwinger_at_[hidden])
Date: 2008-01-13 03:13:49


Joel de Guzman wrote:
> Steven Watanabe wrote:
>> AMDG
>>
>> Tobias Schwinger wrote:
>>> Joel de Guzman wrote:
>>>
>>>> c0, c1, ... cN Returns a fusion sequence of Case objects
>>>>
>>> seemingly equivalent to
>>>
>>> (c0, c1, ... cN)
>>>
>>> (note: Application of comma operator ;-)).
>>>
>>>
>>> ?! Why doesn't it just return another (compound) Case object and leave
>>> the Sequence an unspecified implementation detail...
>>>
>> So you want switch_ to be
>>
>> template<class R, class I, class Cases>
>> requires Case<Cases> && BuiltInIntegerOrEnum<I>
>> R switch(I i, Cases cases);
>>
>> IMO, There is a very big problem here.
>> Suppose that you have a fusion sequence that holds your
>> cases and function objects coming from somewhere else.
>> The problem of adapting it to switch_ is no easier than it
>> would be with my original interface.
>
> Oh man, either my headache is killing me, or I am currently in
> dumb mode. I can't understand both Tobias and Steven. What's
> a "compound Case object"?

(c0,c1,...,cN) being just another 'Case' rather than a 'Sequence'.

Regards,
Tobias


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk