Obter índice numérico do Boost iterador de vários índices

Estou armazenando vários dos seguintes

struct Article {
    std::string title;
    unsigned db_id;     // id field in MediaWiki database dump
};

em um contêiner 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;

Agora eu tenho dois iteradores, um deindex<by_title> e um deindex<by_id>. Qual é a maneira mais fácil de transformá-los em índices na parte de acesso aleatório do contêiner, sem adicionar um membro de dados aostruct Article?

questionAnswers(2)

yourAnswerToTheQuestion