草庐IT

boost-pool

全部标签

c++ - 如何避免使用 Boost 库删除 remove_all 上的目录?

我正在使用boost::filesystem::remove_all操作来删除目录的内容。它会正确删除内容,但是,正如BoostFilesystemDocumentation所述,它还会删除目录本身。有没有一种简单的方法可以保留目录,尽管它是空的? 最佳答案 我认为最好的方法是在文件夹内迭代并为每个元素执行remove_all。示例代码:namespacefs=boost::filesystem;fs::pathpath_to_remove("C:\\DirectoryToRemove");for(fs::directory_ite

c++ - 如何避免使用 Boost 库删除 remove_all 上的目录?

我正在使用boost::filesystem::remove_all操作来删除目录的内容。它会正确删除内容,但是,正如BoostFilesystemDocumentation所述,它还会删除目录本身。有没有一种简单的方法可以保留目录,尽管它是空的? 最佳答案 我认为最好的方法是在文件夹内迭代并为每个元素执行remove_all。示例代码:namespacefs=boost::filesystem;fs::pathpath_to_remove("C:\\DirectoryToRemove");for(fs::directory_ite

c++ - 如何调试使用 boost 而不会失去理智的代码?

Boost是一组很棒的库,它确实boost了生产力。但是调试使用它的代码完全是一场噩梦。当然,遍历两万个头文件可能是一项有值(value)的智力练习,但如果您需要一遍又一遍地做呢?是否有一种对开发人员友好的方式来跳过boost部分并让调试器直接进入我的代码?VisualStudio有一个DebuggerStepThroughAttribute对于.NET框架。原生C++有什么类似的吗? 最佳答案 没有独立于平台/编译器的方式,但有人告诉我,您可以告诉调试器不要“进入”某些函数或类。您应该查找注册表项:[HKEY_LOCAL_MACH

c++ - 如何调试使用 boost 而不会失去理智的代码?

Boost是一组很棒的库,它确实boost了生产力。但是调试使用它的代码完全是一场噩梦。当然,遍历两万个头文件可能是一项有值(value)的智力练习,但如果您需要一遍又一遍地做呢?是否有一种对开发人员友好的方式来跳过boost部分并让调试器直接进入我的代码?VisualStudio有一个DebuggerStepThroughAttribute对于.NET框架。原生C++有什么类似的吗? 最佳答案 没有独立于平台/编译器的方式,但有人告诉我,您可以告诉调试器不要“进入”某些函数或类。您应该查找注册表项:[HKEY_LOCAL_MACH

c++ - 迭代 boost::variant 中的类型

我正在使用boost变体来保存一些生成的类型,现在我的代码生成器会创建一个带有类型的header和一个能够保存它们的变体。在初始化时,我想迭代变量中允许的类型,而不是变量当前持有的类型。我可以使用变体来做到这一点吗? 最佳答案 boost::variant通过types公开其类型,这是一个MPL列表。您可以使用mpl::for_each对MPL列表执行运行时操作。:structprinter{templatevoidoperator()(Tt){std::coutvar;boost::mpl::for_each(printer())

c++ - 迭代 boost::variant 中的类型

我正在使用boost变体来保存一些生成的类型,现在我的代码生成器会创建一个带有类型的header和一个能够保存它们的变体。在初始化时,我想迭代变量中允许的类型,而不是变量当前持有的类型。我可以使用变体来做到这一点吗? 最佳答案 boost::variant通过types公开其类型,这是一个MPL列表。您可以使用mpl::for_each对MPL列表执行运行时操作。:structprinter{templatevoidoperator()(Tt){std::coutvar;boost::mpl::for_each(printer())

c++ - 使用 boost::date_time 在当前时区获取当前时间的最简单方法?

如果我在命令行(Debian/Lenny)上执行date+%H-%M-%S,我会得到一个用户友好的(不是UTC,不是DST-less,时间a正常人在他们的watch上)打印时间。使用boost::date_time获得相同内容的最简单方法是什么?如果我这样做:std::ostringstreammsg;boost::local_time::local_date_timet=boost::local_time::local_sec_clock::local_time(boost::local_time::time_zone_ptr());boost::local_time::local_

c++ - 使用 boost::date_time 在当前时区获取当前时间的最简单方法?

如果我在命令行(Debian/Lenny)上执行date+%H-%M-%S,我会得到一个用户友好的(不是UTC,不是DST-less,时间a正常人在他们的watch上)打印时间。使用boost::date_time获得相同内容的最简单方法是什么?如果我这样做:std::ostringstreammsg;boost::local_time::local_date_timet=boost::local_time::local_sec_clock::local_time(boost::local_time::time_zone_ptr());boost::local_time::local_

c++ - boost::interprocess message_queue 性能 - 相当慢?

我需要一个超快的MQ机制,发送方和接收方都用C++编写,在Windows平台上。我当前使用RCF-C++的实现因为IPC在Windows命名管道上的时钟速度约为20,000msg/sec。我正在根据thedemoapp测试boost::interprocessMessageQueues的性能。,并且测量到大约48,000条消息/秒,考虑到当我在同一台机器上(在C#中使用codefromthisblogpost)编写一个简单的内存映射文件通信时,我每秒收到大约150,000条消息,这非常慢。知道为什么我从boostmessage_queue中得到如此缓慢的性能,以及我可以尝试改进它吗?

c++ - boost::interprocess message_queue 性能 - 相当慢?

我需要一个超快的MQ机制,发送方和接收方都用C++编写,在Windows平台上。我当前使用RCF-C++的实现因为IPC在Windows命名管道上的时钟速度约为20,000msg/sec。我正在根据thedemoapp测试boost::interprocessMessageQueues的性能。,并且测量到大约48,000条消息/秒,考虑到当我在同一台机器上(在C#中使用codefromthisblogpost)编写一个简单的内存映射文件通信时,我每秒收到大约150,000条消息,这非常慢。知道为什么我从boostmessage_queue中得到如此缓慢的性能,以及我可以尝试改进它吗?