Boost logo

Boost :

Subject: [boost] pointer to member function of multi_index
From: Sandeep Gupta (gupta.sandeep_at_[hidden])
Date: 2009-03-17 22:14:52


Hi,
      I am sure this is due to some trivial mistake; the statement to
create a pointer member function insert of multi_index container fails
in the following code:

typedef multi_index_container<
     std::pair<int,int>,
     indexed_by<
     ordered_unique<member<pair<int,int>, int, &pair<int, int>::first> >
>
> mic;

std::pair<mic_index::iterator, bool> (mic_index::*fn)(pair<int,int>) =
&mic_index::insert; //compile error

The error is due to mismatch in signature as given in the error:
std::pair<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<int,
int>, ...
std::pair<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<typename
SuperMeta::type::node_type> >, bool>...

If need be I can post full error message. Appreciate any suggestions.

Thanks
sandeep


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk