|
Boost : |
From: Thorsten Ottosen (thorsten.ottosen_at_[hidden])
Date: 2008-02-06 05:47:10
Hi Eric,
My semantic actions might look like
+(name[push_back(ref(causeNames),as<std::string>(_) )]);
My first question here is whether ref() is really necessary?
In your example from the documentation, I can better understand it:
[ ref(result)[s1] = as<int>(s2) ];
because you apply the [] operator to the result.
But otherwise, is there any time you not want a reference stored?
In my case above, couldn't the destructor of push_back() take a T&
argumentment and construct a lazy reference from that?
I also have another question: is it really necessary to write the
as<std::string>(_) part of the semantic action?
Can this type not be deduced from the template argument to push_back()?
In my case it would simply be Container::value_type.
If so, we would end up with the really slick looking
+(name[push_back(causeNames)]);
best regards
-Thorsten
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk