Re: fusion vector, spirit, phoenix actor and forwarding constructor
MM <[email protected]>
| Newsgroups | gmane.comp.parsers.spirit.general |
|---|---|
| Message-ID | <CADsB1iBXA7nCk_zoVYfbqKVaqKN+r7=w8OwKdgdan1oY_Hr5DQ@mail.gmail.com> |
On 14 July 2016 at 02:23, Lee Clagett <[email protected]> wrote: > On Tue, 12 Jul 2016 20:49:31 +0100 MM <[email protected]> wrote: >> Hello, >> >> In this user constructor for struct store in >> /usr/include/boost/fusion/container/vector/vector.hpp:175:44 >> >> template <typename U> >> BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED >> store(U&& rhs >> , typename disable_if<is_same<typename pure<U>::type, >> store>, detail::enabler_>::type = detail::enabler) >> : elem(std::forward<U>(rhs)) >> <= error is here >> {} >> >> type of rhs is: >> const boost::phoenix::actor<boost::spirit::attribute<1> >& >> >> the compiler meets this error: >> >> no matching function for call to >> ‘boost::phoenix::actor<boost::spirit::attribute<1> >::actor(const >> boost::spirit::attribute<1>&)’ >> >> candidates are the default ctor, >> 1) constexpr boost::phoenix::actor<boost::spirit::attribute<1> >> >::actor() >> >> and the copy constructor >> 2) constexpr boost::phoenix::actor<boost::spirit::attribute<1> >> >::actor(const boost::phoenix::actor<boost::spirit::attribute<1> >&) >> >> This seems to be a problem only for >=c++11, also, it was ok with >> 1.58, but not now with develop. >> >> I haven't managed to extract a small reproducible case yet, and but >> i'll keep trying. >> >> Thanks, >> >> MM >> All compiled with g++6 c++11 > Does it work with Boost 1.61? It hasn't work with vanilla boost 1.60 from my distro > or the master branch? > Or is it only broken on the develop branch? It is broker in develop branch, but I am guilty of mix and match, so apologies for that, I only took boost 1.60 vanilla, and replaced phoenix spirit and fusion as links to the develop branch. I will try again with entire boost develop, then with entire boost master. Should I try with 1.61 vanilla as well? I suppose I'd need to clone the entire boost repo, then switch branches between master and develop is that git clone https://github.com/boostorg/boost.git for now I only have clones of fusion phoenix and spirit. While trying to make a smaller case, I've ran into I suppose a separate problem (likely unrelated) here: https://stackoverflow.com/questions/38372392/boost-phoenix-eval-failures The line closest to my real-code line that triggers the error above is: start_ %= g2_(_r1); Lee, here is a more complete stack that gets triggered from my real code: startrule %= start(_r1); qis::rule<Iterator, T*(T*), qis::blank_type> startrule; qis::rule<Iterator, T*(T*), qis::locals<X*>, qis::blank_type> start; /// where T and X are my application types. The error stack is here: http://paste.fedoraproject.org/391037/46849462 http://paste.fedoraproject.org/391037/46849462 Lee, let me know what to test please? Thanks MM ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev _______________________________________________ Spirit-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/spirit-general