XrmUniqueQuark(3X11)

名前
XrmUniqueQuark, XrmStringToQuark, XrmPermStringToQuark, XrmQuarkToString, XrmStringToQuarkList, XrmStringToBindingQuarkList - リソースのクォークの操作

書式
XrmQuark XrmUniqueQuark()

#define XrmStringToName(string) XrmStringToQuark(string) #define XrmStringToClass(string) XrmStringToQuark(string) #define XrmStringToRepresentation(string) XrmStringToQuark(string)

XrmQuark XrmStringToQuark(string)
     char *string;

XrmQuark XrmPermStringToQuark(string)
     char *string;

#define XrmStringToName(string) XrmStringToQuark(string) #define XrmStringToClass(string) XrmStringToQuark(string) #define XrmStringToRepresentation(string) XrmStringToQuark(string)

XrmQuark XrmStringToQuark(string)
     char *string;

XrmQuark XrmPermStringToQuark(string)
     char *string;

#define XrmNameToString(name) XrmQuarkToString(name) #define XrmClassToString(class) XrmQuarkToString(class) #define XrmRepresentationToString(type) XrmQuarkToString(type)

char *XrmQuarkToString(quark)
     XrmQuark quark;

#define XrmStringToNameList(str, name) XrmStringToQuarkList((str), (name)) #define XrmStringToClassList(str,class) XrmStringToQuarkList((str), (class))

void XrmStringToQuarkList(string, quarks_return)
     char *string;
     XrmQuarkList quarks_return;

XrmStringToBindingQuarkList(string, bindings_return, quarks_return)
     char *string;
     XrmBindingList bindings_return;
     XrmQuarkList quarks_return;

引き数

bindings_return
    関連づけのリストが返される。

quark
    等価な文字列を求める対象のクォークを指定。

quarks_return
    クォークのリストが返される。

string
    アロケートされるクォークかクォークのリストに対する文字列を指定。

説明
関数 は、リソースマネージャが認識しているどの文字列も表さないことが保証され るクォークをアロケートする。

これらの関数は、文字列をクォーク表現に変換するために使うことができる。 文字列のエンコーディングがホストポータブル文字エンコーディングでない場 合、 変換の動作は実装に依存する。 に渡す引き数 string は、ずっとアロケートされたままの領域である必要はない。 関数 は とほぼ同じであるが、Xlib が引き数 string がアロケートされたままの領域で あることを想定してもよい点が異なる。したがって、引き数 string は が返す値として使うことができる。

与えられたクォークについて、 が NULL でない値を返した場合、それ以降の全ての関数呼び出しに対して同じ 値(同一のアドレス)が返される。

これらの関数は、クォーク表現を文字列に変換するために使うことができる。 関数の返し値が指す文字列は、変更や解放をしてはならない。 返される文字列は、文字列をクォークに変換する関数がに渡された元の文字列 とバイト単位で等しい。 そのクォークに対する文字列が存在しない場合、 は NULL を返す。 与えられたクォークに対して が NULL でない値を返した場合、それ以降の全ての関数呼び出しに対して同じ 値(同一のアドレス)が返される。

これらの関数は、文字列のクォーク表現への変換に使うことができる。 文字列のエンコーディングがホストポータブル文字エンコーディングでない場 合、 変換の動作は実装依存である。 に渡す引き数 string は、ずっとアロケートされたままの領域である必要はない。 関数 は とほぼ同じであるが、Xlib が引き数 string がアロケートされたままの領域で あることを想定してもよい点が異なる。したがって、この関数では引き数 string を に返される値として使うことができる。

与えられたクォークについて、 が NULL でない値を返した場合、それ以降の全ての関数呼び出しに対して同じ 値(同一のアドレス)が返される。

関数 は NULL で終わる文字列(一般的には完全に限定された名前)をクォークのリス トに変換する。 この文字列は有効な ResourceName 形式でなければならない(15.1章参照)。 この文字列のエンコーディングがホストポータブル文字エンコーディングでな い場合、変換の動作は実装依存である。

関連づけリストは、 型であり、クラスや名前のリストの要素が強くあるいは緩く関連づけされてい る(つまり、ワールドカードを使った中間要素が指定されている)ことを示す。

typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;

は、ピリオドが要素を区切っていること示す。また、 は、アスタリスクが要素を区切っていることを示す。

関数 は、指定した文字列を関連づけリストとクォークのリストに変換する。 文字列のエンコーディングがホストポータブル文字エンコーディングでない場 合、変換の動作は実装依存である。 リストが含む要素名は、ピリオドかアスタリスクで区切られている。 文字列の最初の文字がピリオドかアスタリスクではない場合は、ピリオドであ るものとして扱われる。 例えば、``*a.b*c'' は次のようになる:

クォーク    a    b    c
関連づけ    緩い    強い    緩い

関連項目
XrmGetResource(3X11), XrmInitialize(3X11), XrmMergeDatabases(3X11), XrmPutResource(3X11)
Xlib - C Language X Interface