草庐IT

Boost-asio

全部标签

c++ - 遍历 const boost::graph 的边权重

我需要遍历图的边并检查每条边的权重。我没有修改边,因此我的函数采用对图形的常量引用。但是,我知道获得边权重的唯一方法是访问属性映射,这似乎违反了常量性。voidprintEdgeWeights(constGraph&graph){typedefGraph::edge_iteratorEdgeIterator;std::pairedges=boost::edges(graph);typedefboost::property_map::typeWeightMap;//Thefollowinglinewillnotcompile:WeightMapweights=boost::get(boo

c++ - Boost.Python - 将 boost::python::object 作为参数传递给 python 函数?

所以我正在做一个小项目,在这个项目中我使用Python作为嵌入式脚本引擎。到目前为止,我在使用boost.python时没有遇到太多麻烦,但如果可能的话,我想用它做一些事情。基本上,Python可用于通过向类添加函数甚至数据值来扩展我的C++类。我希望能够将这些保留在C++端,这样一个python函数就可以将数据成员添加到一个类中,然后传递给不同函数的同一实例仍然会拥有它们。这里的目标是用C++编写通用核心引擎,并让用户以他们需要的任何方式在Python中扩展它,而无需接触C++。所以我认为可行的是,我将在C++类中存储一个boost::python::object作为值self,并且

c++ - 在模板类中 boost 模板相关结构的多索引容器

我想要一个类中的多索引容器,它依赖于类中的模板相关类。听起来很复杂,这是代码:#include#include#include#include#include#includetemplateclassmyDataContainer{public:structDataStruct{doublet;std::vectordata;};//indicesstructsstructTagTime{};structTagOrdered{};typedefboost::multi_index::multi_index_container,boost::multi_index::member>,bo

c++ - 搜索/迭代 boost::spirit::qi::symbols

如果我有一个符号表:structMySymbols:symbols{MySymbols():symbols(std::string("MySymbols")){add("apple",MyEnum::Apple)("orange",MyEnum::Orange);}};我想遍历表格以便按数据值搜索交易品种。我不能使用lambda表达式,所以我实现了一个简单的类:templatestructSymbolSearcher{SymbolSearcher::SymbolSearcher(TsearchFor):_sought(searchFor){//donothing}voidoperato

c++ - 编译Boost时如何更改/检查b2使用的编译器?

由于类似这样的问题:MacOSXandstaticboostlibs->std::stringfail也就是说,当调用boost文件系统目录迭代器构造函数时,我收到运行时错误“未分配正在释放的指针***在malloc_error_break中设置断点以进行调试”。我的印象是,如果boost和程序是用不同的编译器编译的,就会发生这种情况。所以我正在尝试使用我用于我的程序的相同编译器重新编译boost库,即macportsgcc(g++-mp-4.8)。根据一些在线说明,我的理解是我编辑tools/build/v2/user-config.jam以指定编译器,所以它现在说:#Configu

c++ - boost asio tcp 发送和接收教程

我正在寻找使用tcpboostasio创建可以发送和接收字符串消息的服务器的好教程或示例。Thisexample似乎是一个很好的起点,但没有文档,这让我迷路了。还有其他更好的例子吗?或者有人可以向我解释示例中发生了什么吗? 最佳答案 你应该检查这个:TheBoostC++Libraries/Chapter7:AsynchronousInputandOutput 关于c++-boostasiotcp发送和接收教程,我们在StackOverflow上找到一个类似的问题:

c++ - Boost.Regex 支持 icu/unicode

如何构建支持icu/unicode的Boost.Regex?我的编译器是GCC,IDE是EclipseC++。如何使用Eclipse配置二进制文件?我试着这样做“bjam--sHAVE_ICU=1toolset=gcc”。但它没有用。当我使用“bjam-has_icu”检查是否启用了icu支持时,我仍然得到“有icu构建:否”。 最佳答案 我使用-sICU_PATH=构建针对ICU的Boost和-sICU_LINK="-L".我已经看到Boost也无法正确检测ICU,并且需要修补文件has_icu_test.cpp(只需从它的mai

c++ - boost::stable_vector 插入比 std::vector 慢几个数量级。为什么?

我注意到std::vector和boost::stable_vector之间存在很大的性能差异。下面是我构造100,000个整数并将其插入到vector和稳定vector中的示例。测试.cpp:#include#include#include#includeintmain(intargc,char**argv){intsize=1e5;boost::timer::cpu_timertimer;timer.start();std::vectorvec(size);timer.stop();std::coutsvec(size);timer.stop();std::cout编译:g++-O

c++ - 从 64 位整数秒数创建一个 boost::posix_time::ptime 对象

我有一个32位Linux系统,我必须在其中记录时间戳为1901-01-0100:00:00的UINT32秒偏移量的数据。计算时间戳对我来说没问题,因为我可以使用64位ticks()计数器和ticks_per_second()函数生成自纪元以来的秒数如下(我只需要二级分辨率)constptimeptime_origin(time_from_string("1901-01-0100:00:00"));time_durationmy_utc=microsec_clock::universal_time()-ptime_origin;boost::int64_ttick_per_sec=my_

c++ - 从 boost 日期对象获取月份

我有一个boost::date对象。当我在对象上调用month()接口(interface)时,它返回对象持有的月份,但以字符串形式返回。有什么办法可以获得与月份相关联的数字吗?即datemySampleDate=date_from_tm(tm_myDate);cout我需要在不将boost对象恢复到tm结构的情况下获取它。这会导致太多的转换并可能影响我的性能。 最佳答案 cout正是您想要的! 关于c++-从boost日期对象获取月份,我们在StackOverflow上找到一个类似的问