Container.Splice

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 クラスが内部で使用しているノードオブジェクトごと連接を行うため、有効な要素を指す既存の反復子を無効にしません。また、InsertErase を併用するよりも一般的に高速に動作します。

 

 


Copyright(C) 2011-2012 Show MATSUOKA.
Powered by Prefab.