Just to update you folks: The issue is still around in the just-released Boost 1.46 too... :(
--- On Mon, 21/2/11, Hossein Haeri <[email protected]> wrote: > From: Hossein Haeri <[email protected]> > Subject: [proto] invalid use of incomplete type 'detail::uncvref<...>' > To: "Proto Mailing List" <[email protected]> > Date: Monday, 21 February, 2011, 18:45 > Dear all, > > [GCC 4.5.1, MinGW32, WinXPSP3, Boost 1.42] > > I have an application in which the following two pieces of > syntax come handy (where F and G are templatised function > objects): > > 1) _1 >> F<...>() >> G<...>() -- to > be equivalent with F(G(x)) when called with _1 == x. > > 2) (_1 || _2) >> F<...>() -- to be equivalent > with F(x, y) when called with _1 == x and _2 == y. > > The same syntax for F and G above needs also to work for > ordinary functions. > > I used Proto to give my F's and G's the above desired > compositional syntax. And, it actually works quite well with > ordinary functions but becomes quite hairy for certain > function objects. For example, I have the following > test-cases where everyone behaves themselves except the line > marked with ***: > > EW1<InpPool, GameState, AmmoMsg>() >> > &plus1; > EW1<InpPool, GameState, AmmoMsg>() >> Plus1(); > > (EW1<InpPool, GameState, AmmoMsg>() || > EW1<InpPool, GameState, AmmoMsg>()) >> > Plus2();//*** > (EW1<InpPool, GameState, AmmoMsg>() || > EW1<InpPool, GameState, AmmoMsg>()) >> > &plus2; > > When I compile the *** line, I get a giant spew attached in > a file called Err.txt. For those kind fellows on the list > who'd like to see the actual code as well, a *very small* > zip file is attached to this posting. (The zip file contains > 2 .cpp's as well 5 .hpp's which simply need to be built > altogether in a single directory.) > > Anyone having any ideas please? > > TIA, > --Hossein > > > > -----Inline Attachment Follows----- > > _______________________________________________ > proto mailing list > [email protected] > http://lists.boost.org/mailman/listinfo.cgi/proto > _______________________________________________ proto mailing list [email protected] http://lists.boost.org/mailman/listinfo.cgi/proto
