是否存在查看成员函数/变量的简洁等效项?

2024-03-19

流库 http://www.infoq.com/news/2014/07/cpp14-streams-lazy-functional有一个整洁的map函数通过成员函数查看范围。有没有等效的观点Range-V3 http://www.infoq.com/news/2014/07/cpp14-streams-lazy-functional?

Would view::transform是唯一的选择吗?


文章中的例子:

std::vector widgets = /* ... */    
std::set ids = stream::MakeStream::from(widgets)
         .map(&Widget::getId)
         .to_set();

(忽略缺少的模板参数std::vector and std::set) 在 range-v3 中将是:

std::vector<Widget> widgets = // ...
std::set<Widget::ID> ids = widgets | ranges::view::transform(&Widget::getId);

Yes, transform相当于map在流中。

range-v3 中的所有算法都接受可调用的投影 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4128.html#algorithms-should-take-invokable-projections允许算法根据转换选择范围元素,但仍然对整个元素进行操作。例如,我们可以对Widget通过他们的 ID:

widgets |= ranges::action::sort(std::greater<Widget::ID>{}, &Widget::getId);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否存在查看成员函数/变量的简洁等效项? 的相关文章

随机推荐

  • 如何使用nosetests测试函数是否在函数内被调用

    我正在尝试为项目设置一些自动单元测试 我有一些函数 作为副作用 它们偶尔会调用另一个函数 我想编写一个单元测试来测试第二个函数是否被调用 但我被难住了 下面是伪代码示例 def a self data self get if len dat
  • FIREBASE 警告:无效的查询字符串段:[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在 Firebase 日志控制台中不断收到这些警告 FIREBASE 警告 无效的查询字符串段 我检查了所有内容 但找不到一些原
  • Reactjs 意外的标记“<”

    我用react redux redux创建了reactjs应用程序 启动reactjs项目时 在索引文件的第13行出现意外的令牌错误 索引文件如下 ERROR in src index js Module build failed Synt
  • VHDL 中的进程是可重入的吗?

    一个进程是否可以连续运行两次或多次VHDL 如果在进程的顺序执行未完成的情况下发生另一个事件 在敏感信号列表上 会发生什么 有可能还是我的VHDL流程中的模型完全错误 进程运行时不会发生任何事件 当进程被事件唤醒时 它会运行到完成 结束进程
  • 如何通过 C# 代码以编程方式构建解决方案文件?

    我有一个包含许多项目的大型解决方案 其中一个是安装项目 还有许多当前版本存储在单独的分支中 我有一个曾经在 NET 2 中工作的构建工具 但自从我们升级到 NET 4 后就不再工作了 在内部 新的 NET 4 版本的构建工具使用Micros
  • 如何估计 Spark DataFrame 中每列的大小(以字节为单位)?

    我有一个非常大的 Spark DataFrame 其中有许多列 我想对是否将它们保留在我的管道中做出明智的判断 部分取决于它们有多大 我所说的 有多大 是指缓存此 DataFrame 时 RAM 中的大小 以字节为单位 我希望这是对处理此数
  • Spring Data Elasticsearch 通配符搜索

    我正在尝试寻找这个词blue在下面的文本列表中 蓝宝石 蓝 蓝色 蓝色 蓝色 蓝色 蓝黑 蓝 宝石蓝 黑 绿 蓝 宝石蓝 SearchQuery searchQuery new NativeSearchQueryBuilder withIn
  • Java SDK for REST API 服务的错​​误处理

    我们正在构建一个 Java SDK 以简化对提供 REST API 的服务之一的访问 该SDK供第三方开发者使用 我正在努力寻找在 SDK 中实现错误处理的最佳模式 以更适合 Java 语言 假设我们有其余端点 GET photos pho
  • C++ 程序崩溃,退出代码:9 (SIGKILL)

    我的应用程序崩溃并显示退出代码 9 SIGKILL 我从未运行过任何可以终止正在运行的进程的命令 例如 kill 9 pid 或 pkill 进程名称 这种情况下应该从哪里开始调试呢 我尝试在程序崩溃时转储堆栈跟踪 但发现无法捕获 SIGK
  • 从矩阵中提取总和最大的元素而不重复行或列的算法?

    我有一个数字矩阵 我需要提取具有最大可能总和的元素集 但受到任何 2 个元素不能来自同一行或同一列的约束 是否有任何有效的算法 以及 R 是否有该算法的实现 例如 如果矩阵是 使用 R 的矩阵表示法 1 2 3 1 7 1 9 2 8 4
  • 如何使“stepfun”类的两个阶跃函数(R-stepfun)相加?

    从例子来看here https stackoverflow com a 69738109 5784831我试图将总和作为 stepfun 类 我想 as stepfun是正确的选择 但我的想法行不通 怎么了 y1 lt c 0 1 2 0
  • R 中的 read.csv 无法正确读取列名

    我有一个 csv 文件 我正在尝试将其内容读入 R 但是我的列名称无法正确显示 它在第一列的名称中显示一些奇怪的字符 请注意 任何我尝试读入的 csv 文件 请参阅下面的 R 代码 gt mycsvfile read csv C Users
  • 如何检查 JavaScript 变量是否未定义? [复制]

    这个问题在这里已经有答案了 我尝试过的事情似乎不起作用 if lastName undefined if lastName undefined if undefined lastName var lastname Hi if typeof
  • Android - 获取父布局的高度

    我想确定必须添加视图的父布局的可用高度和宽度 我在布局上使用了很多方法 例如 布局 getHeight 布局 getRootView getHeight 所有这些方法都返回 0 零 作为结果 我的主要要求是能够为视图提供宽度 该宽度为布局宽
  • 在 Ubuntu 上为 Open JDK 7 安装 JNLP

    如何在 Ubuntu 计算机上让 JNLP 适用于 OpenJDK 7 我正在尝试将源代码链接到http www bugaco com bioinf clusterer http www bugaco com bioinf clustere
  • 如何使用 EL + JSTL 将任意对象转换为 String? (调用 toString())

    有什么方法可以使用 EL 和 JSTL 对对象调用 toString 吗 我需要枚举的字符串表示形式作为 JSP EL 表达式中映射中的索引 我希望类似 object 会像在java中一样工作 但是EL不太好 而且似乎没有任何函数可以做到这
  • 创建自定义集合方法

    我正在尝试创建几种方法来操作对象集合 我的控制器中有以下语句 def show big Configuration find params id elements custombig big getchanged end 在配置模型中我有
  • 推断模板的运算符/函数的返回类型

    这样的事情可能吗 We can even assume T and U are native C types template
  • 如何强制 Visual Studio 2010 在设计时忽略 WPF XAML 声明的 DataContext?

    我经常使用声明性 DataContext 设置 WPF UserControl
  • 是否存在查看成员函数/变量的简洁等效项?

    流库 http www infoq com news 2014 07 cpp14 streams lazy functional有一个整洁的map函数通过成员函数查看范围 有没有等效的观点Range V3 http www infoq co