草庐IT

boost_process

全部标签

c++ - boost::iostream zlib 将多个文件压缩到一个存档中

我无法将一堆文件打包到一个存档中。boost文档在这个主题上非常有限,我已经在网上搜索了几个小时,但我找不到解决方案。到目前为止我有什么:boost::filesystem::ofstreamofsArchive("some.zip");boost::iostreams::filtering_ostreambufoutFilter;boost::iostreams::zlib_paramszparam(boost::iostreams::zlib::default_compression);try{//setupthefilteroutFilter.strict_sync();outF

c++ - 如何检查 Boost::asio 中是否存在套接字连接?

我正在使用Boost::asio来实现客户端/服务器应用程序。下面的客户端代码用于连接到远程服务器。try{boost::asio::io_servicem_io_service;boost::asio::ip::tcp::socketm_socket(m_io_service);boost::asio::ip::tcp::endpointendpoint(boost::asio::ip::address::from_string("127.0.0.1"),17);m_socket.connect(endpoint);}catch(std::exception&e){std::cerr

C++ Boost.ASIO async_read_until 慢

我遇到了一个不寻常的问题。我有一个C++Boost.ASIO网络服务器,为了处理传入的请求,我正在使用以下代码:boost::asio::async_read_until(socket_,response_,"\r\n\r\n",boost::bind(&connection::handle_read_headers,shared_from_this(),boost::asio::placeholders::error,boost::asio::placeholders::bytes_transferred));(其中“socket_”是我的boost::asio::ip::tcp::

c++ - 将 C++11 std::thread 移植到 boost::thread 编译问题

我正在尝试使用boost::thread将C++11std::thread代码移植到VC9(VS2008)。下面的“等效”C++11代码在msvc12上编译良好:#include#include#include#include#includevoidthFun(inti){std::coutworkers;for(inti=0;i我想使用msvc9编译器和Boost1.55将代码移植到C++03。如何解决以下编译错误:#include#include#include#include#includevoidthFun(inti){std::coutworkers;for(inti=0;i

c++ - 创建许多 boost::polygons 的 union 的最快方法是什么?

我必须合并许多boost::polgons,但我的方法似乎性能不佳(>15分钟),尤其是在有大量多边形(>2000)的情况下。我将我想要合并的所有多边形插入一个多边形,然后加入多边形,请参阅我的代码:BOOST_FOREACH(polygon,multipolygon){boost::geometry::clear(tmp_union);//tmp_unionisamultipolygonboost::geometry::union_(result,poly,tmp_union);result=tmp_union;}结果可能不会包含很多多边形,因为大多数要合并的多边形都会相交。有没有什

c++ - boost::hash_combine 与简单的异或运算

当使用boost库时,函数boost::hash_combine的工作方式如下:seed^=hash_value(v)+0x9e3779b9+(seed>2);http://www.boost.org/doc/libs/1_46_1/doc/html/hash/reference.html#boost.hash_combine与简单的异或运算相比,这种方法有什么优势?通过XOR-ing,甚至可以使用散列函数将无序容器用作键,而这个容器是顺序相关的。 最佳答案 有很多有序的容器,比如列表。如果您要使用XOR,那么您基本上会说[0,1]

c++ - 从 boost dynamic_bitset 中提取子集

我需要从给定的boostdynamic_bitset中提取和解码位(idx、idx+1、...idx+n_bits)。我创建了以下解决方案:boost::dynamic_bitsetmybitset(...);//buildmask2^{idx+n_bits}-2^{idx}constboost::dynamic_bitsetmask(mybitset.size(),(1>idx).to_ulong();它运行良好,但由于这段代码对我的应用程序的性能至关重要,我很好奇是否有更好的方法来实现这一目标? 最佳答案 解决方法很简单:#in

C++ 依赖注入(inject)——通过引用还是通过 boost::shared_ptr?

在需要构造函数依赖注入(inject)的情况下,使用引用注入(inject)与使用boost::shared_ptr注入(inject)有哪些注意事项?还有其他常见的方法吗?它与上述两种方法相比如何? 最佳答案 您可以选择如何管理要注入(inject)的对象的生命周期。整体架构可能会决定哪种选择最有意义。有了引用,更高层次的东西必须管理对象的生命周期;使用shared_ptr将自动管理生命周期。 关于C++依赖注入(inject)——通过引用还是通过boost::shared_ptr?,

c++ - 如何在 Linux 中正确链接 boost 库

我一直在尝试完成Boost教程,但我在链接文件系统库时遇到了困难。我有Ubuntu12.10。安装并不难sudoapt-getinstalllibboost-all-dev这将所有头文件放在/usr/local/include中,编译后的源代码放在/usr/lib/[--标题][--二进制文件]我写了这个程序[--program]。当我尝试编译它时g++-gtut1.cpp-otut1-lboost_system-lboost_filesystem得到这个错误:[--errors]。在http://www.boost.org/doc/libs/1_53_0/more/getting_s

c++ - boost::exception - 如何打印细节?

我的程序中有这样的代码:catch(boost::exception&ex){//errorhandling}如何打印详细信息?错误消息、堆栈跟踪等? 最佳答案 对于像boost::exception这样通用的东西,我认为您正在寻找boost::diagnostic_information函数来获得一个漂亮的字符串表示。#includecatch(constboost::exception&ex){//errorhandlingstd::stringinfo=boost::diagnostic_information(ex);log