Skip to content

Latest commit

 

History

History
59 lines (49 loc) · 1.46 KB

File metadata and controls

59 lines (49 loc) · 1.46 KB

operator PairLike

  • ranges[meta header]
  • std::ranges[meta namespace]
  • subrange[meta class]
  • function[meta id-type]
  • cpp20[meta cpp]
template<different-from<subrange> PairLike>
  requires pair-like-convertible-from<PairLike, const I&, const S&>
constexpr operator PairLike() const;
  • different-from[link /reference/ranges/different-from.md]
  • pair-like-convertible-from[link pair-like-convertible-from.md]
  • different-from[italic]
  • pair-like-convertible-from[italic]

概要

pair-like (大きさ2のtuple-like) な型への変換演算子。

効果

return PairLike(begin_, end_);

ただし、begin_end_subrangeが内部で保持するイテレータと番兵。

#include <ranges>
#include <cassert>

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 [mark verified]
  • GCC: 10.1.0 [mark verified]
  • ICC: ?
  • Visual C++: 2019 Update 10 [mark verified]

参照