草庐IT

c++ - 使用boost spirit从括号中提取字符串

我有以下字符串:%%DocumentNeededResources:CMap(90pv-RKSJ-UCS2C)我想解析它并存储/提取括号中的90pv-RKSJ-UCS2C字符串。我的规则如下:std::stringstrLinesRecur="%%DocumentNeededResources:CMap(90pv-RKSJ-UCS2C)";std::stringstrStartTokenRecur;std::stringtoken_intRecur;boolbParsedLine1=qi::phrase_parse(strLinesRecur.begin(),strLinesRecur

c++ - 使用 spirit 解析器从字符串中提取值

我有以下行/90pv-RKSJ-UCS2Cusecmapstd::stringconstline="/90pv-RKSJ-UCS2Cusecmap";autofirst=line.begin(),last=line.end();std::stringlabel,token;boolok=qi::phrase_parse(first,last,qi::lexeme["/">>+~qi::char_("")]>>''>>qi::lexeme[+~qi::char_('')],qi::space,label,token);if(ok)std::cout我想在标签中90pv-RKSJ-UCS2

c++ - boost::property_tree 无一异常(exception)

我需要解析一些INI文件。为此,我尝试使用boost::property_tree,但在我的系统中不允许出现异常。如何在使用boost::property_tree时禁用异常支持?如果没有办法做到这一点,非常感谢对其他图书馆的任何建议。在@sehe的回答后,我尝试了这段代码,但是没有成功:#include#include#include#includenamespaceboost{voidthrow_exception(std::exceptionconst&e){std::cerr编译行代码使用以下参数:-c-DBOOST_USER_CONFIG=""-DBOOST_NO_EXCEP

c++ - 构建 luabind 时出现错误 C2665

我正在使用Lua5.1和Boost1.58.0来尝试构建luabind-0.7.1-rc1。环境变量都设置正确。我一直在寻找这个问题的答案大约一个星期,但没有成功。每当我尝试构建luabind时,我都会遇到20个相同的错误:errorC2665:'boost::operator==':noneofthe4overloadscouldconvertalltheargumenttypess:\luabind-0.7.1-rc1\luabind\object.hpp5421所有错误似乎都是从#undef之前的最后两行抛出的://NeededbecauseofsomestrangeADLiss

c++ - Boost fusion 使用 lambda fold 参数包

在下面的代码中(C++14,C++17中没有“fold”),我试图在编译时使用boostfusionfold、参数包自动计算类字段的固定偏移量和一个lambda。不幸的是,这会导致编译时错误......是否可以这样做?[编辑:其他事情也困扰着我:这不是我想要的。我希望ControlledLayout2的_size在编译时可用(这就是我将其设为静态的原因),而不仅仅是在调用构造函数时可用]templatestructField2{typedefT_type;staticconstuint32_t_size;staticuint32_t_offset;};templateconstuint

c++ - boost::geometry 测量点到多边形环的最大/最小距离的最有效方法

我一直在程序中使用boost::geometry库,主要用于处理多边形对象。我现在正在尝试优化我的代码以更好地缩放更大的多边形。我的一个函数检查给定多边形和给定点(通常在多边形内部)点和多边形外环之间的最小和最大距离。我通过在多边形边上循环来实现:polygonpol;pointmyPoint;doublemin=9999999,max=0;for(autoit1=boost::begin(bg::exterior_ring(pol));it1!=boost::end(bg::exterior_ring(pol));++it1){doubledistance=bg::distance(

c++ - 通过 boost :MPI got error 发送一个简单的 boost 图形对象

我正在通过修改“/apps/boost_1_56_0/libs/graph/test”中的代码“serialize.cpp”并尝试通过boostMPI通过网络发送一个boostgraph对象来进行测试。它编译得很好,但是当我使用mpirun运行可执行文件时,我得到了这个错误:terminatecalledafterthrowinganinstanceof'boost::archive::archive_exception'what():inputstreamerror.我想我正在读取一个空缓冲区,但不确定如何修复它。#include#include#include#include#in

c++ - 具有模数的boost多精度库不一致

我发现使用cpp_int的boost多精度库有些不一致,想知道问题是否出在我这边?我做错了什么吗?boost::multiprecision::cpp_intvalue("845812507058753702096720396260955981034309941487979439207575316627396775257009179367680598562088782400182102510047921049667535737841056751035898984440045398065941794853342721440022891483618946596390530332584847

c++ - boost::any_range<gsl::string_span<>> 在 Release模式下崩溃

我观察到以下代码的一个相当奇怪的行为:#include#include#include#include#include#include"gsl.h"templateusingImmutableValueRange=boost::any_range;templateImmutableValueRangemake_transforming_immutable_range(constC&container){returncontainer|boost::adaptors::transformed([](consttypenameC::value_type&v)->T{//std::cout>

c++ - vector 的最后一项不显示/vector 索引问题

我有一个我根本找不到的奇怪错误。我正在使用Boost图库构建一个adjacency_list图,并将顶点列表填充到一个vector中。当我遍历vector时,它会正确打印出所有顶点,但是,当我运行算法(例如Dijkstra的最短路径)时,最后顶点显示为空白。例如:ShortestpathfromCtoRC->H=55H->=97->R=56Distance:208更糟糕的是,如果我编写一个简单的搜索来选择一个特定的顶点,vector中的最后顶点再次成为一个问题,因为它表明它不存在。std::stringstart_vertex;boolvalid=false;std::cout>sta