"Andreas Huber" <[EMAIL PROTECTED]> writes:
> Dave,
>
> "David Abrahams" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]
>> This looks seriously like ETI (early template instantiation) again.
>> Unfortunately I'm not sure exactly what the fix is; Aleksey is the
>> only person I know who really understands how to work around this.
>> One thing you could try:
>>
>> template< class Derived,
>> class Context,
>> class Transitions = empty_list,
>> class InnerInitial = empty_list >
>> class simple_state
>> : public mpl::identity< // Here
>> typename state_base_type<
>> Derived, Context, Transitions, InnerInitial >::type
>> >::type // Here
>> {};
>
> Unfortunately this doesn't help, 7.0 reports
>
> d:\Data\StopWatch\StopWatch.cpp(58) : error C2516:
> 'boost::mpl::identity<T>::type' : is not a legal base class
> with
> [
> T=state_base_type<Derived,Context,Transitions,InnerInitial>::type
> ]
>
> But thanks anyway! I'll wait for Aleksey then...
One last shot-in-the-dark: add this specialization:
template <> class simple_state<int, int, int, int> {};
What ETI does is to use an instantiation of some template with all int
parameters internally as a stopgap measure while it's waiting to
discover what the parameters really are. After this, I give up!
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost