最終更新日時(UTC):
が更新

履歴 編集

concept
<ranges>

std::ranges::pair-like-convertible-from(C++20)

namespace std::ranges {
  // C++20
  template<class T, class U, class V>
    concept pair-like-convertible-from = // 説明専用コンセプト
      !range<T> && pair-like<T> &&
      constructible_from<T, U, V> &&
      convertible-to-non-slicing<U, tuple_element_t<0, T>> &&
      convertible_to<V, tuple_element_t<1, T>>;

  // C++23
  template<class T, class U, class V>
    concept pair-like-convertible-from = // 説明専用コンセプト
      !range<T> && !is_reference_v<T> && pair-like<T> &&
      constructible_from<T, U, V> &&
      convertible-to-non-slicing<U, tuple_element_t<0, T>> &&
      convertible_to<V, tuple_element_t<1, T>>;
}

概要

pair-like-convertible-fromは、型Tが型UVから構築出来るpair-likeであり、かつUがスライシングを起こさないということを表す説明専用コンセプトである。ranges::subrangeでの定義に使用され、Uにはイテレータの型が、Vにはセンチネルの型が渡される。

バージョン

言語

  • C++20

処理系

関連項目

参照