Obtenga un índice numérico del iterador de índice múltiple Boost
Estoy almacenando un montón de lo siguiente
struct Article {
std::string title;
unsigned db_id; // id field in MediaWiki database dump
};
en un contenedor Boost.MultiIndex, definido como
typedef boost::multi_index_container<
Article,
indexed_by<
random_access<>,
hashed_unique<tag<by_db_id>,
member<Article, unsigned, &Article::db_id> >,
hashed_unique<tag<by_title>,
member<Article, std::string, &Article::title> >
>
> ArticleSet;
Ahora tengo dos iteradores, uno deindex<by_title>
y uno deindex<by_id>
. ¿Cuál es la forma más fácil de transformarlos en índices en la parte de acceso aleatorio del contenedor, sin agregar un miembro de datos astruct Article
?