草庐IT

boosting

全部标签

c++ - N Boost interval_set 的组合

我的一项服务在4个不同的位置出现中断。我正在将每个位置的中断建模到一个BoostICLinterval_set中。我想知道至少N个位置何时发生事件中断。因此,关注thisanswer,我已经实现了组合算法,因此我可以通过interval_set交集在元素之间创建组合。当这个过程结束时,我应该有一定数量的interval_set,它们中的每一个同时定义N个位置的中断,最后一步将加入它们以获得所需的全貌。问题是我目前正在调试代码,当打印每个交叉点的时间到了时,输出的文本变得疯狂(即使我正在使用gdb逐步调试),我无法看到它们,导致大量的CPU使用率。我想我以某种方式发送输出的内存比我应该的

c++ - 为什么 boost.geometry.index.rtree 比 superliminal.RTree 慢

我测试了boost.geometry.index.rtree(boost1.59www.boost.org)和superliminal.RTree(http://superliminal.com/sources/sources.htm#C_Code)。令我惊讶的是,superliminal.RTree比boost.geometry.index.rtree更快。环境设置将相同的空间索引数据添加到superliminal.RTree和boost.geometry.index.rtree对象。测试相同的空间索引查询100次并获得消耗的时间。GCC版本是“gccversion4.4.62011

c++ - Visual Studio 2010 中 std::make_shared() 的友元函数(不是 Boost)

如何创建std::make_shared()的友元函数。我试过:classMyClass{public:friendstd::shared_ptrstd::make_shared();//or//friendstd::shared_ptrstd::make_shared();protected:MyClass();};但它不起作用(我使用的是VisualStudio2010SP1) 最佳答案 如何向您的类添加一个静态方法:classFoo{public:staticshared_ptrcreate(){returnstd::shar

具有抽象基类的 C++ boost::ptr_map 导致插入问题

在我的lastquestion之后我有一个抽象基类Action,它充当执行各种不同操作的接口(interface)。为了实现抽象层,我有一个ActionHandler类,其中存储各种Action:classActionHandler{public:ActionHandler();~ActionHandler();Action&getAction(std::stringActionString);private:boost::ptr_mapcmdmap;};我从对我之前问题的回答中了解到,boost会自动处理释放任何插入到该映射中的指针类型(类)。所以,我现在尝试插入从Action派生的

c++ - 如何在 boost::unique_lock<boost::mutex> 上尝试锁定

根据标题,如何在boost::unique_lock上尝试锁定?我有这段代码:voidmySafeFunct(){if(myMutex.try_lock()==false){return-1;}//mutexownershipisautomaticallyacquired//dostuffsafelymyMutex.unlock();}现在我想使用unique_lock(它也是一个作用域互斥体)而不是普通的boost::mutex。我希望这样可以避免函数体中的所有unlock()调用。 最佳答案 您可以使用Deferconstruc

c++ - boost 测试中的命令行参数

我希望为我的boost测试处理额外的命令行参数。我正在使用它来自动测试功能,我需要指定诸如服务器名、用户、通行证等内容...除了已经编码到单元测试中的命令参数之外,当我传递我的测试可执行文件额外命令参数时,我收到堆损坏错误。我左右搜索了一下,很难找到访问这些参数的位置。现在看来我可能还需要先设置它们,否则命令行解析器会做一些愚蠢的事情。有人知道如何添加命令行参数来boost单元测试吗?编辑——最小的例子#defineBOOST_TEST_MODULExxx#includeBOOST_AUTO_TEST_CASE(empty){}调用它:exenamehello这似乎与任何事情都无关。这

c++ - 使用 Boost::spirit 编写的解析器的性能问题

我想解析一个看起来像这样的文件(类似FASTA的文本格式):>InfoHeader"Sometextsequencethathasalinebreakafterevery80characters">InfoHeader"Sometextsequencethathasalinebreakafterevery80characters"...例如:>gi|31563518|ref|NP_852610.1|microtubule-associatedproteins1A/1Blightchain3Aisoformb[Homosapiens]MKMRFFSSPCGKAAVDPADRCKEVQQI

c++ - 这是什么编程技术? ( boost 图书馆)

我正在尝试从boost库(http://www.boost.org/doc/libs/1_38_0/doc/html/program_options/tutorial.html#id3761458)的program_options中理解示例特别是这部分:desc.add_options()("help","producehelpmessage")("compression",po::value(),"setcompressionlevel");他到底在做什么,那是什么技术?这部分desc.add_options()可能是一个函数调用,但另一个()如何适合这里?这是某种运算符重载吗?谢谢

c++ - 我可以仅针对 boost 单元测试失败获得日志输出吗

我的应用程序中有一些日志记录(它恰好是log4cxx,但我对此很灵活),并且我有一些使用boost单元测试框架的单元测试。当我的单元测试运行时,我从通过和失败的测试中获得大量日志输出(不仅是boost断言记录,还有我自己的应用程序代码的调试日志记录)。我想让单元测试框架在通过的测试期间丢弃日志,并从失败的测试中输出日志(我在使用python/nose时开始欣赏这种行为)。boost单元测试框架是否有一些标准方法可以做到这一点?如果没有,是否有一些测试开始/测试结束Hook可以用来缓冲我的日志并有条件地输出它们以自己实现此行为? 最佳答案

c++ - 使用 boost::archive 和 boost::iostreams 来压缩数据

我想为一个可以选择性地压缩数据的类编写一个序列化函数。我想使用boost::iostreams中提供的压缩工具。有谁知道如何做到这一点?structX{X(){}templatevoidserialize(Archive&ar,constunsignedintversion){ar&compression;if(compression==0){ar&data;}elseif(compression==1){//useboost::iostreamcompression//facilitiestoserializedata}}intcompression;std::vectordata;