man m17nSymbol () - Symbol objects and API for them.
NAME
Symbol - Symbol objects and API for them.
Typedefs
typedef MSymbolStruct * MSymbol
Type of symbols.
Functions
MSymbol msymbol (const char *name)
Get a symbol.
MSymbol msymbol_as_managing_key (const char *name)
Create a managing key.
MSymbol msymbol_exist (const char *name)
Search for a symbol that has a specified name.
char * msymbol_name (MSymbol symbol)
Get symbol name.
int msymbol_put (MSymbol symbol, MSymbol key, void *val)
Set the value of a symbol property.
void * msymbol_get (MSymbol symbol, MSymbol key)
Get the value of a symbol property.
Variables
MSymbol Mnil
Symbol whose name is 'nil'.
MSymbol Mt
Symbol whose name is 't'.
MSymbol Mstring
Symbol whose name is 'string'.
MSymbol Msymbol
Symbol whose name is 'symbol'.
Detailed Description
The m17n library uses objects called symbols as unambiguous identifiers. Symbols are similar to atoms in the X library, but a symbol can have zero or more symbol properties. A symbol property consists of a key and a value, where key is also a symbol and value is anything that can be cast to (void *). 'The symbol property that belongs to the symbol S and whose key is K' may be shortened to 'K property of S'.
Symbols are used mainly in the following three ways.
- As keys of symbol properties and other properties.
- To represent various objects, e.g. charsets, coding systems, fontsets.
- As arguments of the m17n library functions to control their behavior.
There is a special kind of symbol, a managing key. The value of a property whose key is a managing key must be a managed object. See Managed Object for the detail.
Typedef Documentation
typedef struct MSymbolStruct* MSymbol
The type MSymbol is for a symbol object. Its internal structure is concealed from application programs.
Variable Documentation
MSymbol Mnil
The symbol Mnil has the name 'nil' and, in general, represents false or no. When coerced to 'int', its value is zero. Mnil can't have any symbol property.
MSymbol Mt
The symbol Mt has the name 't' and, in general, represents true or yes.
MSymbol Mstring
The symbol Mstring has the name 'string' and is used as an argument of the functions mchar_define_property(), etc.
MSymbol Msymbol
The symbol Msymbol has the name 'symbol' and is used as an argument of the functions mchar_define_property(), etc.