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
XIDs 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 anXAssocTableoperation.XAssocTableimposes no restrictions on the number ofXIDs per table, the number ofXIDs 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
XAssocTables 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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access