B.2 Association Tables
Association tables provide a fast lookup table for data that must be searched frequently. They are implemented as a linked list of structures. To use these functions, you must link in -loldX, the X10 compatibility library.
Association tables associate arbitrary information with resource IDs. This is similar to the context manager, but the resource IDs used with association tables are existing resources, not created for the purpose of storing data for later retrieval.
An XAssocTable
can be used to type X resources.
For example, the user may wish to have three or four “types” of windows,
each with different properties. This can be accomplished by associating
each X window ID with a pointer to a window property data structure
defined by the programmer. The generic type for resource IDs is
XID
.
There are a few guidelines that should be observed when using an
XAssocTable
:
All
XID
s are relative to the currently active display. Therefore, if you are using multiple displays, you need to be sure the correct display is active before performing anXAssocTable
operation.XAssocTable
imposes no restrictions on the number ofXID
s per table, the number ofXID
s per display, or the number of displays per table.Because of the hashing scheme used by the association mechanism, the following rules for determining the size of
XAssocTable
s should be followed. Associations will be made and looked up more efficiently if the table size (number of buckets in the hashing system) is a power ...
Get XLIB Programming Manual, Rel. 5, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.