5
投票
1答案
775 次观看

Boost:我们如何为TCP服务器指定“任何端口”?

如何在Boost中为基于TCP的服务器指定“选择任何可用端口”? 接受连接后,如何检索端口? 已更新:“可用端口”是指:操作系统可以选择任何可用端口,即我不想指定端口。

6
投票
2答案
725 次观看

Boost:什么是“便利头”?

boost中的“标头”和“便利标头”有什么区别?

2
投票
1答案
664 次观看

提升asio udp waitForReadyRead

我正在尝试使用boost asio udpSocket实现一个功能,该功能一直等到准备好读取数据,或者等到超时到期为止。 使用asyc_read和async_wait,我可以做类似的事情,但是我必须读取数据。我想做同样的 而无需读取数据 在许多情况下,这将使udpSocket类的使用更加容易,但是考虑到udpSocket接口,我无法弄清楚如何实现这种功能,而无需手动缓冲数据并重写sync_read函数 最好的Dd

1
投票
1答案
1169 次观看

安装C ++ Boost库时更改bjam使用的命令

我试图使boost库的安装速度稍慢一些,因为在短时间内对gcc的调用过多,这使我的CPU温度上升到极限,并导致系统崩溃。 所以我将其添加到/etc/site-config.jam using gcc ; ; "sleep 10; g++" ; 但是,它会出现此错误: $ ./bjam install /etc/site-config.jam:5:关键字; 的语法错误 /etc/site-config.jam:5:处于加载状态 规律睡觉10; g ++模块pch中未知。 /tmp/boost_1_40_0/tools/build/v2/kernel...

1
投票
2答案
368 次观看

C ++ Boost中是否有任何回收池结构?

我需要一个池结构,该池结构可以在使用后重新使用/回收内存,即不要即时进行任何分配或释放(尽管在程序启动时仍需要分配内存) Boost.Pool不支持这种机制。还有其他选择吗?

0
投票
1答案
1617 次观看

正确使用s / rand或Boost :: random

我知道这种问题已经问过几次了,但是很多答案都归结为RTFM,但我希望是否能提出正确的问题...我可以得到一个准定性的答案其他所有人,以及实施方面。 我正在尝试通过以下两种方式之一生成随机数序列: #include <cstdlib> #include <ctime> #include <cmath> #include "Cluster.h" #include "LatLng.h" srand((unsigned)time(0)); double heightRand; double widthRand; for (int p = 0;...

3
投票
3答案
3696 次观看

boost :: thread退出代码?

从boost :: thread获取退出代码的标准方法是什么? 文档似乎没有联系关于这个问题。

6
投票
1答案
7718 次观看

增强绑定编译错误

class A { bool OutofRange(string& a, string& b, string c); void Get(vector <string>& str, string& a, string& b); } void A::Get(vector <string>& str, string& a, string& b) { str.erase( std::remove_if (str.begin(), str.end(), BOOST_...

0
投票
4答案
1045 次观看

我应该使用const引用还是boost :: shared_ptr?

我创建了一些C ++类来将纸牌游戏建模为学习练习。 我有针对SolitaireGame的类,CardStack(棋盘上十张纸牌之一)和一张纸牌。我当前的模型表明SolitaireGame拥有104个Card对象的向量-我称之为“鞋子”。 SolitaireGame还可以跟踪10个CardStack,它们本质上是存储在鞋子中的Card对象地址的双端队列。 Deck and Hand从CardStack继承。我通过指向存储在鞋子中的原始对象的指针,将卡片从Deck传递到Hand到Cascade。 根据我对这个问题,我不应该通过指针传递Card的周围,而应该使用const引用。原因是存储...

8
投票
8答案
2516 次观看

将动态数组包装到STL / Boost容器中?

我需要将动态分配的数组(例如,从a = new double [100])包装到std :: vector(最好是),而不复制数组。 这种限制是由于我要包装的数组是从文件映射而来的,因此仅执行vector(a,a + size)会使内存使用量增加一倍。 有什么窍门吗?

10
投票
4答案
7089 次观看

BOOST_FOREACH和没有typedef的模板

当我使用BOOST_FOREACH时,将简单的模板作为矢量没有问题。但是,例如,当我尝试遍历map>时,我需要typedef元素类型。 有什么解决方法吗?

7
投票
5答案
11485 次观看

从boost :: threaded成员函数获取返回值?

我有一个像下面这样的工人阶级: class Worker{ public: int Do(){ int ret = 100; // do stuff return ret; } } 它打算与boost :: thread和boost :: bind一起执行,例如: Worker worker; boost::function<int()> th_func = boost::bind(&Worker::Do, &worker); boost::thread th(th_func); th.join(); 我的问...

14
投票
3答案
22243 次观看

boost :: make_shared现在过时了吗?

boost::make_shared现在过时了吗?尚未在1.35中找到其定义。

5
投票
1答案
1700 次观看

Boost.Asio文档不存在。这些错误是什么意思?

我在Boost.Asio中遇到两个错误。 第一次发生在我尝试在套接字上接收数据时 char reply[1024]; boost::system::error_code error; size_t reply_length = s.receive(boost::asio::buffer(reply, 1024), 0, error); if (error) cout << error.message() << endl; //outputs "End of file" 当我尝试从(有效!)本机套接字创建ip :: tcp :: socket时发生第二种...

5
投票
1答案
3348 次观看

Boost :: Python Windows 7 64位

我似乎无法在Windows 7 64位计算机上正确构建boost :: python。它是c:\ Python26目录中的香草32位python 2.6.4。 Pastebin在调试构建输出中: http://pastebin.com/m7d70f13e 干杯 Al

0
投票
2答案
1311 次观看

Boost Multi-Index:散列索引的vector和int的复合键

正如我刚在在另一个问题中了解的,我可以使用一个结构的composite_key,它具有std::vector和一个整数。现在我的问题是:我可以用这种方式来处理hashed_indecies吗? 以下示例类似于这: struct unique_property { //the pair of int and std::vector<int> shall be unique int my_int; std::vector<int> my_vec; }; typedef multi_index_container< unique_prop...

2
投票
2答案
2273 次观看

使用random_access和ordered_unique的boost :: multi_index_container

我在使boost::multi_index_container与随机访问和orderd_unique同时工作时遇到问题。 (对于这个冗长的问题,我感到抱歉,但是我想我应该举个例子。) 这里有个例子:假设我想在工厂中生产N个对象,并且对于每个对象我都有一个需要满足的要求(在创建多索引时就知道了这一要求)。 好吧,在我的算法中,我得到了中间结果,并将其存储在以下类中: class intermediate_result { private: std::vector<int> parts; // which parts are produced i...

0
投票
1答案
2252 次观看

Boost线程池库中的问题

我想从开放源代码使用boost线程池库( http://threadpool.sourceforge.net/)示例程序本身出现了一个编译错误。 / usr / include / boost /./ threadpool /./ detail / locking_ptr.hpp:在构造函数âboost:: threadpool :: detail :: locking_ptr :: locking_ptr(volatile T&,const volatile Mutex&)[with T = boost :: threadpool :: detail :: pool_core&g...

5
投票
8答案
2280 次观看

有没有一种从字符串表示形式设置C / C ++成员变量的好方法?(内省精简版)

我有一个结构,其中包含一些我希望能够从字符串中获取并设置的成员。鉴于C ++没有自省功能,我想我需要一些带有宏的创造性解决方案,stringize运算符,也许boost::bind.我不需要完整的序列化或自省功能,更像是“ introspection-lite” 我想要一些类似的东西: struct MyType { int fieldA; int fieldB; }; DECLARE_STRING_MAP(MyType,fieldA); DECLARE_STRING_MAP(MyType,fieldB); MyType t; SET_VALUE_FROM_STRI...

1
投票
2答案
2034 次观看

文件支持的Trie(或前缀树)实现

我必须在c ++映射中存储很多字符串以保留唯一的字符串,并且一旦出现重复的字符串,我只需要增加计数器(pair.second)即可。我使用过c ++映射,它非常适合这种情况。由于处理的文件现在已高达30gig,因此我试图将其保存在文件中而不是内存中。 在这种情况下,我还遇到了trie,它比map更快。有人知道文件支持的Trie实现吗?我遇到了 Trie 的实现,类似于我正在寻找但似乎不是没有错误的..

56
投票
9答案
32048 次观看

Boost.Process在哪里?

我需要执行一个程序并在c ++中检索其stdout输出。我也希望我的代码也可以跨平台。 我最近发现了满足所有跨平台需求的Boost c ++库的奇妙世界,我想我只是去boost.org并阅读Boost.Process的文档。令我惊讶的是,它不存在!然后,我继续弄清楚Boost赋予其跨平台库以什么名字来启动外部进程,但是到目前为止还没有找到。 Google搜索将我带到了Julio M. Merino Vidal的 Boost.Process 中,似乎是我要找的非官方的Boost库。奇怪的是,我似乎找不到该网站上的下载链接。该项目似乎还没有任何最新进展。 我终于能够在外部网站并会暂时...

2
投票
1答案
1925 次观看

Boost :: typeof编译器问题:处理typeof,请改用decltype

简短示例: #include <boost/typeof/typeof.hpp> #include <boost/proto/core.hpp> using namespace boost; template<class T, class U> BOOST_TYPEOF_TPL(T() + U()) add2(const T& t, const U& u) { return t + u; }; int main(){ typedef BOOST_TYPEOF(add2(2.5, 1.5)) type; //...

3
投票
2答案
458 次观看

具有值语义且没有分配器恶作剧的C ++数组?

我正在寻找一个在boost :: array,boost :: scoped_array和std :: vector之间交叉的C ++容器。 我想要一个通过new [](没有自定义分配器)动态分配的数组,该数组包含在具有有意义的复制构造函数的类型中。 boost :: array是固定大小的,尽管我不需要调整任何大小,但是在编译时我也不知道数组的大小。 boost :: scoped_array没有复制构造函数,这意味着我需要使用std :: copy(我以前的复制粘贴密集型解决方案)为每个类手动添加一个。这也是容易出错的,因为您最好确保在添加字段时向自定义副本构造函数添加了正...

2
投票
2答案
1917 次观看

从MaxFlow提升MinCut

我需要获取图表的st-MinCut。我最近开始使用C ++ Boost库,该库似乎没有st-MinCut功能,但是确实具有MaxFlow实现,而且我(理论上)可以利用MaxFlow / MinCut对偶。 我已经使“ push relabel max flow”功能正常工作,但是我无法弄清楚如何从源沿着剩余容量大于0的边缘运行DFS,以使DFS上的节点源端。 谢谢。

23
投票
10答案
17146 次观看

跨平台相当于Windows事件

我正在尝试将一些Windows代码移植到Linux,最好是通过平台无关的库(例如boost),但是我不确定如何移植这部分事件代码。 这段代码涉及两个线程(我们将它们称为A和B)。A想要做只有B可以做的事情,因此它向B发送一条消息,然后等待B说完成。在Windows中,它类似于: void foo();//thread a calls this void bar(HANDLE evt); void foo() { HANDLE evt = CreateEvent(0,FALSE,FALSE,0); bCall(boost::bind(&bar, evt));...

8
投票
1答案
6031 次观看

增强包含Map(具有对象值)和Multimap(具有std :: string值)的对象的序列化:需要什么?

请参见下面的main()和两个非常简单的类。然后根据Boost序列化(以及显示的内容),我的问题是: 1)B类是否需要定义普通的重载流插入运算符“ <>”?当前在我的真实代码中没有这些。 2)store()和load()方法中的类A是否需要显式地遍历map和multimap容器,从而显式地存储/加载其key:value对? 例如像这样: void A::store(const char* filename){ std::ofstream ofs(filename); boost::archive::text_oarchive oa(ofs); std::map...

1
投票
7答案
2876 次观看

如何在C ++中同步和合并来自多个线程的结果?

我有一个连续不断地馈送数据包的数据馈送。有5个线程(A,B,C,D,E)处理数据包。请注意,这5个线程的速度完全不同,它们为每个传入的数据包生成5个不同的功能(每个线程生成1个功能)。 这5个线程的步调不同:当A完成对前10个程序包的分析时,B可能只完成了程序包1,程序包2,而C甚至可能根本没有完成一个程序包。 我的任务是匹配5个线程的结果,并在前10个数据包的所有5个功能均可用时开始进行最终分析。 我的问题是: -如何合并来自不同线程的结果,以确保仅在一定数量的结果可用时才触发分析线程? -我似乎需要一个聚合器线程来检查不同缓冲区的可用性。我在考虑锁定/条件。我该如何实现涉...

6
投票
3答案
10984 次观看

如何使用boost :: format产生十六进制输出?

请考虑以下内容: #include <vector> #include <string> #include <iostream> #include <boost/format.hpp> #include <boost/assign.hpp> #include <boost/assign/list_of.hpp> #include <boost/assign/std/vector.hpp> using namespace std; typedef unsigned char byte; typed...

10
投票
1答案
5760 次观看

如何从本机套接字创建Boost.Asio套接字?

我只是想从现有的本地套接字创建一个boost ip::tcp::socket。在分配函数中, 我猜第二个应该是套接字描述符,但是我非常感谢澄清。 void SendData (int socket, std::string message) { boost::asio::io_service ioserv; boost::asio::ip::tcp::socket s(ioserv); s.assign(/* what goes here? */, /* ..and here? */); s.send(boost::asio::buffer(mess...

4
投票
4答案
1052 次观看

如何为类型列表中的每个继承类型调用非默认构造函数?

我正在使用boost类型列表以以下方式实现策略模式。 using namespace boost::mpl; template <typename PolicyTypeList = boost::mpl::vector<> > class Host : public inherit_linearly<PolicyTypeList, inherit<_1, _2> >::type { public: Host() : m_expensiveType(/* ... */) { } private: const Expen...