
On Fri, Apr 8, 2011 at 11:53 AM, TONGARI
I'm trying to output a string from an adapted class, but I'm getting 1>main.cpp(33): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'boost::fusion::extension::adt_attribute_proxy
' (or there is no acceptable conversion) for the following code (boost 1_46_1, msvc2010) Is there a header I'm missing? Very similar code works for BOOST_FUSION_DEFINE_STRUCT - and using ints or doubles also work...
In that case, boost::fusion::front returns not the real element, but a attribute_proxy that separates the use of getter & setter.
Here's a workaround: std::cout << (std::string const&)boost::fusion::front(f) << std::endl;
Thanks, but I was not really looking for a workaround. My original problem was
actually trying to use an adapted ADT with spirit::karma, but thought I'd tackle
this seemingly simpler issue first.
(same as above)
foo f("foo");
using namespace boost::spirit::karma;
generate(std::ostream_iterator<char>(std::cout), string << eol, f);
... which fails with error C2039: 'const_iterator' : is not a member
of 'boost::fusion::extension::adt_attribute_proxy