std::experimental::ranges::difference_type
From cppreference.com
< cpp | experimental | ranges
| Defined in header <experimental/ranges/iterator> |
||
| template< class I > struct difference_type {}; |
(1) | |
| template< class T > struct difference_type<T*>; |
(2) | |
| template< class T > struct difference_type<const T> : difference_type<std::decay_t<T>> {}; |
(3) | |
| template< class T > requires requires { typename T::difference_type; } |
(4) | |
| template< class T > requires !requires { typename T::difference_type; } && |
(5) | |
I の関連する差分型を計算します。必要であれば。ユーザーはプログラム定義型のために difference_type を特殊化できます。
1) プライマリテンプレートは空の構造体です。
3) const 修飾された型に対する特殊化。
4) 公開かつアクセス可能なメンバ型
difference_type を定義する型の特殊化。T::difference_type に等しいメンバ型 type を提供します。5) 公開かつアクセス可能なメンバ型
difference_type を定義しないが、減算をサポートする型の特殊化。std::make_signed_t<decltype(std::declval<T>() - std::declval<T>())> に等しいメンバ型 type を提供します。[編集] ヘルパーエイリアステンプレート
| template< class T > using difference_type_t = typename ranges::difference_type<T>::type; |
(ranges TS) | |
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
Semiregular 型が前置および後置インクリメント演算子でインクリメントできることを指定します。(concept) | |
| イテレータの関連型を収集する互換性トレイトクラス。 (alias template) |