INSQUE(3) | Linux Programmer's Manual | INSQUE(3) |
名前¶
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 と libc5 は <stdlib.h> にプロトタイプを置いている。
2008-07-11 |