[ ... ]
> > Has anyone else ever encountered similar problems with either 7.0 or
6.5?
>
>
> Yep, it's a known bug called "early template instantiation" (ETI). It's
> briefly described here -
> http://lists.boost.org/MailArchives/boost/msg39915.php.
>
> > Are there any workarounds?
>
>
> Sure. In your case, it would be as simple as this:
>
> #include <boost/mpl/aux_/msvc_eti_base.hpp>
>
> ...
>
> template< class Derived,
>           class Context,
>           class Transitions = empty_list,
>           class InnerInitial = empty_list >
> class simple_state : public mpl::aux::msvc_eti_base< typename
> state_base_type<
> //                          ^^^^^^^^^^^^^^^^^^^^^^^^
>   Derived, Context, Transitions, InnerInitial >::type >::type {};

Thanks very much! I wouldn't have dreamt that convincing 7.0 to compile it
will be soooo easy!

Best Regards,

Andreas

P.S. Is it a good idea to use mpl::aux::msvc_eti_base on all platforms (on
conforming compilers I'd expect it to "call" mpl::identity) or should I
#ifdef my way around it?


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to