next up previous contents
Next: Recursive Lists Up: Generic Lists Previous: Property Lists   Contents

Tina Strings

A doubly connected list indexed by its start and end is referred to as a Tstring (tina string).

typedef struct tstring /* defining arbitary strings */
{
    Ts_id ts_id;                /* Tina structure identifier */
    int type;
    struct ddlist *start;
    struct ddlist *end;
    int count;
    struct list *props; /* user definable properties */
} Tstring;

The property list field props is included in the string as they are often used to represent physical events (notably edge and poly strings used to represent image features and geometry recovered from them in both 2D and 3D). The string is defined between start and end inclusive (hence neither start nor end can be defined as NULL). The integer field count is the number of elements in the string. The type field refers to the general nature of string in question rather than to the individual idems referenced by it whose type may vary (as indicated by the type fields of the individual Ddlist elements).

Generic string manipulation functions are prefixed str_ and additional Ddlist functions that take both the start and end of a string as parameters are prefixed ddstr_.

Note that a string can be defined within a more extensively connected section of Ddlist structures, hence the fields last of start and next of end need not be NULL.


next up previous contents
Next: Recursive Lists Up: Generic Lists Previous: Property Lists   Contents
root 2017-11-18