我需要一些指导,以便在Coliru上使用boost::multi_index_container
时将一些live example放在一起。实例有两个部分,一个简单的略微修改的boost::multi_index_container
示例,至少表明我可以在Coliru上获得一个Boost实例 - 它还有一对非常简单的索引指定。其次,我有课程,我试图适应使用multi_index_container
。根据类中的以下typedef,IndexContainer
本质上包含std::map
个std::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
和getFileInfo
方法来修改地图容器的基础FileInfo
地图。有趣的结构IndexQuartet
包含4个单独的索引,我希望能够使用上述LoadableFile
中指定的4个索引之一独立迭代IndexQuartet
但我不是真的确定如何更改基于简单std::set
的员工,例如在开始时显示的示例,根据std::map
和元组的组合执行某些操作。
我将非常感谢您对我如何做到这一点的任何帮助或指导。