C ++ライブラリ-<forward_list>

前書き

forward_listは、一般的に使用されるシーケンスコンテナです。コンテナは、同じタイプのデータを保持するオブジェクトです。forward_listコンテナは、単一リンクリストとして実装されているため、データへの単方向の順次アクセスを提供します。

forward_listは高速ランダムアクセスを提供せず、一方向のみの順次アクセスのみをサポートします。forward_listを使用すると、シーケンス内の任意の場所に一定時間で挿入および削除操作を実行できます。

forward_listの要素は、メモリのさまざまなチャンクに分散させることができます。コンテナは、そのデータへの順次アクセスを可能にするために必要な情報を格納します。forward_listsは、実行時に両端から必要に応じて縮小または拡大できます。ストレージ要件は、内部アロケーターによって自動的に満たされます。

ゼロサイズのforward_listsも有効です。その場合、forward_list.begin()とforward_list.end()は同じ場所を指します。ただし、front()を呼び出す動作は定義されていません。

定義

以下は、<forward_list>ヘッダーファイルからのstd :: forward_listの定義です。

template < class T, class Alloc = allocator<T> > class forward_list;

パラメーター

  • T −含まれている要素のタイプ。

    Tは、ユーザー定義型を含む他のデータ型に置き換えることができます。

  • Alloc −アロケータオブジェクトのタイプ。

    デフォルトでは、アロケータクラステンプレートが使用されます。これは、最も単純なメモリ割り当てモデルを定義し、値に依存しません。

メンバータイプ

以下のメンバータイプは、パラメーターとして使用したり、メンバー関数によってタイプを返すことができます。

シニア番号 メンバータイプ 定義
1 value_type T(テンプレートの最初のパラメーター)
2 allocator_type Alloc(テンプレートの2番目のパラメーター)
3 参照 value_type&
4 const_reference const value_type&
5 ポインター value_type *
6 const_pointer const value_type *
7 イテレータ value_typeへのランダムアクセスイテレータ
8 const_iterator constvalue_typeへのランダムアクセスイテレータ
9 size_type size_t
10 Difference_type ptrdiff_t

<forward_list>の関数

以下は、<forward_list>ヘッダーのすべてのメソッドのリストです。

コンストラクター

シニア番号 方法と説明
1 forward_list :: forward_list デフォルトコンストラクタ

要素がゼロの空のforward_listを作成します。

2 forward_list :: forward_list 塗りつぶしコンストラクター

n個の要素を使用して新しいforward_listを作成し、forward_listの各要素にvalを割り当てます。

3 forward_list :: forward_list 塗りつぶしコンストラクター

n個の要素を使用して新しいforward_listを作成し、forward_listの各要素にゼロ値を割り当てます。

4 forward_list :: forward_list 範囲コンストラクター

最初から最後までの範囲内の数の要素を使用してforward_listを作成します。

5 forward_list :: forward_list コピーコンストラクター

既存のリストに存在する各要素のコピーを使用してforward_listを構築します。

6 forward_list :: forward_list 移動コンストラクター

移動セマンティクスを使用して、のコンテンツでforward_listを構築します。

7 forward_list :: forward_list 初期化子リストコンストラクター

初期化リストからforward_listを構築します。

デストラクタ

シニア番号 方法と説明
1 forward_list :: 〜forward_list

メモリーの割り当てを解除して、forward_listオブジェクトを破棄します。

メンバー関数

シニア番号 方法と説明
1 forward_list :: assign 範囲バージョン

古い値を置き換えることにより、forward_listに新しい値を割り当てます。

2 forward_list :: assign 塗りつぶしバージョン

古い値を置き換えることにより、forward_listに新しい値を割り当てます。

3 forward_list :: assign イニシャライザリストバージョン

古い値を置き換えることにより、forward_listに新しい値を割り当てます。

4 forward_list :: before_begin

forward_listの最初の要素の前の位置を指すランダムアクセスイテレータを返します。

5 forward_list :: begin

forward_listの最初の要素を指すランダムアクセスイテレータを返します。

6 forward_list :: cbefore_begin

forward_listの最初の要素の前の位置を指す定数ランダムアクセスイテレータを返します。

7 forward_list :: cbegin

forward_listの先頭を指す定数ランダムアクセスイテレータを返します。

8 forward_list :: cend

forward_listの終わりを指す定数ランダムアクセスイテレータを返します。

9 forward_list :: clear

forward_listからすべての要素を削除してforward_listを破棄し、forward_listのサイズをゼロに設定します。

10 forward_list :: emplace_after

forward_listの位置の後に新しい要素を作成して挿入し、forward_listのサイズを1つ増やします。

11 forward_list :: emplace_front

forward_listの先頭に新しい要素を挿入し、forward_listのサイズを1つ増やします。

12 forward_list :: empty

forward_listが空かどうかをテストします。

13 forward_list :: end

forward_listの最後の要素を指すランダムアクセスイテレータを返します。

14 forward_list :: erase_after位置バージョン

forward_listからpositionの後の単一の要素を削除します。

15 forward_list :: erase範囲バージョン

forward_listから要素の範囲を削除します。

16 forward_list :: front

forward_listの最初の要素への参照を返します。

17 forward_list :: get_allocator

forward_listに関連付けられたアロケーターを返します

18 forward_list :: insert_after 単一要素バージョン

forward_listの位置の後に新しい要素を挿入することにより、イテレータを拡張します

19 forward_list :: insert_after 移動バージョン

forward_listの位置の後に新しい要素を挿入することにより、イテレータを拡張します

20 forward_list :: insert_after 塗りつぶしバージョン

forward_listの位置の後に新しい要素を挿入することにより、イテレータを拡張します

21 forward_list :: insert_after 範囲バージョン

forward_listの位置の後に新しい要素を挿入することにより、イテレータを拡張します

22 forward_list :: insert_after 初期化子リストのバージョン

forward_listの位置の後に新しい要素を挿入することにより、イテレータを拡張します

23 forward_list :: max_size

forward_listが保持できる要素の最大数を返します。

24 forward_list :: merge

ソートされた2つのforward_listを1つにマージします。

25 forward_list :: mergemove バージョン

ソートされた2つのforward_listを1つにマージします。

26 forward_list :: merge 比較関数

ソートされた2つのforward_listを1つにマージします。

27 forward_list :: merge 比較関数移動バージョン

移動セマンティクスを使用して、ソートされた2つのforward_listを1つにマージします。

28 forward_list :: operator = コピーバージョン

古いコンテンツを置き換えることにより、forward_listに新しいコンテンツを割り当てます。

29 forward_list :: operator = ムーブバージョン

古いコンテンツを置き換えることにより、forward_listに新しいコンテンツを割り当てます。

30 forward_list :: operator = 初期化子リストのバージョン

古いコンテンツを置き換えることにより、forward_listに新しいコンテンツを割り当てます。

31 forward_list :: pop_front

forward_listから最初の要素を削除します。

32 forward_list :: push_front コピーバージョン

forward_listの先頭に新しい要素を挿入します。

33 forward_list :: push_front 移動バージョン

forward_listの先頭に新しい要素を挿入します。

34 forward_list :: remove

値に一致する要素をforward_listから削除します。

35 forward_list :: remove_if

条件を満たすforward_listから要素を削除します。

36 forward_list :: reset

forward_listのサイズを変更します。

37 forward_list :: resize 値バージョン

forward_listのサイズを変更します。

38 forward_list :: reverse

forward_listに存在する要素の順序を逆にします。

39 forward_list :: sort

forward_listの要素を並べ替えます。

40 forward_list :: sort 比較関数

forward_listの要素を並べ替えます。

41 forward_list :: splice_after

すべての要素をforward_listから* thisに転送します。

42 forward_list :: splice_after 移動バージョン

転送forward_listからすべての要素xとする*この移動セマンティクスを使用します。

43 forward_list :: splice_after 単一要素

転送イテレータによって指さ要素iのforward_listからのx*この

44 forward_list :: splice_after 単一要素移動バージョン

転送イテレータによって指さ要素iのforward_listからのx*この移動のセマンティクスを使用することによって。

45 forward_list :: splice_after 範囲バージョン

最初から最後までの範囲の要素をxから* thisに転送します。

46 forward_list ::スプライス 範囲と移動バージョン

移動セマンティクスを使用して、最初から最後までの範囲の要素をxから* thisに転送します。

47 forward_list :: swap

取引所別forward_listの内容とforward_listの内容のx

48 forward_list :: unique

連続するすべての重複要素をforward_listから削除します。

49 forward_list :: unique

連続するすべての重複要素をforward_listから削除します。

非メンバーのオーバーロードされた関数

シニア番号 方法と説明
1 演算子==

2つのforward_listが等しいかどうかをテストします。

2 演算子!=

2つのforward_listが等しいかどうかをテストします。

3 演算子<

最初のforward_listが他よりも小さいかどうかをテストします。

4 演算子<=

最初のforward_listがother以下であるかどうかをテストします。

5 演算子>

最初のforward_listが他よりも大きいかどうかをテストします。

6 演算子> =

最初のforward_listがother以上であるかどうかをテストします。

7 スワップ

2つのforward_listの内容を交換します。