草庐IT

boost-uuid

全部标签

c++ - 有没有办法突破 boost::mpl for_each?

真的很简单的问题,让我介绍一下背景:我有一个mpl::vector类型,其中每个类型都有一个id,在运行时我使用mpl::for_each遍历这个vector并找到给定id的匹配类型。但是一旦找到,继续循环就没有意义了,所以-问题是,有没有办法跳出它(不抛出异常)? 最佳答案 为了实现类似find_if的功能,我更改了for_each(将其称为exec_if)以采用bool模板参数。bool指示是否应该执行下一个序列,或者影响提前返回。#include#include#include#include#include#include#

c++ - 如何将 boost::bind 与不可复制的参数一起使用,例如 boost::promise?

有些C++对象没有复制构造函数,但有移动构造函数。例如,boost::promise。我如何使用移动构造函数绑定(bind)这些对象?#includevoidfullfil_1(boost::promise&prom,intx){prom.set_value(x);}boost::functionget_functor(){//boost::promiseisnotcopyable,butmovableboost::promisepi;//compilationerrorboost::functionf_set_one=boost::bind(&fullfil_1,pi,1);//co

c++ - 将 boost.units 中的单位从 angular_velocity 转换为 degrees_per_second

我需要将一般的angular_velocity转换为度/秒。为了说明这个问题,示例boostUnits.cpp:#include#include#include#include#include#include#include#includeintmain(){boost::units::quantitym_speed((30.0*boost::units::si::radians_per_second));std::cout(boost::units::quantity(m_speed*boost::units::degree::degrees/boost::units::si::se

c++ - Boost IPC 好用吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我对跨平台IPC的默认选择是boost,但当我询问它时,我看到它在两个不同的论坛上受到批评,这让我很担心。也许这只是一个巧合,那么总体上对boostIPC和选择跨平台C++IPC库有何想法?对于Windows开发,我们使用VC++2008作为引用。编辑:这是我看到的评论示例(现在找不到):forboost,it'scrap.Atleastonwindows

c++ - boost::format 和自定义打印标准容器

我的命名空间中有一个函数ns这有助于我打印STL容器。例如:templatestd::ostream&operator&set){stream这非常适合使用operator进行打印直接:std::setx={"1","2","3","4"};std::cout但是,使用boost::format是不可能的:std::setx={"1","2","3","4"};boost::format("%1%")%x;问题相当明显:Boost不知道我希望它使用我的自定义operator打印与我的命名空间无关的类型。在添加using之外申报成boost/format/feed_args.hpp,有没

c++ - 将 Boost.Proto 语法与类型匹配

我试图在Boost.Proto中创建一个匹配vector类型的语法,但是当我给它一个该类型的终端时,它与语法不匹配。类型定义如下所示:templatestructvector{typedefTscalar;enum{size=D};scalar&operator[](unsignedi){returnm_components[i];}scalarconst&operator[](unsignedi)const{returnm_components[i];}private:scalarm_components[size];};我试图匹配的语法看起来像这样:namespaceproto=b

c++ - Boost::Split 使用整个字符串作为分隔符

我想知道是否有一种方法使用boost::split以整个字符串作为分隔符来拆分字符串。例如:str="xxaxxxxabcxxxxbxxxcxxx"有没有一种方法可以使用"abc"作为分隔符来分割这个字符串?因此返回:结果将是字符串"xxaxxxx"和"xxxxbxxxcxxx"。我知道boost::split使用"is_any_of"谓词,但是调用is_any_of("abc")会导致也将字符串拆分为单个字符“a”、“b”和“c”,这不是我想要的。 最佳答案 是的,有一种方法(这是我知道的一种方法,也许有更好的方法)使用boost

c++ - boost::erase_all 从字符串中删除多个字符

如果我想使用boost::erase_all从字符串中删除所有1,我可以这样做:boost::erase_all("a1b1c1","1");现在,我的字符串是“abc”。但是,如果我想使用boost::erase_all从字符串中删除所有数字(0-9),我必须为我希望删除的每个数字调用一次。boost::erase_all("a1b2c3","1");boost::erase_all("a1b2c3","2");boost::erase_all("a1b2c3","3");我想我可以使用boost::is_any_of一次删除它们,因为它可以与其他boost字符串算法一起使用,例如b

c++ - 在 boost::asio 中选择功能

我打算在我的项目中使用boost::asio库。但是哪个函数对应于本地套接字C库中的select()并不是很明显。这在asio中可用吗?或者boost是否提供了一种替代方法来确定套接字是否准备就绪? 最佳答案 Boost.Asio的高级设计基于Proactordesingpattern.因此,您不需要轮询select。相反,为异步操作提交完成处理程序,并在操作完成时调用完成处理程序。 关于c++-在boost::asio中选择功能,我们在StackOverflow上找到一个类似的问题:

c++ - 段太多,汇编错误,使用 boost::spirit

我正在为Java的一个子集编写编译器,使用boost::spirit进行词法分析和解析。在词法分析器/解析器阶段的编译期间,编译器消耗1.6GBRAM(g++(GCC)4.8.1),但这不是问题,因为有很多这台机器上的内存。然而,问题在于当编译器完成并且汇编器开始运行时(GNUassembler(GNUBinutils)2.23.52.20130604),它崩溃了;as:build/src/ast_generate.o:toomanysections(33098)/tmp/cc0ZyvKK.s:Assemblermessages:/tmp/cc0ZyvKK.s:Fatalerror:c