Boost logo

Boost Users :

Subject: [Boost-users] [Proto] POD expression can't be used in std::vector
From: Joel Falcou (joel.falcou_at_[hidden])
Date: 2008-11-22 15:25:32


I have a expression who use BOOST_PROTO_EXTEND to be used as a POD type
and I have a class inheriting from this expression to build a terminal
class.

When I build a std::vector of this terminal class using vector(size_t n)
constructor I got the following error :

/usr/include/c++/4.3.2/bits/stl_uninitialized.h:192: erreur: no matching
function for call to ‘_Construct(const
nt2::cmplx_expr<boost::proto::exprns_::expr<boost::proto::tag::address_of,
boost::proto::argsns_::list1<nt2::cmplx_expr<boost::proto::exprns_::expr<boost::proto::tag::terminal,
boost::proto::argsns_::term<std::pair<float, float> >, 0l> >&>, 1l> >,
const nt2::cmplx<float>&)’

And same for _Destruct()

Seems & is used on the expression instead of the terminal class (a bit
like the cout bug we found earlier).

Is it a proto bug or a std bug ?

-- 
___________________________________________
Joel Falcou - Assistant Professor
PARALL Team - LRI - Universite Paris Sud XI
Tel : (+33)1 69 15 66 35

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