Boost.MultiIndex:如何进行有效的集合交集?

2024-02-18

假设我们有一个data1 and data2。我怎样才能将它们与std::set_intersect()?

struct pID
{
    int           ID;
    unsigned int  IDf;// postition in the file 
    pID(int id,const unsigned int idf):ID(id),IDf(idf){}
    bool operator<(const pID& p)const { return ID<p.ID;}
};

struct ID{};
struct IDf{};

typedef multi_index_container<
    pID,
    indexed_by<
    ordered_unique<
    tag<IDf>,  BOOST_MULTI_INDEX_MEMBER(pID,unsigned int,IDf)>,
    ordered_non_unique<
    tag<ID>,BOOST_MULTI_INDEX_MEMBER(pID,int,ID)> >
    > pID_set;

ID_set data1, data2; 
Load(data1); Load(data2);

pID_set::index<ID>::type& L1_ID_index=L1.data.get<ID>();
pID_set::index<ID>::type& L2_ID_index=L2.data.get<ID>();
    // How do I use set_intersect?

std::set_intersection(
  L1_ID_index.begin(),L1_ID_index.end(),
  L2_ID_index.begin(),L2_ID_index.end(),
  output_iterator,
  L1_ID_index.value_comp());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Boost.MultiIndex:如何进行有效的集合交集? 的相关文章

  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 如何检查图像对象与资源中的图像对象是否相同?

    所以我试图创建一个简单的程序 只需在单击图片框中更改图片即可 我目前只使用两张图片 所以我的图片框单击事件函数的代码 看起来像这样 private void pictureBox1 Click object sender EventArgs
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • C++ fmt 库,仅使用格式说明符格式化单个参数

    使用 C fmt 库 并给定一个裸格式说明符 有没有办法使用它来格式化单个参数 example std string str magic format 2f 1 23 current method template
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke

随机推荐

  • 递推的复杂度 T(n)=T(n/2T(n/2)+n^2?

    根据主定理 这个递归是 n 2 但是如果我们用树递归来解决这个问题 那么解就是 n 2 logn 难道我做错了什么 如果递推关系为 T n 2T n 2 n 2 那么您处于主定理的第三种情况 并且正则性条件适用 因此 T n Theta n
  • Firebase Crashlytics 无效密钥错误

    我想将 Firebase Crashlytics 集成到我的 Android 游戏中 使用 Cocos2D X 引擎开发 我已按照中提到的步骤进行操作这个链接 https firebase google com docs crashlyti
  • osx 和 clion,找不到 omp.h

    如何说服 cmake 在 CLion 内 我有可用的 OpenMP 标头 我正在尝试编译这个项目SCD https github com DAMA UPC SCD我收到以下错误 15 Building CXX object tools se
  • 通过使用 tibble 中不同行的值来改变值

    我想计算一个节点到根的距离dtr 我拥有的只是一个向量 其中包含每个节点的父节点 idrel 在这个例子中id 7是根 library tidyverse tmp lt tibble id 1 12 rel c 2 7 4 2 4 5 7
  • 如何向宿主元素添加“类”?

    我不知道如何添加到我的组件中
  • 用 scala 替换列表中的元素

    如何用不可变列表按索引替换元素 E g val list 1 2 3 4 List list replace 2 5 如果你想替换索引2 那么 list updated 2 5 Gives 1 2 5 4 Nil 如果你想找到所有有 2 的
  • 无法在 Android Studio 中创建 Android 项目(I/0 预览版)130.737825 (Mac)

    我今天打开 Android Studio 它要求升级到最新版本 我照做了 现在我无法创建新项目 我按照向导创建了一个项目 并完成了项目的创建 但结果不是我所期望的 并且我在控制台中收到错误 我得到的错误是 Can t deserialize
  • LINQ to Entities 无法识别方法 'Int32 Last[Int32]

    这有什么问题吗 int folderid from p in db folder where p isDefault true select p id Last 我收到这个错误 LINQ to Entities does not recog
  • 解码错误 - 预期解码 Dictionary 但发现了一个数组

    我是 swift 编程和 Xcode 的新手 我尝试使用 Json 编码将 mysql 数据从数据库调用到 Xcode 我能够成功调用所有数据 数组 但是当我决定仅调用一个值 列 例如 Courses name 时 我收到 解码错误 预期解
  • iOS 自动在文本字段中添加连字符

    我正在学习 iOS 开发 并且很难弄清楚控件的各种事件 对于测试 我有一个 UITextField 用户需要输入以下格式的字符串 XXXX XXXX XXXX XXXX 我希望能够检查每个条目后字段中的文本有多长 并查看是否需要附加连字符
  • Docker:来自守护程序的错误响应:删除 myvol:卷正在使用中

    当我尝试删除卷时 出现此错误 来自守护程序的错误响应 删除 myvol 卷正在使用中 2a177cb40a405db9f245fccd776dcdeacc d266ad624daf7cff510c9a1a1716fe 但两者docker p
  • 当没有可行的解决方案时,Accord.net Cobyla 求解器返回成功

    我正在使用 Accord Net 的 Cobyla 求解器来解决一个相当简单的非线性问题 在某些情况下 问题没有可行点 当我运行一个明显不可行的简单问题时 即使解决方案不可行 求解器也会返回 成功 考虑以下用 F 编写的示例 open Sy
  • 如何改变ggplot中的线宽?

    数据链接 使用的数据 https www dropbox com s yt4l10nel5bwxoq GTAP ConsIndex csv My code ccfsisims lt read csv file F Purdue Univer
  • python 类变量在 __init__ 中不可见?

    这段代码产生了一条错误消息 令我惊讶的是 class Foo object custom 1 def init self custom Foo custom self custom custom x Foo 有人可以提供启示吗 It s F
  • Spring登录时显示错误消息

    我正在使用 Spring security 来验证用户身份 我创建了一个自定义身份验证提供程序 现在我想知道如何从提供程序获取错误消息到我的表单中 这是我的自定义身份验证提供程序中的authenticate 方法 Override publ
  • 如何让tomcat爆war文件

    参考tomcat 和提取的文件 https stackoverflow com questions 14945820 tomcat and extracted files 14965275 14965275我已将 server xml 配置
  • 如何查找哪个脚本修改了所选属性的css

    有没有办法获取哪些脚本修改了选定的 DOM 元素以及修改顺序的信息 在我的网站上 我修改了 div A 的宽度 但是 似乎其他一些脚本在那之后修改了该宽度 但我不知道它是哪个脚本 我怎样才能找到它 编辑 经过更多搜索后 我发现在 fireb
  • java中的自定义键盘快捷键

    I am developing a java swing application I want to add a keyboard shortcut say CTRL H This should perform the same actio
  • 在 Internet Explorer 7 中使用 z-Index 定位 div

    我有两个相对定位的 DIV A 和 B a 有一个名为 A 的 DIV 作为子元素 它是绝对定位的 z 索引为 1000 DIV B 是 DIV B 的子元素 也是绝对定位的 Firefox 按预期呈现 A B B A 从距用户最近到最远
  • Boost.MultiIndex:如何进行有效的集合交集?

    假设我们有一个data1 and data2 我怎样才能将它们与std set intersect struct pID int ID unsigned int IDf postition in the file pID int id co