草庐IT

ZN5boost

全部标签

c++ - 带有boost的变量参数列表?

我想写一个带有可变参数列表的函数。我想探索我的选择。我很确定我遇到了为此目的而设计的boost模板类,但我想不出它的名字?谁能告诉我?还是我梦到这个了!谢谢 最佳答案 如果您只需要接受相同类型的可变数量的参数,那么通常会采用容器。然而,使用Boost.Assign可以简化容器的创建。:voidf(conststd::vector&vec){}f(boost::assign::list_of(1)(2)(3)(4));或者,您可以自己进行运算符重载(例如operator()或operator),类似于标准库流采用的方法:op()如果你

c++ - Boost.Asio 安装问题

我已经使用bjaminstall安装了boost库,但是当我编译程序时:#includeboost/asio.hppintmain(){return0;}出现这样的错误:/tmp/ccVR3eeF.o:Infunction`__static_initialization_and_destruction_0(int,int)':sda.cpp:(.text+0x52):undefinedreferenceto`boost::system::generic_category()'sda.cpp:(.text+0x5e):undefinedreferenceto`boost::system:

c++ - 将编译器标志传递给需要编译的 boost 库(例如 Thread)

所以我知道boost库主要是仅包含头文件的,但也有一些需要编译,例如Boost.Thread。在Darwin中,我如何编译它们并传递-m32标志以便将它们编译成32位(i386)二进制文件?有一个我从未听说过的Jamroot东西,我完全不确定从哪里开始。澄清:我不是在问如何使用-m32标志编译程序并使用boost库。我在问如何使用-m32标志自己编译Boost库。 最佳答案 要指定编译的架构,请在调用b2时指定architecture特性。要指定还没有内置功能的编译器选项,请在调用b2时指定cxxflags功能。要指定还没有内置功能

c++ - 从 boost::spirit 解析器中检索 AST

在我阅读tutorials之后在boost::spirit,我非常喜欢它,因为解析器组合器语法。制作解析器非常简单。不幸的是,教程在从解析器中获取复杂数据结构的问题上并没有那么准确。我正在尝试前往KaleidoscopeAST.无论如何,这是我的AST代码:#ifndef__AST_HPP__#define__AST_HPP__#include#include#include#include#include#includenamespaceast{structadd;structsub;structmul;structdiv;structfunc_call;templatestruct

c++ - 启用用于 boost::lexical_cast 的类

来自lexical_cast的代码片段:classlexical_castable{public:lexical_castable(){};lexical_castable(conststd::strings):s_(s){};friendstd::ostreamoperator>(std::istream&i,lexical_castable&le);private:virtualvoidprint_(std::ostream&o)const{o>s_;}std::strings_;};std::ostreamoperator>(std::istream&i,lexical_cast

C++ 使用带有 boost::lexical_cast 的类

我想将我的测试类与boost::lexical_cast一起使用.我重载了operator和operator>>但它给了我运行时错误。这是我的代码:#include#includeusingnamespacestd;classTest{inta,b;public:Test(){}Test(constTest&test){a=test.a;b=test.b;}~Test(){}voidprint(){cout>(istream&input,Test&test){input>>test.a>>test.b;returninput;}friendostream&operator("102")

用于 boost/c++11 的 C++ 包装器

我不确定问题的标题是否合适。这就是问题所在。我正在编写一个使用一些c++11库功能的库。显然并非所有实现都支持这些库,因此存在可移植性问题。这里关注哪个库并不重要。一种解决方案是使用boost,它已经提供了很多c++11库。所以我的解决方案是定义一个宏,比如USE_CXX11,并定义一个新的命名空间说internal并根据宏将名称引入此内部namespace。例如说我需要使用名称foo来自C++库,也可在中找到.我做的是#ifdefUSE_CXX11#include#else#include#endifnamespaceinternal{#ifdefUSE_CXX11usingstd:

c++ - 如何为 boost::asio 添加代理支持?

在我的桌面应用程序中,我使用boost::asio添加了对各种互联网资源的访问。我所做的就是发送http请求(即映射图block服务器)并读取结果。我的代码基于asiosync_clientsample.现在我收到来自客户的报告,他们无法使用这些功能,因为他们在公司中运行代理。在网络浏览器中,他们可以输入他们的代理地址,一切都很好。我们的应用程序无法下载数据。如何为我的应用程序添加此类支持? 最佳答案 我自己找到了答案。这很简单:http://www.jmarshall.com/easy/http/#proxies给出了HTTP代理

c++ - 想要在使用 boost 程序选项时允许多次指定选项。现在我多次出现

我正在使用boostprogram_options1.50.0我想为我的程序foobar允许以下内容foobar--debug2--debug3在boostprogram_options代码中,有一个示例regex.cpp显示了创建新类型并为该类型创建验证器。我试过了,它起作用了,但现在我不能使用其他一些add_options()typed_value选项,比如default_value、composing等。到目前为止,这是我尝试过的:#includeusingnamespaceboost;usingnamespaceboost::program_options;#includeus

c++ - boost::noncopyable 的 unordered_map 无法从 operator[] 返回引用

为了演示我的问题,请考虑这个无法编译的简单程序:#include#includeclassfoo:boost::noncopyable{};intmain(){std::unordered_mapm;auto&element=m[0];return0;}使用当前版本的boost(1.52),VisualStudio2012返回错误:无法访问类“boost::noncopyable_::noncopyable”中声明的私有(private)成员。std::unordered_map的运算符[]返回对所提供键处元素的引用,乍一看似乎应该有效——我要求的是对元素的引用,而不是它的拷贝.我对这