buildnames
buildnames |
Purpose
Generate entities names for a given set of types.
Synopsis
int buildnames(XPRMcontext ctx, int nbt, int *types, int (**flts)(XPRMcontext ctx, void *ctf, int type, void *ref), int (**snms)(XPRMcontext ctx, void *ctf, int type, void *ref, const char *name), void **ctfs);
Arguments
ctx
|
Mosel's execution context
|
nbt
|
Number of types to look for
|
types
|
Types to consider (must be referenced types like
XPRM_TYP_LINCTR or any module type)
|
flts
|
Filter functions to select for which entities a name has to be generated (one for each type)
|
snms
|
Functions to record the generated names (one for each type)
|
ctfs
|
Function contexts (one for each type)
|
Return value
0 if successful,
1 in case of error
Further information
1. This routine enumerates the symbols of the model dictionary to locate the entities of the selected types (both direct references and arrays). For each of the found entities, it generates a name based on the dictionary identifier that it passes back to the caller through one of the
snms functions.
2. The parameters
types,
flts,
snms and
ctfs are arrays of size
nbt: they characterise what types to look for and how to process them. The function
flts(t) is called each time an entity of type
types(t) has been found. It is provided with some specific context,
ctfs(t), the type number of the entity,
types(t), and its reference.
buildnames will generate a name for this entity only if this function returns a non-zero value. This identifier will then be passed to
snms(t). The process is aborted if this function returns a non-zero value.