在 range-v3 中,如何从一对迭代器创建范围?

2024-01-06

给定一对传统的“开始”和“结束”迭代器,如何创建与 range-v3 兼容的范围?

假设我正在编写一个接受两个迭代器的通用函数,以与遗留代码兼容。

struct result;  

bool keep_line(const std::string&);
result parse_line(const std::string&);

template <typename InputIt>
std::vector<result> parse_lines(InputIt begin, InputIt end)
{
    // This is what I want to do...
    auto lines = ranges::make_range_out_of_legacy_iterators(begin, end);

    return lines 
        | ranges::view::filter(keep_line) 
        | ranges::view::transform(parse_line) 
        | ranges::to<std::vector<result>>();
}

要从 range-v3 中的一对迭代器创建范围,请使用subrange view https://ericniebler.github.io/range-v3/structranges_1_1subrange.html:

#include <range/view/subrange.hpp>

auto lines = ranges::subrange(begin, end);       // Requires C++17-style deduction

auto lines = ranges::make_subrange(begin, end);  // If template deduction not available

在旧版本的库中,iterator_range班级在range/v3/iterator_range.hpp https://github.com/ericniebler/range-v3/blob/master/include/range/v3/iterator_range.hpp显然已使用,但该标头在当前版本中被标记为已弃用ranges-v3发布(0.9.1)。

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

在 range-v3 中,如何从一对迭代器创建范围? 的相关文章

  • 双线性序列给出奇数结果

    我试图让我的表现技能 不存在 达到标准 但在将公式写入代码时遇到了问题 这是我试图将其引用为 转换 为代码的公式 考虑一个序列 u 其中 u 定义如下 号码u 0 1是第一个u 对于每个x in u then y 2 x 1 and z 3
  • C++ 返回值、引用、const 引用

    你能向我解释一下返回值 值引用和值常量引用之间的区别吗 Value Vector2D operator const Vector2D vector this gt x vector x this gt y vector y return t
  • 使用 C++ 拆分“[常规设置]”格式的节字符串

    我是 C 新手 我想读取包含部分和键值对的 ini 文件 根据部分 我想读取相应键的值 首先 我想阅读方括号内的部分 请帮忙 谢谢 对于真正的 INI 文件解析 我强烈建议iniparser库 http ndevilla free fr i
  • Linux 使用 boost asio 拒绝套接字绑定权限

    我在绑定套接字时遇到问题 并且以用户身份运行程序时权限被拒绝 这行代码会产生错误 acceptor new boost asio ip tcp acceptor io boost asio ip tcp endpoint boost asi
  • 如何启动异步任务对象

    我想开始收集Task同时处理对象并等待所有对象完成 下面的代码显示了我想要的行为 public class Program class TaskTest private Task createPauseTask int ms works w
  • 宏可以按参数数量重载吗?

    如何this https stackoverflow com q 9183993 153285工作 如何实现 C99 C 11 可变参数宏以仅根据为其提供多少个参数来扩展到不同的事物 编辑 请参阅末尾以获得现成的解决方案 要获得重载的宏 首
  • 有没有办法将 boost::json::serializer 切换为美化输出?

    Using boost json serializer如中的示例所示文档 快速查看 http vinniefalco github io doc json json usage quick look html以紧凑格式保存 json tre
  • 求一个数的因数。无法得到准确的结果

    有人可以帮助纠正我的算法吗 我已经对几个数字进行了测试 但它没有输出完整的因式分解 对于具有大量因子的数字 它完全失败 int num 20 for int i 2 i lt num i if num i 0 cout lt lt i lt
  • 在 C++ 中使用表达式模板进行符号微分

    如何在 C 中使用表达式模板实现符号微分 一般来说 您需要一种表示符号的方法 即编码的表达式模板 例如3 x x 42 以及一个可以计算导数的元函数 希望您对 C 中的元编程足够熟悉 知道这意味着什么和需要什么 但可以给您一个想法 This
  • 按值返回的函数的返回语句中的初始化

    我的问题源于深入研究std move in return语句 例如以下示例 struct A A std cout lt lt Constructed lt lt this lt lt std endl A A noexcept std c
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • TreeView:仅在子节点中存在复选框

    我需要一个树视图控件 根节点没有复选框 只有图像 所有子节点都有一个复选框 图像 C net 2 0 winforms 不是 wpf WinForms树视图默认不支持混合复选框 非复选框节点 您可以在树视图上全局启用复选框 并使用以下命令在
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • 从 exit() 和 fork() 返回的结果奇怪地发生了位移

    我有一个 C 代码 有时会自行分叉 每个分叉都会执行一些操作 然后返回一个错误代码 目前 每个子进程返回其 ID 0 n void other int numero exit numero int main for int i 0 i lt
  • 为什么我不能对普通变量进行多态?

    我是一名Java程序员 最近开始学习C 我对某事感到困惑 据我了解 在 C 中 要实现多态行为 您必须使用指针或引用 例如 考虑一个类Shape与实施的方法getArea 它有几个子类 每个子类都以不同的方式重写 getArea 然后考虑以
  • 如何使用 xamarin 表单提示用户进行地理定位

    我正在 Xamarin Forms 应用程序中开发一个应用程序 需要请求地理位置权限 如果获得许可 它需要从设备获取地理位置数据 然后将地理位置坐标放入 Forecast io URL 我正在使用 James 的 Geolocator 插件
  • OpenGL 计算着色器调用

    我有一个与新计算着色器相关的问题 我目前正在研究粒子系统 我将所有粒子存储在着色器存储缓冲区中 以便在计算着色器中访问它们 然后我派遣一个一维工作组 define WORK GROUP SIZE 128 shaderManager gt u
  • 如何在 C# 中以编程方式创建柔和的颜色?

    根据所需的颜色数量均匀分布地生成它们 如果指定的计数为 8 则看起来像这样 List
  • 在 C# WinForms 中预览文档(Word、Excel、PDF、文本文件等)?

    我正在开发一个 C WinForms 应用程序 我希望能够 预览 其中的各种文档类型 也就是说 当用户从列表中选择文件名时 它会在下面以相同的形式显示所选文件的预览 这很像 Outlook 允许您无需双击即可预览选定邮件的方式 有没有什么方
  • 扔掉挥发物安全吗?

    大多数时候 我都是这样做的 class a public a i 100 OK delete int j Compiler happy But is it safe The following code will lead compilat

随机推荐

  • 根据行/列值设置 GridView 值 ItemStyle 前景色

    我有一个 ASP netGridView输出三列数据 订单编号 订单状态和订单日期 我想设置OrderStatus Field Value RED IF the status Cancelled 我不确定如何查看输出每行的该字段的值并确定状
  • 通过客户端 XHR 打开 Soundcloud Track 的stream_url?

    由于您可以通过 XHR 调用 Soundcloud API 因为它发送的 CORS 标头http backstage soundcloud com 2010 08 of cors we do http backstage soundclou
  • 如何在包含 500+ 张图片的页面上实现延迟加载?

    我基本上有一个预订引擎单位结果页面must显示 40 个单元 每个单元有 1 个大图像的第一个缩略图和 X 个伴随的缩略图 我一直在使用 jquery 延迟加载插件 但它不够彻底 我在 DOM Ready 上调用它 而且它在 IE 中不起作
  • 将位于 SharePoint Server 中的 Excel 文件导入到 SSIS

    在 SSIS 数据流任务中 我寻求使用连接到位于 SharePoint 服务器中的 xlsx 文件的 Excel 源任务来导入数据 最好不要下载其他软件 在 Excel 连接管理器中 我使用以下 Excel 文件路径格式 UNC sps s
  • setData() 上的 CKEditor 内存泄漏

    我认为我遇到了一些与 CKeditor setData 函数相关的大内存泄漏 我有一个网络应用程序 用户可以使用 Javascript 设计自己的内容 CKEditor作为所见即所得的编辑器 供用户编写设计各部分的内容 每次用户单击其设计中
  • extjs - 如何禁用商店分页

    每当商店 Ext data Store 从服务器读取数据 它发送分页参数 例如 page 1 start 0 limit 25 in a json代理或 page 1 start 0 limit 25 用一个direct proxy 我想在
  • 使用图像代替 Bootstrap 的字形图标

    I would like to use a custom image in an input group instead of a Bootstrap glyphicon without padding bottom my image to
  • 使用 Rxjava 检测值变化

    我们可以使用 RxJava 检测类成员值是否发生更改吗 假设一个类中有一个变量 var 现在我们可以使用 RxJava 在 var 的值发生变化时收到通知 你可以使用这样的东西 private final BehaviorSubject
  • 在 MATLAB 中对文本进行聚类

    我想在 MATLAB 中对文本进行层次凝聚聚类 说吧 我有四句话 I have a pen I have a paper I have a pencil I have a cat 我想把上面的四个句子聚类一下 看看哪个更相似 我知道统计工具
  • 在车把的助手中渲染模板

    因为这个问题似乎没有答案 通过车把部分传递变量 https stackoverflow com questions 11523331 passing variables through handlebars partial然而 我目前正在研
  • 与 Python 等效的字符串格式化,使用 Perl 中的字典和哈希值进行格式化

    我喜欢 Python 使用字典格式化字符串的方式 print key1 s and key2 s aDictObj 我想在 Perl 中使用哈希来实现同样的目标 有没有任何片段或小型库可以做到这一点 EDIT 感谢您尝试这个答案 至于我 我
  • 从 javascript 脚本重定向 document.write

    我们希望在我们的网站上投放广告 但与我们洽谈的广告服务器在为我们提供足够快的广告速度方面存在问题 我认为问题是我们应该包括我们要在其中显示广告 然后它将下载脚本并使用 document write 插入一些 html 问题是对广告商网站的调
  • 在 MySQL 数据库中存储 IP 地址(IPv4 和 IPv6)

    好吧 现在我知道类似的问题可能已经被问过一百万次了 但我在这方面是一个真正的新手 我真的很感谢你在这里的帮助 基本上 我想将访问者的 IP 地址存储在 MySQL 中 以便以后检索和验证 我首先需要知道需要使用什么类型的字段来存储 IP 地
  • 如何在android中将网站中的JSON对象解析为数组列表

    如何将 Web 链接中的 JSON 对象解析到 Android 中并将不同的值存储到 ArrayList 中 用户的 JSON 对象如下所示 它来自一个网站 Users name Kane lon 4 371645 lat 31 39691
  • 全局数据库连接参数的存储位置

    Perl 中是否有存储数据库连接参数和其他全局设置的约定 类似于 NET 的 config 文件 背景 我继承了一个基于 Perl 的大型应用程序 其中有一堆 CGI 脚本和几个后台服务 所有这些服务都有硬编码的数据库主机名 用户名和密码
  • 在matlab中读取文本文件(数据转换)

    我正在读取一个文本文件matlab 这是代码 allData textread file s delimiter n numericalArray cellfun s sscanf s f allData un 0 Get Header h
  • 触发下拉菜单的变化事件

    我想使用jquery触发 document ready中下拉列表的更改事件 我在用户详细信息页面中有一个国家和州的级联下拉菜单 我如何使用 C 在 MVC 中设置国家 地区和州的值 根据用户 ID 从数据库中获取 我不太了解 JQuery
  • AWS - Cloudfront - 如何使用 Origin 自定义标头

    我对 AWS 还很陌生 现在正在参加一些不同的培训课程 我偶然发现的有趣的事情之一是能够在 Cloudfront 中添加自定义标头 也就是说 我似乎无法弄清楚 或找到简单易懂的文档 如何使用 利用此功能提供的功能 有人可以告诉我如何 如何访
  • 将“Java.lang.String”转换为“oracle.sql.TIMESTAMPTZ”

    我有以下这些Java lang String代表的值String的价值TIMESTAMPTZ 我需要转换这些Java lang String TO oracle sql TIMESTAMPTZ 2016 04 19 17 34 43 781
  • 在 range-v3 中,如何从一对迭代器创建范围?

    给定一对传统的 开始 和 结束 迭代器 如何创建与 range v3 兼容的范围 假设我正在编写一个接受两个迭代器的通用函数 以与遗留代码兼容 struct result bool keep line const std string re