草庐IT

boost-pool

全部标签

c++ - C++ 中的 Bool<true> 是什么——它来自 boost 吗?

我正在尝试使用一些示例代码,但我的编译器不会编译这一行:staticvoidexitActions(Host&h,Bool){}编译器是MSVS2005。我不认识Bool-所以不确定如何替换它。这个默认参数是否等效:staticvoidexitActions(Host&h,boolb=true){}样本来自http://accu.org/index.php/journals/252.代码只是文本中的片段-没有关于#include'是什么的片段-很难解决。Bool模板没有定义。 最佳答案 我猜Bool定义如下templatestruc

c++ - 针对 C++11 的 boost::any typeid 优化

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whencantypeidreturndifferenttype_infoinstancesforsametype?如果我将下面的operand->type()==typeid(ValueType)行更改为&operand->type()==&typeid(ValueType),则代码仍然适用于gcc,并且在可执行文件中占用的空间更少(并且多年来一直如此),但是C++11标准是否提供任何保证,这种优化应该适用于不同的编译器?templateValueType*any_cast(any*operand){ret

c++ - 使用 Boost Asio 接受 IPv6 链接范围地址

我有一个使用BoostASIO的TCP服务器。我注意到,在Linux上使用链接作用域的IPv6地址时,我无法在不引发异常的情况下创建boost::asio::ip::tcp::acceptor。使用全局IPv6地址或IPv4地址都可以正常工作。我很确定问题出在范围ID设置不正确,但我不知道如何解决这个问题。我正在使用ubuntu提供的boost1.40.0库在Ubuntu11.04LTS上进行开发。这是我的服务器代码的一个非常简单的版本,它显示了问题:#include#include#include#include#include/*ToCompile:g++-Wall-o./asio

c++ - 使用 boost singleton_pool 的自定义分配比默认慢

我为MyOrder类编写了自定义运算符new和运算符delete。我正在使用boost::singleton池分配内存。这是测试性能的程序,#include#include#include#include#includeclassMyOrder{std::vectorv1_;std::vectorv2_;std::strings1_;std::strings2_;public:MyOrder(std::strings1,std::strings2):s1_(s1),s2_(s2){}~MyOrder(){}staticvoid*operatornew(size_tsize);stati

c++ - 使用单独的 Boost 库编译,无需安装 Boost

我正在实现一些C++代码,我希望这些代码尽可能具有可移植性。我想避免依赖需要root权限才能安装的库。此外,我更愿意避免在我的存储库中保留大型库的拷贝,我也不希望对库进行用户级安装(仅仅是因为我必须在多台计算机上手动安装它们。)我想使用normal_distributionBoost在我的项目中的功能。我知道安装Boost的典型方法需要sudoapt-get或sudoyum命令类型,但我在运行此代码的系统上没有root访问权限。为了解决这个问题,我想知道我是否可以简单地放置一份Boost的normal_distribution.cpp和normal_distribution.hpp在我

c++ - 遍历 const boost::graph 的边权重

我需要遍历图的边并检查每条边的权重。我没有修改边,因此我的函数采用对图形的常量引用。但是,我知道获得边权重的唯一方法是访问属性映射,这似乎违反了常量性。voidprintEdgeWeights(constGraph&graph){typedefGraph::edge_iteratorEdgeIterator;std::pairedges=boost::edges(graph);typedefboost::property_map::typeWeightMap;//Thefollowinglinewillnotcompile:WeightMapweights=boost::get(boo

c++ - boost asio : "host not found (authorative)"

我正在为学校制作一个程序,其中两个程序相互通信。到目前为止,我还无法连接这两个程序。每当我尝试连接到localhost:8888或127.0.0.1:8888时,都会出现错误“找不到主机(权威)”。到目前为止我的代码是这样的:连接.cppConnection::Connection(std::stringArg){try{tcp::resolverresolver(io_service);coutbuf;boost::system::error_codeerror;size_tlen=socket_p->read_some(boost::asio::buffer(buf),error)

c++ - Boost.Python - 将 boost::python::object 作为参数传递给 python 函数?

所以我正在做一个小项目,在这个项目中我使用Python作为嵌入式脚本引擎。到目前为止,我在使用boost.python时没有遇到太多麻烦,但如果可能的话,我想用它做一些事情。基本上,Python可用于通过向类添加函数甚至数据值来扩展我的C++类。我希望能够将这些保留在C++端,这样一个python函数就可以将数据成员添加到一个类中,然后传递给不同函数的同一实例仍然会拥有它们。这里的目标是用C++编写通用核心引擎,并让用户以他们需要的任何方式在Python中扩展它,而无需接触C++。所以我认为可行的是,我将在C++类中存储一个boost::python::object作为值self,并且

c++ - 在模板类中 boost 模板相关结构的多索引容器

我想要一个类中的多索引容器,它依赖于类中的模板相关类。听起来很复杂,这是代码:#include#include#include#include#include#includetemplateclassmyDataContainer{public:structDataStruct{doublet;std::vectordata;};//indicesstructsstructTagTime{};structTagOrdered{};typedefboost::multi_index::multi_index_container,boost::multi_index::member>,bo

c++ - 搜索/迭代 boost::spirit::qi::symbols

如果我有一个符号表:structMySymbols:symbols{MySymbols():symbols(std::string("MySymbols")){add("apple",MyEnum::Apple)("orange",MyEnum::Orange);}};我想遍历表格以便按数据值搜索交易品种。我不能使用lambda表达式,所以我实现了一个简单的类:templatestructSymbolSearcher{SymbolSearcher::SymbolSearcher(TsearchFor):_sought(searchFor){//donothing}voidoperato