bool parse(Iterator& first, Iterator const& last , Context const& context, unused_type) const { typedef traits::make_attribute<attribute_type, unused_type> make_attribute; typedef traits::transform_attribute< typename make_attribute::type, attribute_type, parser_id> transform; // synthesize the attribute since one is not supplied typename make_attribute::type made_attr = make_attribute::call(unused_type()); typename transform::type attr = transform::pre(made_attr); return parse(first, last, context, attr); }
namespace boost { namespace fusion { struct unused_type { unused_type() { } template <typename T> unused_type(T const&) { } template <typename T> unused_type const& operator=(T const&) const { return *this; } template <typename T> unused_type& operator=(T const&) { return *this; } unused_type const& operator=(unused_type const&) const { return *this; } unused_type& operator=(unused_type const&) { return *this; } }; unused_type const unused = unused_type(); }}
static unused_type pre (utree::nil_type&) { return unused_type(); }
static unused_type call(T&) { return unused_type(); }