, Attribute const& attr_) const
{
typedef typename attribute<Context, unused_type>::type attr_type;
- typedef traits::make_attribute<attr_type, Attribute> make_attribute;
// create a attribute if none is supplied
// this creates a _copy_ of the attribute because the semantic
// action will likely change parts of this
typedef traits::transform_attribute<
- typename make_attribute::type, attr_type, domain> transform;
+ Attribute const, attr_type, domain> transform;
- typename transform::type attr =
- traits::pre_transform<domain, attr_type>(make_attribute::call(attr_));
+ attr_type attr = transform::pre(attr_);
// call the function, passing the attribute, the context and a bool
// flag that the client can set to false to fail generating.