split_view()
requires default_initializable<V> &&
default_initializable<Pattern>
= default; // (1) C++20
constexpr split_view(V base, Pattern pattern); // (2) C++20
概要
split_view
オブジェクトを構築する。
- (1) : デフォルト構築
- (2) : 元となるviewとパターンを指定して構築
効果
- (1) :
base_
とpattern_
をデフォルト構築する - (2) :
base_
をstd::move(base)
で、pattern_
をstd::move(pattern)
で初期化する
例
#include <iostream>
#include <ranges>
#include <string_view>
int main() {
using namespace std::literals;
std::string_view text = "hello,world,split";
std::string_view delimiter = ",";
std::ranges::split_view view{text, delimiter};
for (auto subrange : view) {
std::string_view sv{subrange.begin(), subrange.end()};
std::cout << sv << '\n';
}
}
出力
hello
world
split
バージョン
言語
- C++20
処理系
- Clang: 13.0.0 ✅
- GCC: 10.1.0 ✅
- ICC: ??
- Visual C++: 2019 Update 10 ✅