
David Abrahams wrote:
"Andreas Huber" <ahd6974-spamgroupstrap@yahoo.com> 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.
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.