草庐IT

boost-pool

全部标签

c++ - 多次在 Boost 测试中重复测试用例

有没有办法在Boost测试中重复运行单元测试或一组单元测试?假设我有以下内容:BOOST_FIXTURE_TEST_SUITE(someSuite,someFixture)BOOST_AUTO_TEST_CASE(someTest){...}BOOST_AUTO_TEST_SUITE_END()...并且我想使用设置/拆卸运行someTest假设100次。 最佳答案 您始终可以循环运行您的测试程序。我不相信现在有测试用例/套件级别的功能可以做到这一点。请随时通过票证索取一张。 关于c++

c++ - 如何使用 boost::asio::serial_port 支持硬件流控制?

我正在使用Boost的asio::serial_port库与虚拟串行端口(FTDI芯片)通信。我想使用硬件流控制(即RTS/CTS),但我似乎找不到太多关于如何将它与Boost一起使用的文档。我得到的代码是:serialPort.set_option(boost::asio::serial_port::flow_control(boost::asio::serial_port::flow_control::hardware));有了这一行,程序将不会运行。它说:libc++abi.dylib:terminatecalledthrowinganexceptionAborttrap:6如果

c++ - Eclipse CDT 中的虚假错误:boost::iostreams

我在EclipseCDT(JunoSR1)中有以下代码:#include#include#include#include#includeintmain(){usingnamespacestd;namespaceio=boost::iostreams;ifstreamfile("data.gz",ios_base::in|ios_base::binary);io::filtering_streambufin;in.push(io::gzip_decompressor());//errorherein.push(file);//andhere}g++4.7.2代码没有问题。然而,Eclip

c++ - boost 正则表达式。命名组分为两部分

我对boost::regex::regex_match有疑问。我使用打开的BOOST_REGEX_MATCH_EXTRA工作。我有什么:(这是我的问题的一个简单例子,不是真正的任务)stringinput1="345";stringinput2="347";我想要得到的:listoutput1=[345];listoutput2=[];//notmatched正则表达式:(这工作正常)((?[0-6])[]?)*输出1:what["group"]=5和what["group"].captures()=[3,4,5]输出2:不匹配问题是:我需要从一组正则表达式的多个部分收集数据。我试过了

c++ - 在 C++ 静态 boost::shared_ptr 中保存 python 生成的值

在使用Boost.Python和C++时,有时我们会创建使用类本身和boost::shared_ptr绑定(bind)的类。版本。出于多种原因,这非常方便,可以在很多地方使用。但是,当boost::python时,该机制似乎无法可靠地工作。返回boost::shared_ptr为在Python中生成并记录在C++静态变量中的值。通常,我希望返回boost::shared_ptr持有一个特殊的删除器来处理这个问题,但事实并非如此。似乎发生的是返回的boost::shared_ptr只是包装一个指向在Python中产生的值的指针,没有任何关于删除的特殊考虑。这会导致来自双重删除的一致崩溃(

c++ - 用于测试对象是否与 boost 范围兼容的元函数

有没有,或者你会怎么写,一个元函数类来测试一个类是否与boost::range兼容?我想使用boost::enable习惯用法,比如templateConstructor::Constructor(constT&t,__attribute__((unused))typenameboost::enable_if>::type*aux=NULL)用于适当的is_range_compatible元函数。我知道is_container来自pretty_print,它捕获了很多情况,但不是所有适用于boost::range的情况。编辑这是使用C++03,所以我无权访问C++11功能。我使用的是旧

c++ - 是否有比 boost::object_pool 更快的 C++ 堆分配/释放机制可用?

这周我发现了boost::object_pool并且惊讶于它比普通的新建和删除快了大约20-30%。为了测试,我编写了一个小型C++应用程序,它使用boost::chrono为不同的堆分配器/释放器(shared_ptr)计时。这些函数本身使用“新建”和“删除”进行60M次迭代的简单循环。代码下方:#include#includeusingstd::shared_ptr;#include#include#include#include#include#include"TestClass.h"constlonglTestRecursion=60000000L;voidWithSmartP

c++ - Boost.Python 是否需要其他 boost 库的绑定(bind)代码?

我有一个继承自boost::statechart库的类。我需要在Python脚本中使用这个类,我想知道我是否需要为所有boost::statechart库编写包装代码(.defs)只是因为我的类继承自它?或者boost.python不需要任何包装代码来查看定义(它会自动处理其他boost库以在python中调用)? 最佳答案 Boost.Python对Boost类没有任何特殊处理。如果您想要使用继承的函数(无论是否为Boost类),您需要像处理自己的代码一样将它们公开给Python。如果您不想使用脚本中的任何基类函数,除了绑定(bi

c++ - boost asio http服务器,如何停止?

我正在使用boost附带的示例http服务器之一(在doc/html/boost_asio/example/cpp03/http/server,或者在http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server)。该示例打开一个接受器套接字并进行监听,将请求剥离到请求对象。服务器还有一个boostasiosignal_set,它注册信号处理程序并在收到SIGINT或SIGTERM时取消

c++ - Boost.Spirit X3 中的错误处理和注释

使用boost::spirit::x3::position_tagged作为一些AST节点的基类的逻辑是什么(如何选择哪些应该被标记,例如对于类C语言?)和其他结构,用于规则ID定义,例如:structerror_handler_tag;structerror_handler_base{templatex3::error_handler_resulton_error(Iterator&/*first*/,Iteratorconst&/*last*/,Exceptionconst&x,Contextconst&context){std::stringmessage_="Error!Exp