# Copyright (c) 1990 The Regents of the University of California. # Copyright (c) 1994-1996 Sun Microsystems, Inc. # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # =head1 NAME Tk_GetUid, Tk_Uid - convert from string to unique identifier =for category C Programming =head1 SYNOPSIS B<#include Etk.hE> B<#typedef char *Tk_Uid> Tk_Uid B(I) =head1 ARGUMENTS =over 4 =item char *string (in) String for which the corresponding unique identifier is desired. =back =head1 DESCRIPTION B returns the unique identifier corresponding to I. 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 B is called twice, once with string I and once with string I, and if I and I have the same string value (strcmp(a, b) == 0), then B 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 B. In addition, the return value from B will have the same string value as its argument (strcmp(Tk_GetUid(a), a) == 0). =head1 KEYWORDS atom, unique identifier