как реализован boost multi_index

Мне сложно понять, как реализован Boost.MultiIndex. Допустим, у меня есть следующее:

typedef multi_index_container<
    employee,
    indexed_by<    
        ordered_unique<member<employee, std::string, &employee::name> >,
        ordered_unique<member<employee, int, &employee::age> >
    > 
> employee_set;

Я полагаю, что у меня есть один массив, Employee [] , который на самом деле хранит объекты employee , и две карты

map<std::string, employee*>
map<int, employee*>

с именем и возраст как ключи. Каждая карта имеет значение employee * , которое указывает на сохраненный объект в массиве. Это нормально?

20
задан ks1322 17 January 2016 в 16:33
поделиться