insque

Autres langues

Langue: ja

Version: 2007-07-26 (fedora - 25/11/07)

Section: 3 (Bibliothèques de fonctions)

名前

insque, remque - キューにアイテムを挿入/削除する

書式

 #include <search.h>
 
 void insque(void *elem, void *prev);
 void remque(void *elem);
 

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

insque(), remque(): _SVID_SOURCE || _XOPEN_SOURCE >= 500

説明

insque() と remque() は双方向連結リスト (doubly-linked list) を操作する関数である。 リスト中のそれぞれの要素は、最初の二つの構造体要素が 次と前へのポインタであるような構造体である。

insque() は elem で示される要素を prev で示される 要素の直後に挿入する。 prev は NULL であってはならない。

remque() は elem で示される要素を双方向連結リストから取り除く。

準拠

POSIX.1-2001

注意

伝統的に (SunOS, Linux libc 4,5 では) これらの関数の引数は struct qelem *型であり、これは以下のように定義されている。
 struct qelem {
     struct qelem *q_forw;
     struct qelem *q_back;
     char          q_data[1];
 };
 

この定義は <search.h> をインクルードする前に _GNU_SOURCE を定義することで得られる。

これらの関数のプロトタイプの置かれる場所は、 UNIX の種類により異なる。 上記は POSIX 版である。 <string.h> にあるシステムもある。 Linux libc4,5 は <stdlib.h> にプロトタイプを置いている。