
Now I have a question regarding iteration through the map. Would you expect this sample to work: typedef mpl::map < mpl::pair<int, int> , mpl::pair<int, double> , mpl::pair<int, char[20]> , mpl::pair<int, char> > seq_t; typedef mpl::begin<seq_t>::type begin_map; typedef mpl::apply < mpl::insert<mpl::_1, mpl::_2> , mpl::vector<> , begin_map >::type vector_with_one_elem; It fails with 147 compilation errors. Top errors look like: c:\boost\include\boost-1_33_1\boost\mpl\aux_\preprocessed\plain\reverse_fold_impl.hpp(203) : error C2039: 'type' : is not a member of 'boost::mpl::next<T>' with [ T=boost::mpl::m_iter<seq_t,6,6> ] c:\boost\include\boost-1_33_1\boost\mpl\aux_\preprocessed\plain\reverse_fold_impl.hpp(212) : see reference to class template instantiation 'boost::mpl::aux::reverse_fold_impl<N,First,Last,State,BackwardOp,ForwardOp>' being compiled with [ N=-1, First=boost::mpl::m_iter<seq_t,6,6>, Last=boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>, State=boost::mpl::vector0<boost::mpl::na>, BackwardOp=boost::mpl::push_front<boost::mpl::_,boost::mpl::_>, ForwardOp=boost::mpl::arg<1> ] Thanks a lot for your help! Ovanes On Thu, December 14, 2006 19:12, Ovanes Markarian wrote:
But my question would be: Would you see an advantage in this approach (with type derivation)? On the other hand, if I could manipulate the types the same way in mpl::vector and mpl::map this would be more clearer. I think vector should not support the derived types as well.
With Kind Regards,
Ovanes Markarian
On Thu, December 14, 2006 19:04, David Abrahams wrote:
"Ovanes Markarian" <om_boost@keywallet.com> writes:
I believe I found some problem, when I was writing the test cases ;) It is for sure responsible for the reported misbehavior with max_element.
Well, I don't know how to deal with this issue, may be you can advice smth. Map accepts sequence of type pair. Vector as well. My approach was to think, as long as mpl::pair static interface (first, second) is valid I can use another class as well.
Clearly from your experiments you can see that you can't actually do that.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users