|
Proto : |
Subject: [proto] Can't use template domain class with BOOST_PROTO_BASIC_EXTENDS
From: joel falcou (joel.falcou_at_[hidden])
Date: 2010-10-09 15:02:16
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 list run by eric at boostpro.com