Thanks for the quick reply. This looks very interesting. But the
following snippets bombs on my machine using VS2005.
#include
#include
namespace qi = boost::spirit::qi;
namespace ascii = boost::spirit::qi::ascii;
int _tmain(int argc, _TCHAR* argv[])
{
std::string number( "123" );
int i;
qi::parse( number.begin()
, number.end()
, qi::int_
, ascii::blank
, i
);
return 0;
}
My compiler states:
1>c:\boost\boost\fusion\container\vector\detail\vector_n.hpp(57) :
error C2166: l-value specifies const object
1> c:\boost\boost\fusion\container\vector\detail\vector_n.hpp(56)
: while compiling class template member function
'boost::fusion::vector_data2
&boost::fusion::vector_data2::operator =(const
boost::fusion::vector_data2 &)'
1> with
1> [
1> Derived=boost::fusion::vector2boost::spirit::tag::blank,boost::spirit::char_encoding::ascii>,0>
&,int &>,
1> T0=const
boost::proto::exprns_::exprboost::spirit::tag::blank,boost::spirit::char_encoding::ascii>,0>
&,
1> T1=int &
1> ]
1> c:\boost\boost\fusion\container\vector\detail\vector_n.hpp(79)
: see reference to class template instantiation
'boost::fusion::vector_data2' being compiled
1> with
1> [
1> Derived=boost::fusion::vector2boost::spirit::tag::blank,boost::spirit::char_encoding::ascii>,0>
&,int &>,
1> T0=const
boost::proto::exprns_::exprboost::spirit::tag::blank,boost::spirit::char_encoding::ascii>,0>
&,
1> T1=int &
1> ]
[snip]
Thanks again for your quick reply.
Christian