WrappedList


概要 - Abstract

このモジュール open.data.WrappedList は、リスト型のデータ構造を提供します。

このモジュールでは、リストのデータを保持するジェネリック構造体 WrappedList と、それに対してデータを出し入れするジェネリック関数 add, remove などが提供されます。

なお、この open.data.WrappedList では、要素を DataWrapper 構造体でラッピングして保持する実装になっています。
そのため WrappedListでは、 open.data.List とは異なり、配列を要素として扱う事ができます。

反面、要素の出し入れの際に DataWrapper 構造体へのラッピング処理を伴うため、そのオーバーヘッドの分だけ、List よりも処理が重くなります。
従って、要素が配列でない場合には、WrappedList よりも List の使用が推奨されます。


構造体 - Structs

宣言
- Declaration
struct WrappedList<Type>
詳細
- Description
リスト構造体です。リストのデータを保持します。

変数 - Variables

- なし - None -


関数 - Functions

宣言
- Declaration
void clear<Type>( WrappedList<Type> &list )
詳細
- Description
要素を全て削除します。
引数
- Arguments
list : 対象のリスト構造体
宣言
- Declaration
int size<Type>( WrappedList<Type> &list )
詳細
- Description
使用中のサイズを返します。
引数
- Arguments
list : 対象のリスト構造体
宣言
- Declaration
void add<Type>( WrappedList<Type> &list, Type value )
詳細
- Description
リストの末尾に要素を追加します。
引数
- Arguments
list : 対象のリスト構造体
value : 追加する要素
宣言
- Declaration
Type get<Type>( WrappedList<Type> &list, int index )
詳細
- Description
特定インデックスの要素を取得します。
引数
- Arguments
list : 対象のリスト構造体
index : 取得したい要素のインデックス
戻り値
- Return
指定されたインデックスの要素
宣言
- Declaration
void set<Type>( WrappedList<Type> &list, int index, Type element )
詳細
- Description
特定インデックスの要素を代入します。そのインデックスの位置にあった要素は上書きされます。
引数
- Arguments
list : 対象のリスト構造体
index : 代入したい要素のインデックス
element : 代入する要素
宣言
- Declaration
Type insert<Type>( WrappedList<Type> &list, int index, Type value )
詳細
- Description
特定インデックスに要素を挿入します。そのインデックスの位置にあった要素は、次のインデックスの位置に移動します。また、それ以降の全ての要素も、インデックスが後方に 1 ずつ移動します。
引数
- Arguments
list : 対象のリスト構造体
index : 挿入したい要素のインデックス
element : 挿入する要素
宣言
- Declaration
bool contains<Type>( WrappedList<Type> &list, Type element )
詳細
- Description
リストが指定された要素を含んでいるか判定します。
引数
- Arguments
list : 対象のリスト構造体
element : 含まれるか判定したい要素
宣言
- Declaration
Type removeAt<Type>( WrappedList<Type> &list, int index )
詳細
- Description
特定インデックスの要素を削除します。
引数
- Arguments
list : 対象のリスト構造体
index : 削除したい要素のインデックス
宣言
- Declaration
void remove<Type>( WrappedList<Type> &list, Type element )
詳細
- Description
指定された要素を削除します。複数存在する場合は、最初のものだけが削除されます。
引数
- Arguments
list : 対象のリスト構造体
element : 削除したい要素
宣言
- Declaration
void removeAll<Type>( WrappedList<Type> &list, Type element )
詳細
- Description
指定された要素を全て削除します。
引数
- Arguments
list : 対象のリスト構造体
element : 削除したい要素
宣言
- Declaration
int indexOf<Type>( WrappedList<Type> &list, Type element )
詳細
- Description
指定された要素を、先頭から後方検索し、存在すればそのインデックスを、存在しなければ-1を返します。
引数
- Arguments
list : 対象のリスト構造体
element : 検索したい要素
宣言
- Declaration
int indexOf<Type>( WrappedList<Type> &list, Type element, int from )
詳細
- Description
指定された要素を、指定インデックスの位置から後方検索し、存在すればそのインデックスを、存在しなければ-1を返します。
引数
- Arguments
list : 対象のリスト構造体
element : 削除したい要素
from : 検索開始インデックス
宣言
- Declaration
int lastIndexOf<Type>( WrappedList<Type> &list, Type element )
詳細
- Description
指定された要素を、末尾から前方検索し、存在すればそのインデックスを、存在しなければ-1を返します。
引数
- Arguments
list : 対象のリスト構造体
element : 削除したい要素
宣言
- Declaration
int lastIndexOf<Type>( WrappedList<Type> &list, Type element, int from )
詳細
- Description
指定された要素を、指定インデックスの位置から後方検索し、存在すればそのインデックスを、存在しなければ-1を返します。
引数
- Arguments
list : 対象のリスト構造体
element : 削除したい要素
from : 検索開始インデックス
宣言
- Declaration
void reverse<Type>( WrappedList<Type> &list )
詳細
- Description
リストが保持する全要素の順序を反転させます。
引数
- Arguments
list : 対象のリスト構造体
宣言
- Declaration
DataWrapper<Type>[] toDataWrapperArray<Type>( WrappedList<Type> &list )
詳細
- Description
リストが保持する全要素を、DataWrapper配列に格納して返します。
引数
- Arguments
list : 対象のリスト構造体
戻り値
- Return
リストの全要素をまとめたDataWrapper配列