本リファレンスでは、図中黄色のF_DLIST_ELEM構造体のインスタンスを「要素」、 図中緑色の各要素が持つデータを「データ」と表現します。 本関数群でメモリ操作されるのは、要素のみであり、それぞれが持つデータに関しては 操作されません。従って、リストに要素を追加したり、削除したりする場合は、 それがもつデータをユーザー側が管理をしなければいけません。
本関数群には、リストと要素を入力し、要素を基にリストを操作する関数も提供されていますが、 リストと要素の整合性についてはチェックされません(速度重視のため)。 そのため、要素とリストの整合性については、ユーザー側が管理・保障する必要があります。
fnFIE_dlist_find_listelem_idx() を使用すると、指定した要素がリストに対して有効で あるかどうかの確認ができます。
データ構造 | |
struct | F_DLIST_ELEM |
双方向リスト要素 [詳細] | |
関数 | |
INT FVALGAPI | fnFIE_dlist_push_back (F_DLIST_ELEM **listtop, VOID *p) |
末尾に追加 | |
VOID *FVALGAPI | fnFIE_dlist_pop_back (F_DLIST_ELEM **listtop) |
末尾の要素を取り出して削除 | |
INT FVALGAPI | fnFIE_dlist_push_front (F_DLIST_ELEM **listtop, VOID *p) |
先頭に追加 | |
VOID *FVALGAPI | fnFIE_dlist_pop_front (F_DLIST_ELEM **listtop) |
先頭から要素を取り出して削除 | |
INT FVALGAPI | fnFIE_dlist_findit (F_DLIST_ELEM **listtop, const VOID *p) |
*pを持つ要素の番号を取得 | |
INT FVALGAPI | fnFIE_dlist_erase (F_DLIST_ELEM **listtop, INT idx) |
idx番目の要素を削除 | |
VOID FVALGAPI | fnFIE_dlist_clear (F_DLIST_ELEM **listtop) |
要素を全部削除 | |
INT FVALGAPI | fnFIE_dlist_get_sz (F_DLIST_ELEM **listtop) |
リストのサイズを取得 | |
VOID *FVALGAPI | fnFIE_dlist_getat (F_DLIST_ELEM **listtop, INT idx) |
idx番目のデータを取得 | |
F_DLIST_ELEM *FVALGAPI | fnFIE_dlist_get_listelem (F_DLIST_ELEM **listtop, INT idx) |
idx番目の要素を取得 | |
F_DLIST_ELEM *FVALGAPI | fnFIE_dlist_get_tail_listelem (F_DLIST_ELEM **listtop) |
リスト末尾の要素を取得 | |
INT FVALGAPI | fnFIE_dlist_insert_after (F_DLIST_ELEM *listelem, VOID *p) |
指定した要素の直後に新たな要素を挿入 | |
INT FVALGAPI | fnFIE_dlist_insert_before (F_DLIST_ELEM **listtop, F_DLIST_ELEM *listelem, VOID *p) |
指定した要素の直前に新たな要素を挿入 | |
INT FVALGAPI | fnFIE_dlist_remove_after (F_DLIST_ELEM *listelem) |
指定した要素の直後の要素を削除 | |
INT FVALGAPI | fnFIE_dlist_remove_before (F_DLIST_ELEM **listtop, F_DLIST_ELEM *listelem) |
指定した要素の直前の要素を削除 | |
INT FVALGAPI | fnFIE_dlist_remove_all_after (F_DLIST_ELEM *listelem) |
指定した要素の後にある要素全てを削除 | |
INT FVALGAPI | fnFIE_dlist_remove_all_before (F_DLIST_ELEM **listtop, F_DLIST_ELEM *listelem) |
指定した要素の前にある要素全てを削除 | |
INT FVALGAPI | fnFIE_dlist_remove_non_designated (F_DLIST_ELEM **listtop, F_DLIST_ELEM *listelem) |
指定した要素以外を削除 | |
INT FVALGAPI | fnFIE_dlist_remove (F_DLIST_ELEM **listtop, F_DLIST_ELEM *listelem) |
指定した要素を削除 | |
INT FVALGAPI | fnFIE_dlist_find_listelem_idx (F_DLIST_ELEM **listtop, F_DLIST_ELEM *listelem) |
指定した要素の要素番号を取得 |
INT FVALGAPI fnFIE_dlist_push_back | ( | F_DLIST_ELEM ** | listtop, | |
VOID * | p | |||
) |
末尾に追加
[in] | listtop | リスト先頭 |
[in] | p | 追加するデータのポインタ |
F_ERR_NONE | 正常終了 | |
F_ERR_NOMEMORY | メモリ不足エラー | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
VOID* FVALGAPI fnFIE_dlist_pop_back | ( | F_DLIST_ELEM ** | listtop | ) |
末尾の要素を取り出して削除
[in] | listtop | リスト先頭 |
INT FVALGAPI fnFIE_dlist_push_front | ( | F_DLIST_ELEM ** | listtop, | |
VOID * | p | |||
) |
先頭に追加
[in] | listtop | リスト先頭 |
[in] | p | 追加するデータのポインタ |
F_ERR_NONE | 正常終了 | |
F_ERR_NOMEMORY | メモリ不足エラー | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
VOID* FVALGAPI fnFIE_dlist_pop_front | ( | F_DLIST_ELEM ** | listtop | ) |
先頭から要素を取り出して削除
[in] | listtop | リスト先頭 |
INT FVALGAPI fnFIE_dlist_findit | ( | F_DLIST_ELEM ** | listtop, | |
const VOID * | p | |||
) |
*pを持つ要素の番号を取得
[in] | listtop | リスト先頭 |
[in] | p | 探し出すデータのアドレス |
INT FVALGAPI fnFIE_dlist_erase | ( | F_DLIST_ELEM ** | listtop, | |
INT | idx | |||
) |
idx番目の要素を削除
[in] | listtop | リスト先頭 |
[in] | idx | 削除する要素番号 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
VOID FVALGAPI fnFIE_dlist_clear | ( | F_DLIST_ELEM ** | listtop | ) |
要素を全部削除
[in] | listtop | リスト先頭 |
INT FVALGAPI fnFIE_dlist_get_sz | ( | F_DLIST_ELEM ** | listtop | ) |
リストのサイズを取得
[in] | listtop | リスト先頭 |
VOID* FVALGAPI fnFIE_dlist_getat | ( | F_DLIST_ELEM ** | listtop, | |
INT | idx | |||
) |
idx番目のデータを取得
[in] | listtop | リスト先頭 |
[in] | idx | 取得する要素の番号 |
F_DLIST_ELEM* FVALGAPI fnFIE_dlist_get_listelem | ( | F_DLIST_ELEM ** | listtop, | |
INT | idx | |||
) |
idx番目の要素を取得
[in] | listtop | リスト先頭 |
[in] | idx | 取得する要素の番号 |
F_DLIST_ELEM* FVALGAPI fnFIE_dlist_get_tail_listelem | ( | F_DLIST_ELEM ** | listtop | ) |
リスト末尾の要素を取得
[in] | listtop | リスト先頭 |
INT FVALGAPI fnFIE_dlist_insert_after | ( | F_DLIST_ELEM * | listelem, | |
VOID * | p | |||
) |
指定した要素の直後に新たな要素を挿入
listelem に指定された要素の直後に新たな要素を追加します。
[in] | listelem | 指定した要素 |
[in] | p | 挿入するデータのポインタ |
F_ERR_NONE | 正常終了 | |
F_ERR_NOMEMORY | メモリ不足エラー | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
INT FVALGAPI fnFIE_dlist_insert_before | ( | F_DLIST_ELEM ** | listtop, | |
F_DLIST_ELEM * | listelem, | |||
VOID * | p | |||
) |
指定した要素の直前に新たな要素を挿入
listelem に指定された要素の直前に新たな要素を追加します。
[in] | listtop | リスト先頭 |
[in] | listelem | 指定した要素 |
[in] | p | 挿入するデータのポインタ |
F_ERR_NONE | 正常終了 | |
F_ERR_NOMEMORY | メモリ不足エラー | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
INT FVALGAPI fnFIE_dlist_remove_after | ( | F_DLIST_ELEM * | listelem | ) |
指定した要素の直後の要素を削除
listelem に指定された要素の直後の要素を削除します。
[in] | listelem | 指定した要素 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
INT FVALGAPI fnFIE_dlist_remove_before | ( | F_DLIST_ELEM ** | listtop, | |
F_DLIST_ELEM * | listelem | |||
) |
指定した要素の直前の要素を削除
listelem に指定された要素の直前の要素を削除します。
[in] | listtop | リスト先頭 |
[in] | listelem | 指定した要素 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
INT FVALGAPI fnFIE_dlist_remove_all_after | ( | F_DLIST_ELEM * | listelem | ) |
指定した要素の後にある要素全てを削除
listelem に指定された要素の後にある要素を全て削除します。
[in] | listelem | 指定した要素 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
INT FVALGAPI fnFIE_dlist_remove_all_before | ( | F_DLIST_ELEM ** | listtop, | |
F_DLIST_ELEM * | listelem | |||
) |
指定した要素の前にある要素全てを削除
listelem に指定された要素の前にある要素を全て削除します。
[in] | listtop | リスト先頭 |
[in] | listelem | 指定した要素 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
INT FVALGAPI fnFIE_dlist_remove_non_designated | ( | F_DLIST_ELEM ** | listtop, | |
F_DLIST_ELEM * | listelem | |||
) |
指定した要素以外を削除
listelem に指定された要素以外の要素を全て削除します。
[in] | listtop | リスト先頭 |
[in] | listelem | 指定した要素 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
INT FVALGAPI fnFIE_dlist_remove | ( | F_DLIST_ELEM ** | listtop, | |
F_DLIST_ELEM * | listelem | |||
) |
指定した要素を削除
listelem に指定された要素を削除します。
[in] | listtop | リスト先頭 |
[in] | listelem | 指定した要素 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | パラメータ不正のため異常終了 |
INT FVALGAPI fnFIE_dlist_find_listelem_idx | ( | F_DLIST_ELEM ** | listtop, | |
F_DLIST_ELEM * | listelem | |||
) |
指定した要素の要素番号を取得
[in] | listtop | リスト先頭 |
[in] | listelem | 指定した要素 |