Container.Splice
>> NGL >> リファレンス >> Containerカテゴリ >> コンテナのメソッド >> Container.Splice
言語: Visual Basic C#
最終更新日付:2012/07/05 18:02:06
概要
他のコンテナオブジェクト内の要素の一部または全部を、引数 itr の位置に挿入(移動)します。挿入された要素は移動元のコンテナから削除されます。
サポートするクラス
このメソッドは、以下のコンテナがサポートします。
形式
このメソッドのシグネチャは以下のとおりです。このメソッドには3種類のオーバーロードがあります。
Public Sub Splice(ByVal itr As ListIterator(Of T), ByVal cont As List(Of T)) Public Sub Splice(ByVal itr As ListIterator(Of T), _ ByVal cont As List(Of T), ByVal itr1 As ListIterator(Of T)) Public Sub Splice(ByVal itr As ListIterator(Of T), ByVal cont As List(Of T), _ ByVal itr1 As ListIterator(Of T), ByVal itr2 As ListIterator(Of T))
public void Splice( ListIterator<T> itr, List<T> cont ) public void Splice( ListIterator<T> itr, List<T> cont, ListIterator<T> itr1 ) public void Splice( ListIterator<T> itr, List<T> cont, ListIterator<T> itr1, ListIterator<T> itr2 )
引数 cont として指定された List オブジェクト内の要素の一部または全部を、引数 itr の位置に挿入します。挿入された要素は cont からは削除されます。itr はこのメソッドを呼出す対象の List オブジェクトの要素を指す反復子でなければなりません。
上記における最初のオーバーロードでは、cont 内の全ての要素が itr の位置に挿入され、結果として cont は空になります。
2番目のオーバーロードでは、itr1 が指す要素のみが itr の位置に挿入され、 cont から削除されます。この時、itr1 は cont が管理するシーケンス内の要素を指す反復子でなければなりません。
3番目のオーバーロードでは、[itr1, itr2) の範囲の要素が itr の位置に挿入され、cont から削除されます。itr1 および itr2 は、cont が管理するシーケンス内の要素を指す反復子でなければなりません。また、itr2 は itr1 から到達可能でなくてはなりません。
補足事項
このメソッドは List オブジェクト間の要素の移動をサポートするメソッドとして、 List クラスが内部で使用しているノードオブジェクトごと連接を行うため、有効な要素を指す既存の反復子を無効にしません。また、Insert とErase を併用するよりも一般的に高速に動作します。
Copyright(C) 2011-2012 Show MATSUOKA.
Powered by Prefab.