Я хочу отсортировать свои объекты в boost::multi_map
, ссылаясь на некоторый индекс.Но я храню не чистые объекты, а завернутые в boost::shared_ptr
.Вот код:
typedef boost::multi_index_container<boost::shared_ptr<Object>,
boost::multi_index::indexed_by<
boost::multi_index:: ordered_non_unique<
boost::multi_index::mem_fun<boost::shared_ptr<Object>, int, &boost::shared_ptr<Object>::getIndex>
>
>
> ObjectWrapperSet;
Но он не работает в точке: &boost::shared_ptr<Object>::getIndex
.Логично, что этот тип не имеет функции getIndex
.Но как ссылаться на эту функцию таким образом?
Я попробовал это с простым Object::getIndex
:
could not convert template argument ‘&Object::getIndex’ to ‘int (boost::shared_ptr<Object>::*)()’