Мне нужно руководство, чтобы получить следующее живой пример что я собрал на Coliru работать, чтобы использовать boost::multi_index_container
, Живой пример имеет 2 раздела, простой слегка измененный пример boost::multi_index_container
По крайней мере, показывая, что я могу получить живой пример Boost, работающий на колиру — он также имеет очень упрощенную пару указанных индексов. Во-вторых, у меня есть класс, который я пытаюсь адаптировать, чтобы использовать multi_index_container
, IndexContainer
по существу, в его ядре содержится std::map
из std::map
s для следующих typedefs в классе
typedef enum { INSYNC, UPDATE, LOAD, EXTRA } FileType;
// 4 separate types of indeces defined
typedef std::tuple<int32_t, int32_t, int32_t, int32_t> IndexQuartet;
// typedef showing relationship between IndexQuartet & its LoadableFiles
typedef std::map<IndexQuartet, std::set<LoadableFile>> IndexedFileInfo;
// define a mapping between the file type and its indexed files
typedef std::map<FileType, IndexedFileInfo> FileInfo;
IndexContainer
класс имеет updateFileInfo
а также getFileInfo
методы для изменения основного FileInfo
карта карт контейнеров. Интересная структура IndexQuartet
содержит 4 отдельных индекса, и я хотел бы иметь возможность независимо перебирать LoadableFile
с использованием одного из 4 индексов, указанных в вышеупомянутом IndexQuartet
но я не совсем уверен, как идти об изменении простого std::set
на основе сотрудника, как пример, показанный в начале, чтобы сделать что-то на основе комбинации std::map
с и кортежи.
Любая помощь или руководство относительно того, как я могу это сделать, будет высоко ценится.
Задача ещё не решена.