
Once again, I've run into a compilation problem that I can't seem to fix and I wish some help. My multi_index container looks like: typedef multi_index_container< entry, indexed_by< ordered_unique<member<entry,DataVertex,&entry::m_vertex> >, ordered_non_unique< composite_key< entry, member<entry,size_t,&entry::m_y>, member<entry,size_t,&entry::m_x> > > >
C;
I now have to swap values via the composite_key. To simplify things, I'll just express the last of three lines that would do this job if it compiles (and the lines needed to understand it). c.get<1>().modify_key(c.get<1>().find(make_tuple(y,UINT_MAX)),ll::_1=make_tuple(y,startIter2->m_x)); where startIter2 type is: nth_index<C,1>::type::iterator and y is just an int. The compiler error that I get is: $BOOST_ROOT/boost/multi_index/detail/modify_key_adaptor.hpp: In member function 'void boost::multi_index::detail::modify_key_adaptor<Modifier, Value, KeyFromValue>::operator()(Value&) [with Modifier = boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1>
, const boost::tuples::tuple<int, unsigned int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, Value = Positioner::entry, KeyFromValue = boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]': $BOOST_ROOT/boost/multi_index_container.hpp:543: instantiated from 'bool boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::modify_(Modifier, typename boost::multi_index::detail::multi_index_base_type<Value, IndexSpecifierList, Allocator>::type::node_type*) [with Modifier = boost::multi_index::detail::modify_key_adaptor<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> , const boost::tuples::tuple<int, unsigned int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, Positioner::entry, boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, Value = Positioner::entry, IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_vertex>, mpl_::na, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, Allocator = std::allocator<Positioner::entry>]' $BOOST_ROOT/boost/multi_index/detail/index_base.hpp:166: instantiated from 'bool boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_modify_(Modifier, typename boost::multi_index::detail::multi_index_node_type<Value, IndexSpecifierList, Allocator>::type*) [with Modifier = boost::multi_index::detail::modify_key_adaptor<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> , const boost::tuples::tuple<int, unsigned int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, Positioner::entry, boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, Value = Positioner::entry, IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_vertex>, mpl_::na, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, Allocator = std::allocator<Positioner::entry>]' $BOOST_ROOT/boost/multi_index/ordered_index.hpp:338: instantiated from 'bool boost::multi_index::detail::ordered_index<KeyFromValue, Compare, SuperMeta, TagList, Category>::modify(boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<typename SuperMeta::type::node_type>, mpl_::na>, Modifier) [with Modifier = boost::multi_index::detail::modify_key_adaptor<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> , const boost::tuples::tuple<int, unsigned int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, Positioner::entry, boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, KeyFromValue = boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, Compare = std::less<boost::multi_index::composite_key_result<boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, SuperMeta = boost::multi_index::detail::nth_layer<2, Positioner::entry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_vertex>, mpl_::na, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<Positioner::entry> >, TagList = boost::mpl::vector0<mpl_::na>, Category = boost::multi_index::detail::ordered_non_unique_tag]' $BOOST_ROOT/boost/multi_index/ordered_index.hpp:349: instantiated from 'bool boost::multi_index::detail::ordered_index<KeyFromValue, Compare, SuperMeta, TagList, Category>::modify_key(boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<typename SuperMeta::type::node_type>, mpl_::na>, Modifier) [with Modifier = boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> , const boost::tuples::tuple<int, unsigned int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, KeyFromValue = boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, Compare = std::less<boost::multi_index::composite_key_result<boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, SuperMeta = boost::multi_index::detail::nth_layer<2, Positioner::entry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_vertex>, mpl_::na, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::composite_key<Positioner::entry, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_y>, boost::multi_index::member<Positioner::entry, unsigned int, &Positioner::entry::m_x>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<Positioner::entry> >, TagList = boost::mpl::vector0<mpl_::na>, Category = boost::multi_index::detail::ordered_non_unique_tag]'
Can somebody point out whats wrong?