template<different-from<subrange> PairLike>
requires pair-like-convertible-from<PairLike, const I&, const S&>
constexpr operator PairLike() const;
概要
pair-like
(大きさ2のtuple-like
) な型への変換演算子。
効果
return PairLike(begin_, end_);
ただし、begin_
、end_
はsubrange
が内部で保持するイテレータと番兵。
例
#include <ranges>
#include <cassert>
int main()
{
constexpr int a[] = {1, 2};
const std::ranges::subrange sub(a);
const std::pair<const int*, const int*> p = sub;
assert(p.first == a);
assert(p.second == a + 2);
}
12
#include <ranges>
#include <cassert>
int main()
{
constexpr int a[] = {1, 2};
const std::ranges::subrange sub(a);
const std::pair<const int*, const int*> p = sub;
assert(p.first == a);
assert(p.second == a + 2);
}
出力
バージョン
言語
- C++20
処理系
- Clang: 13.0.0 ✅
- GCC: 10.1.0 ✅
- ICC: ?
- Visual C++: 2019 Update 10 ✅