VistaIOInsertAttr(3)

add an attribute to a list

Section 3 libvistaio-dev bookworm source

Description

VistaIOInsertAttr

NAME

VistaIOInsertAttr, VistaIOAppendAttr, VistaIOPrependAttr - add an attribute to a list

SYNOPSIS

void VistaIOInsertAttr (posn, after, name, dict, repn, value)

VistaIOAttrListPosn *posn;
VistaIOBoolean
after;
VistaIOStringConst
name;
VistaIODictEntry *
dict;
VistaIORepnKind
repn;
type value
;

void VistaIOAppendAttr (list, name, dict, repn, value)

VistaIOAttrList list;
VistaIOStringConst
name;
VistaIODictEntry *
dict;
VistaIORepnKind
repn;
type value
;

void VistaIOPrependAttr (list, name, dict, repn, value)

VistaIOAttrList list;
VistaIOStringConst
name;
VistaIODictEntry *
dict;
VistaIORepnKind
repn;
type value
;

where type is VistaIOBit, VistaIOUByte, VistaIOSByte, VistaIOShort, VistaIOLong, VistaIOFloat, VistaIODouble, VistaIOAttrList, VistaIOBoolean, VistaIOBundle, VistaIOList, VistaIOPointer, VistaIOString, VistaIOEdges, VistaIOImage, etc.

ARGUMENTS

posn

Specifies the attribute list position at which a new attribute is to be inserted.

after

Specifies whether a new attribute is to be inserted before posn (FALSE) or after posn (TRUE).

list

Specifies the attribute list to which a new attribute is to be appended or prepended.

name

Specifies a name for the new attribute.

dict

May specify a dictionary to be used in translating the value supplied to a keyword that should be stored as the attribute’s value, or it may be NULL

repn

Specifies the representation of the new attribute value.

value

Specifies the new attribute value.

DESCRIPTION

These routines provide three ways of adding a new attribute to an attribute list:

VistaIOInsertAttr inserts the new attribute immediately before or after the existing attribute specified by posn.

VistaIOAppendAttr places the new attribute at the end of list.

VistaIOPrependAttr places the new attribute at the beginning of list.

With the dict argument you can provide a dictionary for mapping value to a keyword that will be stored as the attribute’s value (see VistaIOdictionary(3)). For example, if you pass an attribute value of 1 and a dictionary that associates the value 1 with the keyword ubyte (as the dictionaryVistaIORepnDict does), then the string ubyte will be stored as the attribute’s value. Dictionaries may be used to map both numeric values and strings to keywords. If you supply a dictionary but value is not mentioned in that dictionary, then value itself will be stored with the attribute.

If value is a number or a character string, the routine makes its own copy of the value as a character string for storing in the attribute. If, on the other hand, value is an attribute list, pointer, image, edge set, etc., then the routine stores a pointer in the attribute but it does not make a copy of the object pointed to.

RETURN VALUES

As a side effect, these routines modify the attribute list referred to by list or posn.

SEE ALSO

VistaIOSetAttr(3), VistaIOSetAttrValue(3),
VistaIOattribute
(3), VistaIOdictionary(3),

AUTHOR

Art Pope <pope@cs.ubc.ca>

Adaption to vistaio: Gert Wollny <gw.fossdev@gmail.com>