c++ - 如何从开始和结束迭代器创建范围?

标签 c++ range-v3

我有一个对象,它具有获取开始和结束迭代器的功能:

const_iterator err_begin() const
const_iterator err_end() const 

因为它们没有被命名为 beginend,所以我无法将我的对象直接传递给 range-v3 中的函数。

是否有一个简单的包装器可以让这个对象与 range-v3 库一起使用?

例如:

auto hasErrors = !empty(something(x.err_begin(), x.err_end())); 

最佳答案

听起来您正在寻找 iterator_range :

auto hasErrors = !empty(ranges::make_iterator_range(x.err_begin(), x.err_end()));

关于c++ - 如何从开始和结束迭代器创建范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41268186/

相关文章:

c++ - 简单的 AHK 脚本不起作用

c++ - 另一个 C++ 列表问题

c++ - 范围 TS 重大变化?

c++ - 算法能否与表达式模板兼容?

C++ 二进制表达式树 : How do I print an infix expression with appropriate parentheses?

c++ - 即使在简单的 hello 程序中,我也无法在 C++ 中的 ./a.out 之后获得输出

c++ - C++ 中的二叉搜索树

c++ - Range-v3:使用 view_facade 提供 const 和非常量迭代器

c++ - 可写的 zip 范围是不可能的?

c++ - 为什么 `accumulate` 没有进入 C++20 的范围?