我有一个 Tool 结构,其中包含有关从数据库表中检索到的工具的信息,其中在程序启动时检索所有工具。
struct Tool {
const int id;
const std::string name;
const std::string category;
int outcomeID;
}
我有一个 ToolManager 类,它现在将这些工具保存在一个向量中。我正在苦苦挣扎的是,根据我需要如何检索和显示它们,哪种容器最适合存储它们。
有时它们需要按其结果ID 显示在表格分组工具中。很多时候,它们按类别显示在树结构中,并且只有一个或两个结果 ID,如下所示:
CategoryName1
Tool_1
Tool_3
CategoryName2
Tool_5
我宁愿不使用 Boost::multi_index (对于项目的性质来说太复杂了)。什么是存储和检索这些的简单、有效的方法?
编辑:要清楚,我需要能够通过类别或结果ID 的组合来存储和查找这些工具。