|
Boost : |
From: Eric Niebler (eric_at_[hidden])
Date: 2008-06-06 14:05:39
Daniel Walker wrote:
> Does Phoenix allow side-effects or is it "pure" functional like Fusion
> and FC++? Does it allow modification of arguments by reference -
> either builtin references or reference_wrapper?
Yes. Placeholders are substituted with argument references, so you can
do this:
int i = 0;
(++_1)(i);
assert(1 == i);
Local variables that appear in Phoenix lambdas are captured by value,
unless you specify that you want them captured by reference. You can do
that with phoenix::ref().
> What is the status of the Phoenix msvc port? The documentation seems
> to indicate that it's possible but not necessarily forthcoming.
MSVC port? Phoenix works on MSVC and always has, AFAIK.
> Is there any immediate plan to make Phoenix interoperable with the
> coming standard library's std::bind, std::placeholders,
> std::is_bind_expression, and std::is_placeholder?
I don't know. I do know that Phoenix has been ported to Proto in its
entirety (by me), and this might be a nice addition for Phoenix v3.
<snip lots>
> One last thing - I noticed that FC++ was submitted for inclusion in
> Boost a few years back. What ever happened with that?
It was rejected. I seem to recall people feeling that it wasn't C++-ish
enough.
-- Eric Niebler BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk