vt_enlarge 3 2016-02-28 genvector manual


vt_enlarge - enlarge a vector to the size specified


int vt_enlarge(vt_t *vect, vt_size_t idx)


vt_enlarge calls vt_resize to enlarge a vector so that element idx exists. If the vector is already large enough, nothing happens and 0 is returned. Else the new element is always created (initialized, see vt_init_elem(7) or constructed, see vt_construction(7)).

Implicit element initialization: when idx is more than one element beyond the end of the vector, there are multiple new elements need to be created; they are also initialized and/or constructed. Such elements are called 'implicit' because they are added to the vector as a side effect of the enlarge operation.

If the vector is terminated (see vt_term(7)), after creating the new element, a terminator is placed behind it; the previous terminator is already overallocated and overwritten during the implicit element initialization.

Note: vt_t and the vt_ prefix are type-dependant, see vt_t(7).

vect A vector already initialized using vt_init.
idx The element index of which the vector should be longer than.


Returns 0 on success or -1 on error. Error conditions include memory allocation failure or construction failure.


vt_enlarge 3 2016-02-28 genvector manual