'\" '\" Copyright 1990 Regents of the University of California '\" Permission to use, copy, modify, and distribute this '\" documentation for any purpose and without fee is hereby '\" granted, provided that this notice appears in all copies. '\" The University of California makes no representations about '\" the suitability of this material for any purpose. It is '\" provided "as is" without express or implied warranty. '\" '\" $Header: /a/cvs/386BSD/ports/tk/doc/GetUid.3,v 1.1.1.1 1993/08/09 01:21:01 jkh Exp $ SPRITE (Berkeley) '\" .so man.macros .HS Tk_GetUid tk .BS .SH NAME Tk_GetUid, Tk_Uid \- convert from string to unique identifier .SH SYNOPSIS .nf \fB#include \fR .sp \fB#typedef char *Tk_Uid\fR .sp Tk_Uid \fBTk_GetUid\fR(\fIstring\fR) .SH ARGUMENTS .AP char *string in String for which the corresponding unique identifer is desired. .BE .SH DESCRIPTION .PP \fBTk_GetUid\fR returns the unique identifier corresponding to \fIstring\fR. Unique identifiers are similar to atoms in Lisp, and are used in Tk to speed up comparisons and searches. A unique identifier (type Tk_Uid) is a string pointer and may be used anywhere that a variable of type ``char *'' could be used. However, there is guaranteed to be exactly one unique identifier for any given string value. If \fBTk_GetUid\fR is called twice, once with string \fIa\fR and once with string \fIb\fR, and if \fIa\fR and \fIb\fR have the same string value (strcmp(a, b) == 0), then \fBTk_GetUid\fR will return exactly the same Tk_Uid value for each call (Tk_GetUid(a) == Tk_GetUid(b)). This means that variables of type Tk_Uid may be compared directly (x == y) without having to call \fBstrcmp\fR. In addition, the return value from \fBTk_GetUid\fR will have the same string value as its argument (strcmp(Tk_GetUid(a), a) == 0). .SH KEYWORDS atom, unique identifier