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?

Respuestas a la pregunta(2)

Su respuesta a la pregunta