草庐IT

boost-container

全部标签

c++ - 使用 boost::mpl::bool_ 而不是 const bool 的优点

我对使用the的优点感到困惑bool_和bool_类型反对在模板元编程的上下文中简单地使用constbools。boost::mpl库显然更喜欢第一种方法,并定义了诸如and_、or_之类的辅助函数来帮助管理此类bool_。像if_这样的条件元函数“接受”一个bool_作为第一个(模板)参数,但在幕后“调用”一个if_c元函数,它期望一个(const)bool作为第一个(模板)参数。这个决定背后的论据是什么? 最佳答案 这是一个简短的例子,说明我如何不时地使用这些类型。这个例子是不可能的,使用constbool:voiddo_som

c++ - 将 Boost 库添加到 OS X Eclipse 中的 C++ 项目

我一直在尝试使用eclipse使用boost文件系统库来设置C++项目。我关注了these在我的系统上安装boost的说明。方向差不多下载摘录运行bootstrap.sh运行./bjamarchitecture=combined这似乎很顺利,没有错误。然后我启动了eclipse并创建了一个名为test的新测试项目,其中包含一个名为test.cpp的文件。里面的代码是:#include#includeintmain(){boost::filesystem::pathpath("/Users/schoen");//randompathnameboolresult=boost::filesy

c++ - 设置种子 boost::随机

我想通过使用不同的种子数来重置随机序列。运行此测试代码时:boost::mt19937gener(1);boost::normal_distributionnormal(0,1);boost::variate_generator>rng(gener,normal);cout我得到以下输出:#seed(1)viaconstructor-2.9718290311.706951063-0.430498971#seed(2)-2.282022417-0.5887503675#seed(1)0.2504171986#seed(2)-0.5887503675#seed(3)0.2504171986

c++ - Boost lib 似乎缺少 hpp 文件?

我正在尝试编译一个需要Boost的C++项目。我从网站下载了最新版本并将相应的文件复制到相应的libs文件夹(我使用的是MinGW)。当我编译时,我得到这个错误:Infileincludedfrommain.cpp:4:0:headers.h:59:29:fatalerror:boost/foreach.hpp:Nosuchfileordirectorycompilationterminated.我可以找到foreach.hpp的工作拷贝,但我不必手动移动代码文件。解决方案我将boost复制到了错误的文件夹。 最佳答案 我在Ubun

c++ - 使用 boost 抛出异常的 Base64 编码

我尝试使用boostbase64编码器,我找到了一个示例,但我遇到了异常typedeftransform_width,8,6>it_binary_t我用过std::stringb64E(it_binary_t(Encrip.begin()),it_binary_t(Encrip.end()));我明白了Unhandledexceptionat0x75b1b9bcinagentid_coder.exe:MicrosoftC++exception:boost::archive::iterators::dataflow_exceptionatmemorylocation0x0046ed94.

c++ - 如何只使用一个 boost 库/文件?

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicate:Buildingasubsetofboostinwindows我正在使用Visualc++6.0,我想使用boost::random.我找不到任何示例来说明我将如何只使用这个库并且只使用这个库。我可以只将它包含在我的源代码中吗?

c++ - boost 源代码

有没有办法获得boost库的源代码?我浏览了SVN存储库,但只能看到HPP文件。那里没有可用的源文件。我想查看“shared_ptr”的源代码。谁能指导我?我还可以从哪里下载BCP效用? 最佳答案 绝大部分源代码都在头文件中——为了模板的工作,它必须如此。您不能将模板代码放在源文件中并单独编译它们。 关于c++-boost源代码,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/43

c++ - 有什么有效的方法可以动态更改 boost 中的 compress_matrix 吗?

我正在使用ublas::CompressedMatrix与UMFPACK(一种稀疏线性求解器)一起工作。因为我在做模拟,所以每次线性系统的构造都略有不同,可能涉及扩大/缩小系数矩阵和一些稀疏矩阵乘法。线性系统的规模在25k左右。即使有boost与UMFPACK一起工作的绑定(bind)补丁,我仍然需要不时更改矩阵,有时甚至计算非零值的数量也会很耗时(理想情况下,我必须初始化矩阵时给出非零值的数量)。此外,我使用ublas::range动态追加列/行。所以我的问题是:有什么有效的方法可以做到这一点吗?现在对我来说太慢了。转置一个维度为15k的矩阵花费将近6s并且附加大约12k行很快(因为

c++ - Boost 绑定(bind)占位符参数等于 Variadic 模板参数的数量

我想知道是否可以使用传递给可变参数模板的参数数量作为boost::bind调用中的占位符。像这样:templateboost::bind(&function,this,anArg,_1));//IfArgscountequals1boost::bind(&function,this,anArg,_1,_2));//IfArgscountequals2boost::bind(&function,this,anArg,_1,_2,_3));//IfArgscountequals3这可能吗?谢谢 最佳答案 肯定有一种偏特化的方法。你的va

c++ - 如何在运行时指定 boost multi_array 的退化维度?

我有一个3Dmulti_array,我想使用运行时指定的尺寸制作2D切片。我知道退化维度的索引和我想在该退化维度中提取的切片的索引。目前丑陋的解决方法是这样的:if(0==degenerate_dimension){Sliceslice=input_array[boost::indices[slice_index][range()][range()]];}elseif(1==degenerate_dimension){Sliceslice=input_array[boost::indices[range()][slice_index][range()]];}elseif(2==dege