草庐IT

boost-uuid

全部标签

c++ - 如何使用 boost::spirit 解析 csv

我有这条csv行std::strings=R"(1997,Ford,E350,"ac,abs,moon","some"rusty"parts",3000.00)";我可以使用boost::tokenizer解析它:typedefboost::tokenizer,std::string::const_iterator,std::string>Tokenizer;boost::escaped_list_separatorseps('\\',',','\"');Tokenizertok(s,seps);for(autoi:tok){std::cout它做对了,除了token“生锈”应该有双引

c++ - Boost.Log 同时记录到文件和标准输出?

我已经使用boost::log成功地记录到标准输出(使用TRIVIAL宏)或记录到一个文件(基本上按照教程中的步骤进行)。我们如何配置以同时记录到文件和stdout?这是我们设置中的一个常见用例,当我们想要同时拥有一个日志文件和所有进入控制台日志的输出时。感谢任何意见! 最佳答案 根据thedocs你可以简单地使用add_console_log()像这样的便利功能:#includelogging::add_console_log(std::cout,boost::log::keywords::format=">>%Message%"

c++ - 如何使用 boost 可升级互斥量的示例

我有一个多线程服务器应用程序,需要对一些共享内存进行互斥锁。共享内存基本上是sTL映射等。很多时候我只是在看map。但是,我也需要偶尔添加它。例如typedefstd::mapMessageMap;消息映射boost:shared_mutexaccess_;voidProcessMessage(Message*message){//Accessmessage...readsomestufffromitmessage->...UUIDid=message->GetSessionID();//Needtoobtainalockhere.(sharedlock?multiplereaders

c++ - boost::regex_search 可以在 wstring 上完成吗?

这是我尝试过的:std::wstringextractText(std::wstringline){std::wstringtext;boost::regexexp("^.*?PRIVMSG#.*?:(.+)");boost::smatchmatch;if(boost::regex_search(line,match,exp)){text=std::wstring(match[1].first,match[1].second);}returntext;} 最佳答案 使用wregex和wsmatch

c++ - boost 二进制 static_visitor 和 apply_visitor

我有以下代码:typedefboost::variantSearchParameter;enumVisibility{CLEAR,CLOUDY,FOG,SMOKE};classDetectionGenerator:publicboost::static_visitor{public:DetectionGenerator(constEnvironmentalFactors&factors);doubleoperator()(constLandSearchParameter&land,Visibilityvis)const;doubleoperator()(constWaterSearch

c++ - 如何使用 boost::spirit 将单词序列解析为 vector ?

我正在努力学习boost::spirit.例如,我试图将一系列单词解析为vector.我试过这个:#include#includenamespaceqi=boost::spirit::qi;intmain(){std::vectorwords;std::stringinput="thisisatest";boolresult=qi::phrase_parse(input.begin(),input.end(),+(+qi::char_),qi::space,words);BOOST_FOREACH(std::stringstr,words){std::cout这给了我这个输出:'thi

c++ - 不能在非 Boost 版本的 Asio 中使用 asio::placeholders::error

我正在尝试在项目中使用Asio的非Boost版本。我正在编写对stream_protocol::acceptor::async_accept的回调。签名需要传递asio::placeholders::error但当我这样做时,出现以下错误:错误:命名空间“asio::placeholders”中没有名为“error”的成员根据源代码,我可以看到错误存在,但类型为undefined,这对我来说是新的。我错过了什么吗?我应该对库进行某种预处理吗? 最佳答案 简而言之,使用std::placeholders::_1而不是asio::pla

c++ - 如何从格式化字符串中获取 boost::posix_time::ptime

我有一个像“2012-03-28T08:00:00”这样的格式化字符串。我想获取年、月(字符串格式)、日期、小时、分钟、秒和日(字符串格式)。谁能建议我在boost中使用最简单的方法。谢谢 最佳答案 如果现有的from_string()方法不能满足您的需求,那么您可以使用时间输入方面,它允许您自定义解析字符串的格式。在您的情况下,您可以使用ISO扩展格式字符串,这样您就可以使用以下代码来解析您的字符串:boost::posix_time::time_input_facet*tif=newboost::posix_time::time

c++ - 使用 Boost.Serialization 进行序列化

我一直在尝试序列化,但每次我都遇到如下错误:-error:'classstd::vector>'hasnomembernamed'serialize'这是我的源代码和序列化方法,知道我正在使用boost.serializetemplateclassheap{vector*hp;intindex;//indexispointingtofirstemptyplaceafterthelastelementintmaxsize;Tcomp;//comparableobjectdesignedtocomparetheobjectsprivate:friendclassboost::seriali

c++ - BOOST_CHECK_EQUAL 与 pair<int, int> 和自定义运算符 <<

当尝试执行BOOST_CHECK_EQUAL(pair,pair)时,gcc没有找到pair的流运算符,尽管声明了它。有趣的是std::out找到了运算符。ostream&operator&p){s';returns;}BOOST_AUTO_TEST_CASE(works){pairexpected(5,5);pairactual(5,5);std::coutexpected(5,5);pairactual(5,5);BOOST_CHECK_EQUAL(actual,expected);}这不会编译错误:...instantiatedfromhere../boost-atp/relea