Next: Data Type Specific List Front Functions, Previous: List Traversal Functions, Up: The List Library [Index]

<type> l_b_<type-name>(list l, integer p, <type> d);

is the data in the *p* position in the *l* list, as replaced by the
function with a reference to the *d* data (the types of the replaced and
replacing data do not have to match, the function applies only to data types
allowing for multiple references)

See Referable Objects.

<type> l_e_<type-name>(<type> &d, list l, integer p);

is the data in the *p* position in the *l* list, sets *d* as the
same data (assumed of the <type> data type) and removes it from the list

<type> l_ec_<type-name>(<type> &d, list l, integer p);

is the data in the *p* position in the *l* list, sets *d* as the
same data and removes it from the list. Like the *l_e_** functions, with
some implicit conversions performed for mismatching types.

<type> l_g_<type-name>(<type> &d, list l, integer p);

is the data in the *p* position in the *l* list, sets *d* as the
same (data is linked if allowed, copied otherwise, data assumed of the <type>
data type)

<type> l_gc_<type-name>(<type> &d, list l, integer p);

is the data in the *p* position in the *l* list, sets *d* as the
same. Like the *l_g_** functions, with some implicit conversions
performed for mismatching types. Data is linked if type allowed, copied
otherwise.

integer l_j_<type-name>(<type> &d, list l, integer p);

is 0 if the *l* list is too short for a *p* position or if the data
in the *p* position is not of the <type> data type, non zero otherwise.
Sets *d* as the data in the *p* position for the latter case (links
data if the data type allows, copies it otherwise).

void l_l_<type-name>(list l, integer p, <type> d);

inserts a reference to the *d* data in the *p* position in the
*l* list (the function applies only to data types allowing for multiple
references)

See Referable Objects.

<type> l_n_<type-name>(list l, integer p);

is (new) data of the <type> data type and some <type> data type specific
default value in the *p* position in the *l* list (data is created by
the function call)

integer l_o_<type-name>(<type> &d, list l, integer p);

is 0 if the *l* list is too short for a *p* position or if the data
in the *p* position is not of the <type> data type, non zero otherwise.
Sets *d* as the data in the *p* position for the latter case and
removes it from the list.

void l_p_<type-name>(list l, integer p, <type> d);

inserts data of the <type> data type and *d* value in the *p*
position in the *l* list

void l_pn_<type-name>(list l, integer p, integer n, <type> d);

inserts data of the <type> data type and *d* value, *n* times, in the
*p* position in the *l* list (<type> is a numerical type)

<type> l_q_<type-name>(list l, integer p);

is the data in the *p* position in the *l* list (assumed of the
<type> data type)

<type> l_qc_<type-name>(list l, integer p);

is the data in the *p* position in the *l* list. Like the
*l_q_** functions, with some implicit conversions performed for
mismatching types.

<type> l_r_<type-name>(list l, integer p, <type> d);

is the data in the *p* position in the *l* list, as replaced by the
function with data of the <type> data type and *d* value (the types of the
replaced and replacing data do not have to match)

integer l_s_<type-name>(list l, integer p);

is non zero if the data in the *p* position in the *l* list is of the
<type> data type, zero if it is not

<type> l_x_<type-name>(list l, integer p);

is the data in the *p* position in the *l* list (assumed of the
<type> data type), the data is removed from the list

<type> l_xc_<type-name>(list l, integer p);

is the data in the *p* position in the *l* list, the data is removed
from the list. Like the *l_x_** functions, with some implicit conversions
performed for mismatching types.