如何制作 boost::filesystem::directory_iterator 的副本?

2023-12-01

我知道这听起来很愚蠢,但是看看这个简单的例子(工作目录应该有多个项目):

#define BOOST_FILESYSTEM_VERSION 3
#include <boost/filesystem.hpp>
#include <cassert>

int main()
{
    using namespace boost::filesystem;
    directory_iterator it("./");
    directory_iterator it_copy = it;
    ++it;
    assert(it_copy != it);
    return 0;
}

it_copy一起修改为it! (boost 1.45)什么考虑因素可以导致这样的设计(directory_iterator是类似 smart ptr 的东西吗?

我只需要保存一份副本directory_iterator以便稍后使用。


如果你看一下参考你会注意到它被广告为boost::single_pass_traversal_tag.

这相当于(在升压术语中)输入迭代器在 STL 中(将其视为从网络连接传递数据包的迭代器,无法倒回)。

另请注意(来自同一页面):

i == j并不意味着++i == ++j.

说到这里,有人可能会奇怪为什么它可以被复制。原因是 STL 算法已经设定了通过复制获取参数的规范。因此,如果无法复制,则无法与 STL 算法一起使用。

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

如何制作 boost::filesystem::directory_iterator 的副本? 的相关文章

  • json.net自定义jobject反序列化

    我正在尝试使用 JsonConvert DeserializeObject string 将字符串反序列化为可与动态一起使用的 jobject 来动态访问 json 文档 但是我想避免知道文档的大小写 以便我可以输入 dynamic doc
  • 您可以从基本 Win32 控制台模板应用程序中的 C#/Winrt 组件调用(不是 WinForm/abstractions/wrappers 或使用 C++/Winrt 模板)吗?)

    我有一个现有的程序 win32 x86 控制台应用程序 需要调用托管代码 来自 Net 的 C dll The dll不暴露给 COM 但可以从 C WinRT 组件调用并由 C WinRT 控制台模板应用引用 BUT即使安装了 C Win
  • C++ 长 switch 语句还是用地图查找?

    在我的 C 应用程序中 我有一些值充当代表其他值的代码 为了翻译代码 我一直在争论使用 switch 语句还是 stl 映射 开关看起来像这样 int code int value switch code case 1 value 10 b
  • std::call_once 可重入且线程安全吗?

    std call once http en cppreference com w cpp thread call once是线程安全的 但它也是可重入的吗 我使用 VS2012 调试和发布 进行的测试表明 调用std call once从单
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • 计算另一个表达式中的 C# 表达式

    我想在另一个表达式中使用一个表达式 Expression
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 使用查询表达式对 List 进行排序

    我在使用 Linq 订购这样的结构时遇到问题 public class Person public int ID get set public List
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • 将接口转换为其具体实现对象,反之亦然?

    在 C 中 当我有一个接口和几个具体实现时 我可以将接口强制转换为具体类型 还是将具体类型强制转换为接口 这种情况下的规则是什么 Java 和 C 中都允许这两个方向 向下转型需要显式转型 如果对象类型不正确 可能会抛出异常 然而 向上转换
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include
  • 来自 3rd 方库的链接器错误 LNK2019

    我正在将旧的 vc 6 0 应用程序移植到 vs2005 我收到以下链接器错误 我花了几天时间试图找到解决方案 错误LNK2019 无法解析的外部符号 imp 创建AwnService 52 在函数 public int thiscall
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne
  • 使用未分配的局部变量

    我遇到了一个错误 尽管声明了变量 failturetext 和 userName 错误仍然出现 谁能帮帮我吗 Use of Unassigned local variable FailureText Use of Unassigned lo

随机推荐

  • PLSQL动态查询

    我有一个表 A 其中有列A它将表名作为值 所有这些表都有一个公共列C 我需要每个表的该列的最大值 我尝试使用动态 SQL 但出现错误 请建议 DECLARE query1 VARCHAR2 100 c table VARCHAR2 40 c
  • CSS 圆形边框填充动画

    我有一个 css 文件 它可以完美地制作圆形边框填充动画 其宽度和高度均为 100 像素 但我只需要在 50px 宽度和高度的圆圈中使用相同的动画 我尝试了很多次来最小化尺寸 但圆圈没有通过动画正确修复 请帮我缩小这个圈子 我的需求 宽度
  • 当我使用任务管理器终止程序时收到什么消息

    所以我有一个 C dll 在我的 C 应用程序中使用它来监视 Windows 消息 我想知道 WM CLOSE 和 WM QUERYENDSESSION 是否已发送 因为我无法从 C 应用程序中看到它们 如果我收到这些消息之一 我想对我的文
  • 如何在microsoft azure上的django项目中配置celery-redis?

    我在 azure 中部署了这个 django 定位器项目 我的 Redis 缓存主机名 DNS 是 mycompany azure microsoft net 我在 azure 中创建了它 但不确定在哪里可以找到 redis 服务器的密码
  • 无法在 PowerShell 中获取事件数据字段数据

    我正在尝试将事件 4625 中的特定数据字段 FailureReason 获取到 CSV 字段 我用以下代码分析了事件模式 Get WinEvent ListProvider Microsoft Windows Security Audit
  • 检测 kiosk 应用程序启动的 Citrix 会话的终止

    我正在开发一个信息亭应用程序 它为用户提供了 Citrix 连接的选择 其想法是 用户选择 kiosk 应用程序提供的连接 然后 kiosk 启动程序通过运行类似于以下内容的命令来启动所选连接 C Program Files Citrix
  • 在 pandas 数据框中插入缺少的工作日并用 NaN 填充它们

    我正在尝试在时间序列数据框中插入缺少的工作日 例如 import pandas as pd from pandas tseries offsets import df pd DataFrame 2016 09 30 10 2020 2016
  • 每次尝试在 Heroku 上部署可能的应用程序时,我都会收到此代码错误:代码:'ERR_DLOPEN_FAILED'

    我是 Heroku 的新手 目前正在使用 React Node js 构建一个应用程序 虽然我能够成功地将我的主分支推送到 Heroku 并且 Heroku 确认我的应用程序已成功部署 但是 尽管显示以下部署成功消息 部署到 Heroku
  • 使用 CSS3/JS 的 SVG 径向擦除动画

    How can i achieve a radial wipe animation in CSS3 or JS It s seems so simple but I can t figure it out 这是使用 jQuery 的基本方法
  • JQuery - Firefox 中的 $.ajax ContentType 问题

    我正在使用以下代码发出跨域 JSON 请求 ajax type POST crossDomain true contentType application json charset utf 8 data domain domain asse
  • 带视图的叠加选项卡栏

    我有一个UIViewController标签栏内 对于选项卡栏中的一个 VC 我允许界面随着设备旋转而旋转 挑战是 我想隐藏选项卡栏并调整内部视图的大小 我做了什么 1 被调用 void willAnimateRotation 在我的标签栏
  • 比 for 循环更有效的求和方法

    我有两个大小相同的列表 两者都包含数字 第一个列表是生成的 第二个列表是静态的 由于我有许多生成的列表 我想找出哪一个是最好的 对我来说 最好的列表是最等于参考的列表 因此我计算每个位置的差异并将其相加 这是代码
  • 在php上写入文件

    我想保留访问者的 IP 并将其保存在文件中 我尝试了 fwrite 函数 但我认为它是在文件上的先前 ip 上重写的 Example ip txt 为空 当我运行 write php 脚本时 在 ip txt 上我有 x x x x ip
  • 将 StackPanel.Visibility 绑定到其子级的 Visibility 属性

    我对数据绑定比较陌生 只是在阅读它 我想做的是 我有一个带有许多子控件的 StackPanel
  • 从模板函数返回 double 或complex

    我正在编写一些函数模板来重载 矩阵类的运算符 我对类型矩阵做了很多工作double and complex
  • 如何在 RStudio 中查看、打开和保存 .rdb 文件

    我可以按照指示将变量环境中 rdb 文件中的每个数据库视为 承诺 here 现在 我想编辑其中一个文件并保存它 我怎样才能做到这一点 我是 R 新手 在一次讨论中r pkg 开发 Ivan Krylov 提供了以下读取 RDB 数据库的函数
  • Powershell 将用户添加到组

    我正在尝试读取包含用户信息的 XML 文件 并根据该信息将用户添加到 Active Directory 组 到目前为止 我一直在查找错误消息 但没有任何帮助 这是将用户添加到组的代码 MyUsers xml Get Content e sa
  • 没有“static”或“extern”的“inline”在 C99 中有用吗?

    当我尝试构建这段代码时 inline void f int main f 使用命令行 gcc std c99 o a a c 我收到链接器错误 未定义的引用f 如果我使用 错误就会消失static inline or extern inli
  • 解决BaseGameActivity

    我试图追随的人一样多本教程没有成功 简单的错误是 The import com google example games basegameutils BaseGameActivity cannot be resolved BaseGameU
  • 如何制作 boost::filesystem::directory_iterator 的副本?

    我知道这听起来很愚蠢 但是看看这个简单的例子 工作目录应该有多个项目 define BOOST FILESYSTEM VERSION 3 include