最終更新日時: 2025年06月04日 11時59分19秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<ranges>

# std::ranges::adjacent_view::推論補助(C++23)

    namespace std::ranges {
      template<class R>
      adjacent_view(R&&) -> adjacent_view<views::all_t<R>, 1>;
    }

## 概要

`adjacent_view`クラステンプレートの型推論補助。

## 備考

この推論補助は、第2テンプレート引数`N`のデフォルト値として`1`を使用する。

## 例

    #include <ranges>
    #include <vector>
    #include <type_traits>

    int main() {
      std::vector<int> v = {1, 2, 3, 4, 5};

      // adjacent_viewの型を明示的に指定する必要がない（Nはデフォルトで1）
      std::ranges::adjacent_view av{v};

      // 推論された型を確認
      static_assert(std::same_as<
        decltype(av),
        std::ranges::adjacent_view<std::ranges::ref_view<std::vector<int>>, 1>
      >);
    }

### 出力

## バージョン

### 言語

- C++23

### 処理系

- Clang: 19 ✅
- GCC: 13 ✅
- Visual C++: 2022 Update 7 ✅