小编Aar*_*ght的帖子

使用 Range-v3 变换临时向量

我已经阅读了大量有关 range-v3 视图、操作以及它们如何与临时集合交互的内容,但我仍然觉得我缺少一些简单的东西,这些东西可以帮助我完成我认为应该工作的事情。

鉴于以下情况:

std::vector<int> get_vector() { return {1, 2, 3}; }

void func1()
{
  auto const v1 =
    get_vector() |
    ranges::view::transform([](auto const& i) { return i + 1; }) |
    ranges::to_vector;
}
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

error: use of deleted function
Run Code Online (Sandbox Code Playgroud)

还有一条值得一读的好消息:

// **************************************************************************
// *    When piping a range into an adaptor, the range must satisfy the     *
// *    "viewable_range" concept. A range is viewable when either or both   *
// *    of these things are true:                                           *
// * …
Run Code Online (Sandbox Code Playgroud)

c++ range-v3

7
推荐指数
1
解决办法
735
查看次数

Boost.Spirit - 如何使用重复解析为结构?

我正在尝试制作一个小程序来使用 Boost.Spirit 从 /proc/stat 解析 cpu 使用信息。它主要是有效的,但是在使用重复时我无法编译我的语法。我错过了什么?

整个代码:

#include <vector>

#include "boost/fusion/include/adapt_struct.hpp"
#define BOOST_SPIRIT_DEBUG
#include "boost/spirit/include/qi.hpp"
#include "boost/iostreams/device/mapped_file.hpp"

namespace qi = boost::spirit::qi;
namespace ascii = boost::spirit::ascii;

struct Cpu
{
   unsigned int user;
   unsigned int nice;
   unsigned int system;
   unsigned int idle;
   unsigned int iowait;
   unsigned int irq;
   unsigned int softirq;
   unsigned int steal;
   unsigned int guest;
   unsigned int guest_nice;
};

BOOST_FUSION_ADAPT_STRUCT(
   Cpu,
   (unsigned int, user)
   (unsigned int, nice)
   (unsigned int, system)
   (unsigned int, idle)
   (unsigned int, iowait)
   (unsigned int, irq) …
Run Code Online (Sandbox Code Playgroud)

c++ parsing boost boost-spirit-qi

1
推荐指数
1
解决办法
283
查看次数

标签 统计

c++ ×2

boost ×1

boost-spirit-qi ×1

parsing ×1

range-v3 ×1