Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.51 KB

uses-nonqualification-pointer-conversion.md

File metadata and controls

42 lines (33 loc) · 1.51 KB

uses-nonqualification-pointer-conversion

  • ranges[meta header]
  • concept[meta id-type]
  • std::ranges[meta namespace]
  • cpp20[meta cpp]
namespace std::ranges {
  template<class From, class To>
    concept uses-nonqualification-pointer-conversion =  // 説明専用コンセプト
      is_pointer_v<From> && is_pointer_v<To> &&
      !convertible_to<remove_pointer_t<From>(*)[], remove_pointer_t<To>(*)[]>;
}
  • convertible_to[link /reference/concepts/convertible_to.md]
  • is_pointer_v[link /reference/type_traits/is_pointer.md]
  • remove_pointer_t[link /reference/type_traits/remove_pointer.md]
  • uses-nonqualification-pointer-conversion[italic]

概要

uses-nonqualification-pointer-conversionは、直接変換できない型同士のポインタの変換が必要かどうかを表す。ranges::subrangeの定義において、ranges::subrange<const T* const*>T*[]から構築するなどの時に必要になるポインタの変換を許容するために使用される。

バージョン

言語

  • C++20

処理系

関連項目

参照