最終更新日時: 2026年07月22日 16時08分23秒 (JST)
rotarymars が更新

履歴 編集

function
<ranges>

# std::ranges::subrange::operator PairLike(C++20)

    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>
    #include <utility>

    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 ✅

## 参照

- N4861 24 Ranges library
- C++20 ranges