- ranges[meta header]
- std::ranges[meta namespace]
- adjacent_view[meta class]
- function[meta id-type]
- cpp23[meta cpp]
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 [mark verified]
- GCC: 13 [mark verified]
- Visual C++: 2022 Update 7 [mark verified]