草庐IT

boost-uuid

全部标签

c++ - 删除和修改 Boost MultiIndex 容器中的元素

我正在尝试在模拟中使用BoostMultiIndex容器。我对C++语法的了解非常薄弱,我担心我没有正确地从容器中删除元素或从内存中删除它。我还需要修改元素,我也希望在这里确认语法和基本原理。//main.cpp...#include#include#include#include#include#include#include...#include"Host.h"//classHost,allmembersprivate,usinggetfxnstoaccessusingboost::multi_index_container;usingnamespaceboost::multi_i

c++ - Boost StateCharts 与 Samek 的 "Quantum Statecharts"的比较

我曾大量接触过MiroSamek的“量子分层状态机”,但我想知道它与BoostStateCharts相比如何-正如曾与两者合作过的人所说。有没有人要? 最佳答案 虽然详细程度不同,但我都知道。但我们可以从我遇到的差异开始,也许还有更多:-)。范围首先,QuantumPlatform为UML状态机提供了完整的执行框架,而boost::statecart仅帮助状态机实现。因此,boost::statechart提供与Quantum平台(QEP)的事件处理器相同的机制。UML一致性这两种方法都设计为符合UML。但是,Quantum平台在相

c++ - boost::spirit 示例无法编译

我正在按照Spirit文档中的教程进行操作,但我被困在这里:#include#include#includetemplateboolparse_numbers(Iteratorfirst,Iteratorlast,double&sum){namespaceqi=boost::spirit::qi;namespaceascii=boost::spirit::ascii;namespaceph=boost::phoenix;boolr=qi::phrase_parse(first,last,//begingrammar(qi::double_[ph::ref(sum)=qi::_1]>>*

C++ 关于 boost::unordered_map & boost::hash 的一些问题

我最近才开始深入研究boost及其容器,我在网络和stackoverflow上阅读了几篇文章,发现boost::unordered_map是大集合中性能最快的容器。所以,我有这个类状态,它在容器中必须是唯一的(没有重复)并且容器中将有数百万甚至数十亿个状态。因此,我一直在尝试针对小尺寸和尽可能少的计算对其进行优化。我之前使用的是boost::ptr_vector,但正如我在stackoverflow上读到的那样,只要其中没有那么多对象,vector就是好的。在我的例子中,状态描述了来自机器人的感觉运动信息,因此可能有大量的状态,因此快速查找是重中之重。关注boostdocumentat

c++ - 如何将异常报告给 boost::future?

如果我使用Boostfutures,并且future报告true到has_exception(),是否有任何方法可以检索该异常?例如,这里是下面的代码:intdo_something(){...throwsome_exception();...}...boost::packaged_tasktask(do_something);boost::unique_futurefi=task.get_future();boost::threadthread(boost::move(task));fi.wait();if(fi.has_exception()){boost::rethrow_exc

c++ - 我可以对多个监听套接字使用相同的 boost::asio::io_service 吗?

我正在使用Boostasio1.48。是否可以为同时打开的多个监听套接字重复使用单个boost::asio::io_service实例?文档说它是共享安全的,但我不确定这是否已经是一个肯定的答案。 最佳答案 是的,你可以,而且你应该这样做。您可以使用相同的io_service来处理这些套接字、处理计时器、处理您向其发布的请求,等等。io_service的全部意义在于充当各种工作的中央调度员。 关于c++-我可以对多个监听套接字使用相同的boost::asio::io_service吗?,

c++ - 将 std::pair 迭代器转换为 boost::iterator_range

我有一个std::multimap,我想从equal_range创建一个boost::iterator_range。我在文档中找不到简单的方法,所以我尝试了以下方法:typedefstd::multimapMap;Mapmap;...boost::iterator_ranger(map.equal_range(2));令人惊讶的是,它有效(使用GCC4.1.2)。我很好奇它是如何工作的。我发现iterator_range构造函数没有重载可以执行此操作,并且multimap::iterator_range显然没有可以返回Boost范围的重载。 最佳答案

c++ - 将 %s 格式说明符与 boost::format 和 std::string 一起使用

我知道像这样使用%s格式说明符和std::string会导致未定义的行为:std::stringmyString="test";printf("%s",myString);但是使用相同的说明符和std::string与boost::format是否节省?#includeintmain(){std::stringmyString="test";boost::formatfmt("%s");fmt%myString;std::cout%s指定了一个(const)char*,但我提供了一个std::string。这也会导致UB吗? 最佳答案

c++ - 使用 Boost + GCC + 预编译 header 的编译时间变慢

运行:gcc版本4.2.1(AppleInc.build5664)我创建了一个带有默认预编译header的苹果XCode项目。它看起来很慢,一个没有主要功能的琐碎主文件不包含没有代码编译需要6秒,这是在我升级到新的SSD驱动器之后。我在笔记本电脑上,但我对升级到工作站会缓解我的问题有所保留。如果我关闭预编译头,那么主文件会在一秒钟内完成编译。似乎使用预编译头会对所有文件造成不利影响。这种延迟让我想避免编译和试验不好的代码。这是我在预编译header中包含的内容:#pragmaonce#include#include#include#include#include#include#inc

c++ - 获取指向 boost::any 内容的 void* 指针

我正在使用一个外部库,它有一个接受void*的方法我希望这个void*指向包含在boost::any对象中的对象。是否可以获取到boost::any对象的内容地址?我正在尝试使用myAny.content但到目前为止运气不好!我希望dynamic_cast或unsafe_any_cast的某种组合能满足我的需求。谢谢! 最佳答案 您可以使用boost::any_cast获取指向底层类型的指针(前提是您在编译时知道它)。boost::anyany_i(5);int*pi=boost::any_cast(&any_i);*pi=6;vo