草庐IT

boost-pool

全部标签

c++ - 您如何使用 Boost.Test 指定应该预期的异常?

我有一个Boost单元测试用例,它会导致被测对象抛出异常(这就是测试,导致异常)。如何在测试中指定预期该特定异常。我可以通过使用BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES指定测试应该有一定数量的失败,但这似乎相当不具体。我希望能够在测试中的特定点说应该抛出异常并且不应将其视为失败。 最佳答案 这不行吗?BOOST_CHECK_THROW(expression,an_exception_type);如果表达式抛出给定的异常类型,这应该会导致测试通过,否则会失败。如果您需要与'CHECK'不同的严重性,

c++ - 您如何使用 Boost.Test 指定应该预期的异常?

我有一个Boost单元测试用例,它会导致被测对象抛出异常(这就是测试,导致异常)。如何在测试中指定预期该特定异常。我可以通过使用BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES指定测试应该有一定数量的失败,但这似乎相当不具体。我希望能够在测试中的特定点说应该抛出异常并且不应将其视为失败。 最佳答案 这不行吗?BOOST_CHECK_THROW(expression,an_exception_type);如果表达式抛出给定的异常类型,这应该会导致测试通过,否则会失败。如果您需要与'CHECK'不同的严重性,

python - Boost::Python,将元组转换为 Python 有效,vector<tuple> 无效

我使用Boost::Python已经有一段时间了,结果一切正常。但是昨天我试图找出为什么我认为我已经注册的特定类型(元组)在我尝试从Python访问它时给了我错误。事实证明,当元组实际注册时,当尝试通过std::vector访问它时通过vector_indexing_suite包裹这已经不够了。我想知道,为什么它不起作用?有什么办法可以使这项工作?我应该尝试手动包装vector吗?下面是我的MVE:#include#include#include#includetemplatestructTupleToPython{TupleToPython(){boost::python::to_p

python - Boost::Python,将元组转换为 Python 有效,vector<tuple> 无效

我使用Boost::Python已经有一段时间了,结果一切正常。但是昨天我试图找出为什么我认为我已经注册的特定类型(元组)在我尝试从Python访问它时给了我错误。事实证明,当元组实际注册时,当尝试通过std::vector访问它时通过vector_indexing_suite包裹这已经不够了。我想知道,为什么它不起作用?有什么办法可以使这项工作?我应该尝试手动包装vector吗?下面是我的MVE:#include#include#include#includetemplatestructTupleToPython{TupleToPython(){boost::python::to_p

c++ - 试图了解Boost.Asio定制服务实现

我正在考虑在我们当前正在使用的现有专有第三方网络协议(protocol)之上编写自定义Asio服务。根据HighscoreAsioguide的介绍,您需要实现三个类来创建自定义Asio服务:从boost::asio::basic_io_object派生的类,表示新的I/O对象。从boost::asio::io_service::service派生的类,表示已在I/O服务中注册并且可以从I/O对象访问的服务。一个不派生自表示服务实现的任何其他类的类。网络协议(protocol)实现已经提供了异步操作,并具有(阻塞)事件循环。因此,我想将其放入服务实现类中,并在内部工作线程中运行事件循环。

c++ - 试图了解Boost.Asio定制服务实现

我正在考虑在我们当前正在使用的现有专有第三方网络协议(protocol)之上编写自定义Asio服务。根据HighscoreAsioguide的介绍,您需要实现三个类来创建自定义Asio服务:从boost::asio::basic_io_object派生的类,表示新的I/O对象。从boost::asio::io_service::service派生的类,表示已在I/O服务中注册并且可以从I/O对象访问的服务。一个不派生自表示服务实现的任何其他类的类。网络协议(protocol)实现已经提供了异步操作,并具有(阻塞)事件循环。因此,我想将其放入服务实现类中,并在内部工作线程中运行事件循环。

c++ - 最小化 boost::spirit 编译时间

有什么减少boost::spirit编译时间的想法吗?我刚刚将一个弹性解析器移植到boost::spirit。EBNF有大约25条规则。结果运行良好,运行时性能良好。问题是编译需要永远!这大约需要十分钟,并且需要近千兆字节的内存。最初的flex解析器在几秒钟内编译完成。我正在使用boost版本1.44.0和VisualStudio2008。在JoeldeGuzman的文章中'BestPractices'它说Ruleswithcomplexdefinitionshurtthecompilerbadly.We’veseenrulesthataremorethanahundredlinesl

c++ - 最小化 boost::spirit 编译时间

有什么减少boost::spirit编译时间的想法吗?我刚刚将一个弹性解析器移植到boost::spirit。EBNF有大约25条规则。结果运行良好,运行时性能良好。问题是编译需要永远!这大约需要十分钟,并且需要近千兆字节的内存。最初的flex解析器在几秒钟内编译完成。我正在使用boost版本1.44.0和VisualStudio2008。在JoeldeGuzman的文章中'BestPractices'它说Ruleswithcomplexdefinitionshurtthecompilerbadly.We’veseenrulesthataremorethanahundredlinesl

c++ - Boost::MPL 的实际使用示例?

您能否分享Boost::MPL的任何真实示例?用法(lambdas除外),只是为了让我更好地了解它的用途和实际使用领域?MPL文档教程有一个dimensionalanalysis示例,但可能因为它是一个学术示例,它并没有让我感觉到Boost::MPL以及何时可以有效使用。 最佳答案 我使用Boost.Mpl来生成类似变体的类。例如,给定一个MPL类型列表,如下所示:typedefboost::mpl::settype_set;然后我使用boost::mpl::fold构建一个从彼此派生的类链,每个类都添加类型集中其中一种类型的std

c++ - Boost::MPL 的实际使用示例?

您能否分享Boost::MPL的任何真实示例?用法(lambdas除外),只是为了让我更好地了解它的用途和实际使用领域?MPL文档教程有一个dimensionalanalysis示例,但可能因为它是一个学术示例,它并没有让我感觉到Boost::MPL以及何时可以有效使用。 最佳答案 我使用Boost.Mpl来生成类似变体的类。例如,给定一个MPL类型列表,如下所示:typedefboost::mpl::settype_set;然后我使用boost::mpl::fold构建一个从彼此派生的类链,每个类都添加类型集中其中一种类型的std