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

履歴 編集

function
<ranges>

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

    namespace std::ranges {
      template<class R, class F>
      adjacent_transform_view(R&&, F) ->
        adjacent_transform_view<views::all_t<R>, decay_t<F>, 2>;
    }

## 概要

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

## 備考

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

## 例

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

    int main() {
      std::vector<int> v = {1, 2, 3, 4, 5};
      auto diff = [](int x, int y) { return y - x; };

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

      // 推論された型を確認
      static_assert(std::same_as<
        decltype(atv),
        std::ranges::adjacent_transform_view<
          std::ranges::ref_view<std::vector<int>>,
          decltype(diff),
          2
        >
      >);
    }

### 出力

## バージョン

### 言語

- C++23

### 処理系

- Clang: 20 ❌
- GCC: 15 ❌
- Visual C++: 2022 Update 14 ❌