|
Boost : |
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://lists.boost.org/MailArchives/boost/msg55143.php
>
> http://lists.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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk