草庐IT

BOOST-ASIO

全部标签

c++ - boost 序列化 std::unique_ptr 支持

boost序列化库支持std::unique_ptr的序列化吗?我试图编译下面的代码,但如果我包含boost::archive::text_oarchiveoa(ofs);oa行,编译器(顺便说一句,带有-std=c++11标志的gcc4.7)抛出一个错误/usr/include/boost/serialization/access.hpp:118:9:错误:‘classstd::unique_ptr’没有名为‘serialize’的成员#include#include#include#include#includeclassMyDegrees{public:voidsetDeg(in

c++ - 使用 boost shared_ptr

我必须使用智能指针,我发现来自boost的“shared_ptr”看起来不错。我下载了boost库,在那里我可以看到很多文件和库。有没有办法只使用shared_ptr? 最佳答案 boostbcp是你的friend。它允许从它的树中提取单独的boost库。我过去成功地使用了它。shared_ptr仅包含header,因此这对您特别有用。 关于c++-使用boostshared_ptr,我们在StackOverflow上找到一个类似的问题: https://st

c++ - 我可以将 boost::threadpool 用作 'thread-safe queue' 吗?

我需要的实际上是一个线程安全的队列结构,其中多个客户端不断将数据转储到队列中,一个工作线程不断处理并弹出队列STL或Boost中是否存在任何成熟的解决方案?我现在考虑使用Boost::threadpool来做这件事。只需将并行线程数设置为1,每次有新消息从客户端到达时,任务函数的输入参数都会更改。这是否有意义,这里是否存在我尚未预料到的任何限制? 最佳答案 在boost中有一个messagequeueclass,这就是您所需要的:一个线程安全的队列。消息队列是一个广泛用于进程间通信的概念。消息队列是线程安全的队列,其主要特点是它会阻

c++ - 如何安装 Modular Boost?

因为我需要测试Boost的一些实验性功能,所以我想从ModularBoost存储库安装Boost。我按照https://svn.boost.org/trac/boost/wiki/TryModBoost上的说明进行操作b2命令失败:./b2headers/home/wichtounet/src/modular-boost/tools/build/src/build/feature.jam:493:infeature.validate-value-stringfrommodulefeatureerror:"none"isnotaknownvalueoffeatureerror:legal

c++ - boost::asio 多播示例

我刚刚开始阅读有关使用boost::asio进行多播传输的信息,但我对以下内容感到有些困惑:为什么我们在下面的boost::asio例子中需要一个“监听地址”?那有什么意义呢?为什么人们会选择不同于localhost的任何东西?http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/example/multicast/receiver.cpp 最佳答案 当您有多个网卡时(每个网卡绑定(bind)不同的IP地址),需要指定监听IP地址。

c++ - 在 Eclipse 中将 Boost 链接到我的 C++ 项目

我正在尝试让Boost库在我的Eclipse中的C++项目中运行。在Boost中使用仅header库时,我可以成功构建,例如使用lambdaheader的“入门”指南中的示例简单程序。我无法让我的项目成功链接到regexBoost库,如本指南后面所示。在我的项目属性->c/c++构建->设置->工具设置选项卡->库中,我在库框中添加了“libboost_regex”,以及“C:\ProgramFiles\boost\boost_1_42_0\bin.v2\libs"添加到库搜索路径框,因为这是所有.lib文件所在的位置。我什至尝试将“libboost_regex-mgw34-mt-d-

c++ - boost::variant 类型转换

我有来自boost库的以下变体:typedefboost::variantvariant;现在我想从声明为“value”的变量中获取一个值'在structnode,所以我想我可以工作通用并调用函数:find_attribute(attribute);,但是编译器说它不能从variant转换为long或我给它的任何其他类型。我做错了什么?templateTfind_attribute(conststd::string&attribute){std::vector>::iteratornodes_iter=_request->begin();for(;nodes_iter!=_reques

c++ - Coroutine、Coroutine2 和 Fiber 有什么区别?

Boost中有3个具有手动低延迟上下文切换的瘦线程:Boost.Coroutine:http://www.boost.org/doc/libs/1_64_0/libs/coroutine/doc/html/index.htmlBoost.Coroutine2:http://www.boost.org/doc/libs/1_64_0/libs/coroutine2/doc/html/index.htmlBoost.Fiber:http://www.boost.org/doc/libs/1_64_0/libs/fiber/doc/html/index.htmlBoost中Coroutine

c++ - Boost 的 y=Ax 的线性代数解决方案

boost有吗?其中A、y和x分别是矩阵(稀疏且可以非常大)和vector。y或x可以是未知的。我在这里找不到它:http://www.boost.org/doc/libs/1_39_0/libs/numeric/ublas/doc/index.htm 最佳答案 是的,您可以使用boost的ublas库求解线性方程。这是使用LU分解和反向代入获得逆的一种简短方法:usingnamespaceboost::ublas;Ainv=identity_matrix(A.size1());permutation_matrixpm(A.size

c++ - 为 boost 的变换迭代器寻找复合特征模式

设置当你想让迭代器在返回之前处理它们正在迭代的内容时,boost::transform_iterator都不错。您向它们传递一个一元函数,该函数转换底层迭代器的operator*()的结果。然后转换迭代器返回:templatestructiterator_transform_traits_map_second{typedeftypenameMap::value_typevalue_type;typedeftypenameMap::mapped_typeresult_type;result_type&operator()(value_type&v)const{returnv.second