我需要一些指导来获得以下我在Coliru上使用boost::multi_index_container
. 现场示例有 2 个部分,一个简单的稍微修改的示例,boost::multi_index_container
至少我可以得到一个在 coliru 上工作的 Boost 现场示例——它还指定了一对非常简化的索引。其次,我有一堂课,我正在努力适应使用multi_index_container
. IndexContainer
本质上,它的核心包含类中以下 typedef 的a std::map
of sstd::map
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
方法。有趣的结构包含 4 个单独的索引,我希望能够使用上述指定的 4 个索引之一独立地遍历 s,但我不确定如何更改基于简单员工的示例,例如开始基于s 和 tuples 的组合做一些事情。getFileInfo
FileInfo
IndexQuartet
LoadableFile
IndexQuartet
std::set
std::map
任何有关我如何做到这一点的帮助或指导将不胜感激。