From: Andreas Huber (ahd6974-spamgroupstrap_at_[hidden])
Date: 2005-08-01 09:33:43


David Abrahams wrote:
> "Andreas Huber" <ahd6974-spamgroupstrap_at_[hidden]> writes:
>
>> // InnerInitial is either an mpl sequence of types or a single type
>> template< class InnerInitial >
>> struct state
>
> Interfaces like this one are generally a bad idea because they kill
> genericity and create surprising behaviors in the degenerate case
> where you have a single type that happens to be a sequence.
>
> http://listarchives.boost.org/MailArchives/boost/msg55143.php
>
> http://listarchives.boost.org/MailArchives/boost/msg55098.php

Ok, I guess the example was bit too removed from reality. I should have
said that the types passed as InnerInitial need to be models of
concepts. InnerInitial requirements from the statechart docs:

<quote>
An mpl::list<> containing models of the SimpleState or State concepts or
instantiations of the shallow_history or deep_history class templates.
If there is only a single inner initial state that is not a template
instantiation then it can also be passed directly, without wrapping it
into an mpl::list<>.
</quote>

The requirements for SimpleState and State are such that they cannot be
mpl sequences...

Regards,

-- 
Andreas Huber
When replying by private email, please remove the words spam and trap
from the address shown in the header.