Trying to use template domain class with BOOST_PROTO_BASIC_EXTENDS
ends up in an error leading to the fact this ligne in the macro is incorrect
when the Domain is template:

    BOOST_PROTO_BASIC_EXTENDS_(Expr, Derived, Domain)
    typedef void proto_is_aggregate_;
    typedef Domain::proto_generator proto_generator;

Obviously this is alckign a typename before Domain::proto_generator if
Domain is actually a template class.

Thing is used to work before ( aorund 1.40) so I guess somethign changed around here. I guess a details meta-function extracting the domain will fix that or am I wrong ?

namespace boost { namespace proto
{
  template<class Domain> generator_of
  {
      typedef typename Domain::proto_generator type;
  };
} }

    BOOST_PROTO_BASIC_EXTENDS_(Expr, Derived, Domain)
    typedef void proto_is_aggregate_;
    typedef typename generator_of<Domain>::type proto_generator;

Or is it ?




_______________________________________________
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to