Boost logo

Boost Users :

Subject: Re: [Boost-users] [fusion] push_back / pop_back
From: Daniel Bradburn (moagstar_at_[hidden])
Date: 2011-10-25 08:55:39


I should point out that there is a copy paste error in the code I sent:

boost::fusion::get<0>(b);

Regards

Daniel Bradburn

2011/10/25 Daniel Bradburn <moagstar_at_[hidden]>

> Hi,
>
> I am trying to do the following:
>
> #include <string>#include <boost/fusion/tuple.hpp>#include <boost/fusion/include/push_back.hpp>#include <boost/fusion/include/pop_back.hpp>
> int main(int argc, char* argv[])
> {
> typedef boost::fusion::tuple<int> T1;
> typedef boost::fusion::result_of::push_back<const T1, std::string>::type T2;
>
> T1 a(0);
> T2 b(boost::fusion::push_back(a, std::string("")));
>
> boost::fusion::get<0>();
>
> T1 c(boost::fusion::pop_back(b));
>
> return 0;
>
> }
>
> However I get the following compilation errors:
>
> error C4430:
> missing type specifier - int assumed. Note: C++ does not support default-int
>
>
> error C2868:
> 'boost::lazy_disable_if_c<B,T>::type' : illegal syntax for
> using-declaration; expected qualified-name
>
> error C2602:
> 'boost::lazy_disable_if_c<B,T>::type' is not a member of a base class
> of 'boost::lazy_disable_if_c<B,T>'
>
> error C2504:
> 'boost::fusion::extension::at_impl<Tag>::apply<Sequence,N>' :
> base class undefined
>
>
> error C2504:
> 'boost::fusion::extension::at_impl<Tag>::apply<Sequence,N>' :
> base class undefined
>
> error C2146: syntax error : missing ';'
> before identifier 'type'
>
> error C2039: 'type' : is not a member of
> 'boost::fusion::result_of::at_c<Sequence,N>'
>
> error C2664:
> 'boost::fusion::tuple<T0>::tuple(const boost::fusion::tuple<T0>
> &)' : cannot convert parameter 1 from 'boost::fusion::iterator_range' to
> 'const boost::fusion::tuple<T0> &'
>
> error C2146: syntax error : missing ','
> before identifier 'type'
>
> error C2065: 'type' : undeclared
> identifier
>
>
> error C2039: 'type' : is not a member of
> 'boost::fusion::result_of::prior<Iterator>'
>
> Having read the topic here : http://lists.boost.org/Archives/boost/2011/08/184624.php it looks like this is partly due to a bug in the pop_back implementation. Is there a fix for this?
>
> However I would like to know if it is also possible to use boost::fusion::get on the result of push_back?
>
> Best regards
>
> Daniel Bradburn
>
>



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