udbListReferenceFilter

Description

Filter the specified list of references, using the reference kinds and/or the entity kinds specified, and return a new allocated array of references. If unique is specified, the newrefs array will only contain the first reference for each unique entity.

Call udbListReferenceFree() to free this list.

Syntax

#include “udb/udb.h” 
void  udbListReferenceFilter(UdbReference *refs, 
                             UdbKindList refkinds,
                             UdbKindList entkinds, 
                             int unique,
                             UdbReference **newrefs, 
                             int *items) 

Arguments

Argument
Description
UdbReference *refs
Original list of references; non-allocated.
UdbKindList refkinds
If not NULL, reference kinds to filter; allocated.
UdbKindList entkinds
If not NULL, entity kinds to filter; allocated.
int unique
If specified, only one reference per unique entity is returned
UdbReference **newrefs
Return allocated array of references.
int *items
If not NULL, return size of newrefs array.

Return Values

There are no function return values.

Example Usage

This example filters an existing list of reference to include only those references where there is an active callby or useby reference, or where the entity is declared or defined.

udbListReferenceFilter(refs,
        udbKindParse("callby 
~inactive,declarein,definein, useby ~inactive"),
         NULL, 0, &xrefs, &items); 

See Also

udbListReference

udbListReferenceFree

udbListEntityFilter


Scientific Toolworks, Inc.
http://www.scitools.com