提高多索引
BOOST Multi-Index
我试图使用Boost的多索引容器进行快速查找,但我很难找到。我发现一些文档有点令人困惑。以下是我的文件:
struct reports_entry
{
reports_entry( const std::string& category,
const std::string& reportName):
cat_name_(category),
report_name_(reportName)
{}
std::string cat_name_;
std::string report_name_;
};
typedef multi_index_container<
reports_entry, indexed_by<
ordered_non_unique<member<reports_entry, std::string
, &reports_entry::cat_name_> >
, ordered_unique<member<reports_entry, std::string
, &reports_entry::report_name_> >
>
> reports_set;
fnv.insert(reports_entry("report", "somekindofreport1.dat"));
fnv.insert(reports_entry("report", "somekindofreport3.dat"));
fnv.insert(reports_entry("report", "somekindofreport2.dat"));
fnv.insert(reports_entry("mysecondreport", "somekindofreport4.dat"));
fnv.insert(reports_entry("mysecondreport", "somekindofreport5.dat"));
那么现在如果我尝试搜索所有dumbmreport报告,我会设置fault:
Rname_view::iterator it = fdv.find("report");
std::cout << it->report_name_;
我这样做对吗?我是否需要一个循环来获取该类型的所有报告?还是我完全滥用了?
谢谢
我认为您正在使用按报告名称排序的索引来查找类别名称。
相关文章:
- 如何查找哪个类对象位于数组的特定索引上(多态性)
- 在 Windows/C++ 上使用多进程应用程序的高精度定时操作
- modify() 在迭代期间提升多索引键
- 选择前缀数量最多的索引
- 如何使equal_range迭代器在 Boost 多索引中按不同的索引排序?
- C++ 多索引表 - EOS 持久性 API
- 获取用于多维访问的线性索引
- 存储将单个查询图像与多个图像的列表匹配的关键点索引
- 片段着色器中的"错误:在 GLSL 1.30 及更高版本中禁止使用非常量表达式索引的采样器数组"
- 共享内存中的多索引副本
- 多个快速读取器 单个慢速写入器:使用具有原子索引的阴影数据安全吗?
- 如何在C++中找到存储在多集特定索引中的值?
- 提升多索引 将索引转换为标记并在索引上循环
- 为什么更改数组的第 0 个索引比更改第 0 个索引更多
- 增强多索引私人会员访问
- 如何计算在重复数字之前 x 必须在 (x * y) % z 中有多高
- 具有多维数组的索引范围之外的索引是不确定的
- C 迭代器比索引慢得多
- 增强对哈希唯一索引的多索引访问
- 具有高多线程的TBB 4.2内存泄漏