|
Boost Users : |
Subject: Re: [Boost-users] [Proto] Accessing inner types in transform
From: Joel Falcou (joel.falcou_at_[hidden])
Date: 2008-11-02 13:39:29
So i may have missed something.
Here is the transform :
struct C_base
: bp::or_< bp::when< bp::terminal<std::pair<arithmetic_grammar
,arithmetic_grammar>
>
, first_(bp::_)
>
, bp::when< bp::terminal<i_value>, int()>
, bp::when< arithmetic_grammar, bp::_value()>
, bp::when< bp::unary_expr<bp::_,C_base>,C_base(bp::_child)>
, bp::when< bp::binary_expr<bp::_
,arithmetic_grammar
,arithmetic_grammar
>
,
binary_result<arithmetic>(C_base(bp::_left),C_base(bp::_right) )
>
> {};
here is first_
struct first_ : bp::callable
{
template<class Sig> struct result;
template<class This, class Pair>
struct result<This(Pair)>
{
typedef typename boost::remove_reference<Pair>::type::first_type type;
};
};
Now when I try to get the C_base of a terminal, i got :
erreur: no type named «proto_base_expr» in «struct std::pair<float, float>
and other similar error.
What did I missed ?
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net