Boost logo

Boost :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2008-03-02 14:48:00


Just as:

   terminal<X>:;type

is the type of expressions matching the grammar, terminal<X>,
I would expect that binary_expr<T,L,R>::type would match
binary_expr<T,L,R>. IOW, just as:

   matches<terminal<X>::type,terminal<X> >

is true, should:

   matches<binary_expr<T,L,R>::type,binary_expr<T,L,R> >

be true? If not, then what is the purpose of binary_expr<,,>::type?
If yes, then why am I getting an error with the attached driver
whose compilation output is also attached?

gcc.compile.c++ ../../../../../bin.v2/sandbox/lje/libs/proto/experiments3/gram_type_test.test/gcc-4.1/debug/link-static/gram_type_test.o
gram_type_test.cpp:29: error: conversion from '

boost::proto::exprns_::expr<boost::proto::tag::shift_right,
boost::proto::argsns_::args2<boost::proto::exprns_::expr<boost::proto::tag::terminal,
boost::proto::argsns_::args0<ti<0> >, 0l>,
boost::proto::exprns_::expr<boost::proto::tag::terminal,
boost::proto::argsns_::args0<ti<0> >, 0l> >, 2l>

' to non-scalar type '

boost::proto::exprns_::expr<boost::proto::tag::shift_right,
boost::proto::argsns_::args2<boost::proto::op::terminal<ti<0> >,
boost::proto::op::terminal<ti<0> > >, 2l>

' requested



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk