std::ranges::split_view<V,Pattern>::base
来自 cppreference.cn
< cpp | ranges | split view
constexpr V base() const& requires std::copy_constructible<V>; |
(1) | (since C++20) |
constexpr V base() &&; |
(2) | (since C++20) |
返回底层视图 base_
的副本。
1) 从底层视图复制构造结果。
2) 从底层视图移动构造结果。
目录 |
[edit] 返回值
1) 底层视图的副本。
2) 从底层视图移动构造的视图。
[edit] 示例
运行此代码
#include <iomanip> #include <iostream> #include <ranges> #include <string_view> int main() { constexpr std::string_view keywords{"this throw true try typedef typeid"}; std::ranges::split_view split_view{keywords, ' '}; std::cout << "base() = " << std::quoted(split_view.base()) << "\n" "substrings: "; for (auto split : split_view) std::cout << std::quoted(std::string_view{split}) << ' '; std::cout << '\n'; }
输出
base() = "this throw true try typedef typeid" substrings: "this" "throw" "true" "try" "typedef" "typeid"
[edit] 缺陷报告
以下行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 已发布行为 | 正确行为 |
---|---|---|---|
LWG 3590 | C++20 | const& 重载额外要求复制赋值的有效性 |
约束已放宽 |
[edit] 参见
返回底层(适配的)视图的副本 ( std::ranges::lazy_split_view<V,Pattern> 的公共成员函数) |