Skip to content

Latest commit

 

History

History
47 lines (38 loc) · 1.04 KB

iterator_t.md

File metadata and controls

47 lines (38 loc) · 1.04 KB

iterator_t

  • ranges[meta header]
  • std::ranges[meta namespace]
  • type-alias[meta id-type]
  • cpp20[meta cpp]
namespace std::ranges {
  template<class R>
  using iterator_t = decltype(ranges::begin(declval<R&>()));
}
  • declval[link /reference/utility/declval.md]
  • ranges::begin[link begin.md]

概要

任意のRange型Rのイテレータの型を取得する。

#include <ranges>
#include <vector>

int main() {
  static_assert(std::same_as<std::ranges::iterator_t<std::vector<int>>, std::vector<int>::iterator>);
}
  • std::ranges::iterator_t[color ff0000]

出力

バージョン

言語

  • C++20

処理系

  • Clang: 13.0.0 [mark verified]
  • GCC: 10.1.0 [mark verified]
  • ICC: ?
  • Visual C++: 2019 Update 10 [mark verified]

参照