forward_list クラス

要素の可変長シーケンスを制御するオブジェクトを表します。 シーケンスはノードのシングル リンク リストとして格納され、各ノードには型 Type のメンバーが含まれます。

template<
    class Type, 
    class Allocator = allocator<Type> 
>
class forward_list 

パラメーター

パラメーター

説明

Type

forward_list に格納される要素のデータ型。

Allocator

forward_list によるメモリの割り当てと解放に関する詳細をカプセル化する、格納されたアロケーター オブジェクト。 このパラメーターは省略できます。 既定値は allocator<Type> です。

解説

forward_list オブジェクトは、allocator クラス (一般的な呼び方では std::allocator) に基づくクラスAllocator の格納されているオブジェクトを通じて制御しているシーケンスに対してストレージの割り当てと解放を行います。 詳細については、「アロケーター」を参照してください。 アロケーター オブジェクトは、allocator テンプレート クラスのオブジェクトと同じ外部インターフェイスを持っている必要があります。

注意

コンテナー オブジェクトを代入しても、格納されているアロケーター オブジェクトはコピーされません。

反復子、ポインター、および参照は、それらの被制御シーケンスの要素が forward_list を通じて消去された場合、無効になる可能性があります。 forward_list を通じて被制御シーケンスに対して行われた挿入およびスプライスによって反復子が無効になることはありません。

forward_list::insert_after の呼び出しによって、被制御シーケンスへの追加が発生する場合があります。この関数は、コンストラクター Type(const _Type&) を呼び出す唯一のメンバー関数です。 forward_list は、移動コンストラクターも呼び出す場合があります。 このような式が例外をスローした場合、コンテナー オブジェクトは新しい要素を挿入せず、例外を再スローします。 したがって、テンプレート クラス forward_list のオブジェクトは、このような例外が発生したときに、既知の状態のままになります。

コンストラクター

forward_list

forward_list 型のオブジェクトを構築します。

Typedef

allocator_type

前方リスト オブジェクトのアロケーター クラスを表す型。

const_iterator

前方リストに定数反復子を提供する型。

const_pointer

前方リスト内の const 要素へのポインターを提供する型。

const_reference

前方リスト内の要素への定数参照を提供する型。

difference_type

前方リストの要素の数を、反復子が指す要素の範囲に基づいて表すために使用できる符号付き整数型。

iterator

前方リストの反復子を提供する型。

pointer

前方リスト内の要素へのポインターを提供する型。

参照

前方リスト内の要素への参照を提供する型。

size_type

2 つの要素間の距離を表す、符号なしの型。

value_type

前方リストに格納された要素の型を表す型。

メンバー関数

assign

前方リストから要素を消去し、対象の前方リストに新しい要素のセットをコピーします。

before_begin

前方リスト内の先頭要素の前の位置を示す反復子を返します。

begin

前方リスト内の最初の要素を指す反復子を返します。

cbefore_begin

前方リスト内の先頭要素の前の位置を示す定数反復子を返します。

cbegin

前方リスト内の最初の要素を指す定数反復子を返します。

cend

前方リスト内の最後の要素の次の場所を指す定数反復子を返します。

clear

前方リストのすべての要素を消去します。

emplace_after

指定された位置の後に新しい要素を構築します。

emplace_front

イン プレースで構築された要素をリストの先頭に追加します。

empty

前方リストが空であるかどうかをテストします。

End

前方リスト内の最後の要素の次の場所を指す反復子を返します。

erase_after

前方リストから指定された位置の後の要素を削除します。

front

前方リスト内の最初の要素への参照を返します。

get_allocator

前方リストの構築に使用されるアロケーター オブジェクトのコピーを返します。

insert_after

前方リストの指定された位置の後に要素を追加します。

max_size

前方リストの最大長を返します。

merge

引数リストから要素を削除し、それをターゲットの前方リストに挿入して、新たに組み合わされたセットの要素を昇順またはその他の指定された順序で並べ替えます。

pop_front

前方リストの先頭から要素を削除します。

push_front

前方リストの先頭に要素を追加します。

remove

指定された値と一致する前方リスト内の要素を消去します。

remove_if

指定された述語を満たす前方リスト内の要素を消去します。

resize

前方リストの新しいサイズを指定します。

reverse

前方リスト内で要素が出現する順序を反転させます。

sort

要素を昇順または述語によって指定された順序で配置します。

splice_after

ノード間のリンクを再接合します。

swap

2 つの前方リストの要素を交換します。

unique

指定されたテストに合格した隣接する要素を削除します。

演算子

operator=

別の前方リストのコピーで前方リストの要素を置き換えます。

必要条件

ヘッダー: <forward_list>

名前空間: std

参照

関連項目

<forward_list>

その他の技術情報

<forward_list> メンバー