std::ranges:: iter_move
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ヘッダーで定義
<iterator>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
iter_move
=
/* unspecified */
;
|
(C++20以降)
(カスタマイゼーションポイントオブジェクト) |
|
|
呼び出しシグネチャ
|
||
|
template
<
class
T
>
requires
/* see below */
|
(C++20以降) | |
指定されたイテレータから右辺値参照またはprvalue一時オブジェクトを取得します。
A ranges :: iter_move ( t ) は 式等価 です:
-
iter_move
(
t
)
、ただし
t
がクラス型または列挙型を持ち、かつ式が
未評価オペランド
として扱われた場合に有効である場合。このとき
iter_moveの オーバーロード解決 は、 実引数依存の名前探索 によって見つかった候補のみを使用して行われる。 - それ以外の場合、 std :: move ( * t ) 、ただし * t が有効であり、かつ左辺値である場合。
- それ以外の場合、 * t 、ただし * t が有効であり、かつ右辺値である場合。
それ以外のすべての場合において、
ranges::iter_move
の呼び出しは不適格となり、テンプレートのインスタンス化の直接の文脈内で
ranges
::
iter_move
(
e
)
が現れる場合、
置換失敗
を引き起こす可能性があります。
ranges :: iter_move ( e ) が * e と等しくない場合、プログラムは不適格(診断不要)です。
カスタマイゼーションポイントオブジェクト
ranges::iter_move
という名前は
カスタマイゼーションポイントオブジェクト
を表します。これは
関数オブジェクト
のconstな
リテラル
semiregular
クラス型です。詳細については
CustomizationPointObject
を参照してください。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(C++20)
|
調整された基盤イテレータを逆参照した結果を、関連する右辺値参照型にキャストする
(関数) |
|
(C++20)
|
基盤イテレータを逆参照した結果を、関連する右辺値参照型にキャストする
(関数) |