boost-multi-index相关内容

从 boost multi_index 数组中移动元素

假设我有可移动且不可复制的对象,并且我有带有 random_access 索引的 boost 多索引数组.我需要将我的对象移出数组前端,但我找不到任何方法,这会给我在 文档.我只能看到 front() 给我常量引用和 pop_front() 擦除元素,但不返回任何内容.那么有没有办法将元素移出 boost 多索引? 解决方案 添加到@sehe 的回答中,以下显示了如何在您的可移动类型不可构 ..
发布时间:2021-12-24 15:17:59 C/C++开发

提高multi_index_container和慢运算符++

这是的后续问题MIC问题.在将项目添加到引用包装的向量中时,无论我选择哪种迭代方法,我都会在++运算符中花费大约80%的时间. 查询的工作方式如下 VersionView getVersionData(int subdeliveryGroupId,int retargetingId,const std :: wstring& flightName)const {VersionView版本 ..
发布时间:2021-04-15 20:54:58 C/C++开发

避开Boost Multi-Index容器的常量元素

我有一些数据类,它的复制成本很高,但必须可变,因为它经常根据事件进行更新.我还需要一个多索引容器来容纳许多此类.我正在尝试使用boost :: multi_index进行设置.例如: struct MutableAndExpensiveToCopy {int some_value;std :: mapsome_huge_map;std :: map ..
发布时间:2021-04-15 20:45:25 C/C++开发

如何为Boost :: Nested_Container实现Boost :: Serialize

(另一个问题的后续报道.) Boost :: Serialize通常会在归档时产生异常,抱怨重新创建特定对象会导致对象重复.一些档案成功保存并重新加载,但许多档案导致上述错误.我还无法确定发生错误的确切条件,但是我已经证明,用于填充nested_container和平面对象列表的内容均不包含重复的对象ID.我正在使用文本存档,而不是二进制文件.这是我如何修改nested_container以 ..
发布时间:2020-09-22 06:33:45 C/C++开发

查找boost multi index标记索引和索引数量

我有一个模板类(CrMultiIndex),它接收boost多索引(GlobalHash)的定义作为模板参数. 我需要: 根据使用的索引将统计信息添加到我的模板类中. 因此,我需要一种在初始化时使用现有索引数来调整vector(m_StatsByIndex)大小的方法. 我仍然希望用户根据标签而不是索引号进行搜索. 因此,我需要一种从标记转换为索引号的方法,以便可以根据矢量中的索引更 ..
发布时间:2020-09-22 06:09:13 其他开发

从Boost MultiIndex中删除

我有一个Boost多索引结构,该结构将boost :: shared_ptr保留到A类的实例. 当我使用索引之一的“查找"功能时,我得到一个迭代器"it",从中可以通过A* a = it->get();返回实际指针.知道多索引结构的erase函数需要一个迭代器,而不是指针或boost :: shared_ptr,我如何才能从多索引中删除a呢?问题是在程序中要删除对象的地方,我不再有我的初始迭代器, ..
发布时间:2020-09-22 05:55:15 其他开发

带有比较运算符的boost :: multi_index_container复合键中的equal_range

我正在尝试从多索引容器中查询结果,其中值类型是三个元素的结构.给定第一个值,但第二个和第三个必须大于或小于查询参数. 搜索后,我发现必须实现自定义的密钥提取器,并且此处的某些链接建议相同,但是我无法实现它: boost :: multi_index用户定义的键提取器和组合键键 https://www.boost.org/doc/libs/1_62_0/libs/multi_index ..
发布时间:2020-09-22 04:56:14 C/C++开发

提升多索引将索引转换为标签并在索引上循环

我有一个模板类(CrMultiIndex),它接收一个模板参数,该参数定义了boost multi index(GlobalHash)。我使用c ++ 14 我需要一种将索引转换为标签(n_to_tag)的方法?并在CrMultiIndex ctor或Init函数中循环索引? 我的最初目的是循环索引并在初始化时生成带有typeid(T).name()的标签名称字符串。这样我就可以根据标签名 ..
发布时间:2020-06-06 20:14:06 C/C++开发

从boost multi_index数组移动元素

比方说,我有可移动且不可复制的对象,并且我具有带有random_access索引的boost-multi-index数组.我需要将对象移出数组前端,但找不到任何方法,该方法会在解决方案 在@sehe的答案中,以下内容显示了在您的可移动类型不能默认构造的情况下如何修改代码: 已编辑:更改了代码以正确处理对*extracted的破坏. 已编辑:添加了std::unique_ptr替代项. ..
发布时间:2020-05-12 19:23:24 C/C++开发

是否使用一个值为std :: shared_ptr的映射(具有多个索引的类列表的良好设计选择)?

问题很简单: 我们有一个类有成员a,b,c,d ... 我们希望能够快速搜索(键值是一个成员的值)通过为a或b或c提供当前值,类列表新值 我想到有一堆 std :: map> 。 1)这是个好主意吗? 2)升压多折射率在各方面都优于这个手工制作的解决方案吗? ..
发布时间:2016-10-27 02:13:07 C/C++开发

模板参数来提升多索引容器

我需要创建一个包含multiindex容器作为存储的通用类。当我编译时,它给出错误如下我已经定义了第n个索引视图。 错误:非模板'nth_index'用作模板 / ** *连接管理员 * / template class conn_mgr:boost :: noncopyable { public: / ..
发布时间:2016-10-23 20:04:10 C/C++开发