我已经阅读了大量有关 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) 我正在尝试制作一个小程序来使用 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)