草庐IT

boost_ldpath

全部标签

c++ - Boost 图切割上的 3 个类(0、1、4)

当我使用BGLboykov_kolmogorov_max_flow()函数时,我得到了奇怪的结果。我虽然会看到2个类别(0-1或其他任何类别,但只有2个!)但我经常看到三个类别:0、1和4。例如,使用下面的图像来源:左边框中间像素sink:右边框中间像素水平边成本=10*e^(rightPixel/50)垂直边缘代码=0.1。我得到以下结果:4444444444444000000000000000004444444444444400000000000000004444444444444400000000000000004444444444444400000000000000004444

c++ - Boost 序列化给出未定义的类型 'boost::STATIC_ASSERTION_FAILURE'

我正在学习使用boost将我的一些C++类序列化。我在接口(interface)中有一个结构。我使用boostserilaize函数像这样序列化这个结构。接口(interface).hstructX{constLongrate;}templatevoidserialize(Archive&ar,uint32version){ar&this->rate;}BOOST_CLASS_EXPORT(X);现在这个头文件将被我的主类使用。比方说main.cpp,这个主类的标题有主要.h#include"Interface.h"classMain{//somestufftemplatevoidse

c++ - boost::condition 会 boost 性能吗?

我们有一个多线程应用程序。在当前的实现中,thread1在启动时创建并定期(大约每秒,可配置)唤醒以检查磁盘是否有可能保存的文件。这些文件由另一个线程保存,thread2。正在运行的thread1及其定期唤醒可能会降低应用程序的速度。现在我们有机会使用boost::condition变量将thread1阻塞,直到thread2通知它。通过这样做,需要创建一个标志以避免来自thread2的不必要通知,并且该标志需要同步并由thread2以高频率(几秒钟内数百次)检查>。或者每次写入时都会通知thread1。我的问题如下:在boost::condition实现中,thread1仍然需要频繁

c++ - boost::thread 应该在无限循环中运行并等待没有互斥量的新输入

我有三个线程,我想一直运行到无限循环。线程对具有状态的对象进行操作,每个线程根据对象的状态执行或休眠。我希望输入线程继续检查state=1的任何新对象并继续处理它,或者等待它。classmyclass{intstate;myclass(){this->state=0;}voidsetState(intx){//setthis->statetox}intgetState(){//returnthis->state}//stuff}voidfoo1(myclass*ob){//stuffwhile(ob->getState()!=0||ob->getState()!=1){//sleepf

c++ - 如何让 boost::object_pool 线程安全?

在询问Isthereafasterheapallocation/deallocationmechanismavailablethanboost::object_pool?后,我得到反馈说这个对象池不是线程安全的。所以我写了一个ObjectFactory包装boost::object_pool并添加互斥锁:#includeusingstd::shared_ptr;#include#includetemplateclassObjectFactory{private:structSharedDeleter{ObjectFactory*m_pFact;SharedDeleter(ObjectF

c++ - boost spirit 适合这种情况吗?

我有这样一种情况,我试图从名称-值对流中构建一个HDF复合类型(为简单起见,我们假设一个值可以是double型或字符型字符串)。需要明确的是,数字数据已经是二进制的——它不是字符串。名称提供结构信息(这是数组的一部分吗?这是嵌套复合类型的一部分吗?)。我想制作一个标记vector,使用名称信息插入标记(例如,“[”和“]”分隔数组,“{”和“}”分隔嵌套化合物),否则使用值(value)。从文档中我不清楚Spirit二进制解析器是否是处理数值的合适选择。 最佳答案 我无法判断“其余”(即非二进制数据)是否有理由使用PEG解析器生成器

c++ - 使用 boost 的 Glob 风格正则表达式模式匹配

我需要搜索与某些模式匹配的文件,该模式类似于使用boost在glob命令行中给出的模式。例如:如果输入是myFiles*.c,它应该匹配文件myFiles.c、myFiles1.c、myFiles123.c等。尝试在perl模式下使用boost::regex_match。但我必须将输入模式作为myfiles.*.c而不是myFiles*.c。我可以识别myfiles*.c并将其转换为myFiles.*.c并在perl模式下将其提供给boost::regex_match。但是输入模式可以是glob样式中的任何有效正则表达式,因为它是为命令行实用程序提供的。在boost中有什么方法可以以g

c++ - 使用 boost::asio ssl 服务器减少每次连接的内存使用

我正在使用boost::asio开发ssl服务器。我希望尽可能减少每个ssl连接的内存使用量。我的代码主要来源于boost::asio::sslexample服务器示例。这意味着我将session存储为Session类对象,它具有sslContext属性、已注册的read_handler等(与示例中的情况差不多)我能找到的所有优化都是启用SSL_MODE_RELEASE_BUFFERS和SSL_OP_NO_COMPRESSION。现在我每个连接大约55kB。但是根据thisthread,您可以将内存使用量减少到11kB。还有什么我可以做的来减少这种使用吗?操作系统:Ubuntu11.0

c++ - 使用 BOOST::associative property map 插入 boost::BIMAP ... 失败

引用我之前提出的关于boost::bimaps和boostassociativepropertymaps接口(interface)的问题here,我想为我的bimap使用Put和Get辅助函数。引用给出的示例代码here,我尝试添加以下内容,但由于断言失败而出现很长的编译错误...这是代码:#include#include#include#includeusingnamespaceboost;intmain(){typedefintvertex_descriptor_t;typedefboost::bimaps::bimapvd_idx_bimap_t;typedefboost::as

c++ - Boost graph typedef c++ 结构的前向声明

简短的问题描述:基本上我想要structType;typedefcontainerMyType;structType{MyType::sometypemember;}现在,我该怎么做?实际问题:对于BoostSuccesiveShortestPath算法,我需要将我的前向边缘映射到它们的反向。我有以下代码:structVertexProperty{};structEdgeProperty;typedefboost::adjacency_listDirectedGraph;structEdgeProperty{doubleedge_capacity;//capacity:1forforw