Lines Matching full:vector

64 /// An integer to shrink the size of a vector by using these instead of size_t.
69 /// An integer to shrink the size of a vector by using these instead of size_t.
80 /// Vector destructor.
119 /// The actual vector struct.
122 /// The vector array itself. This uses a char* because it is compatible with
126 /// The length of the vector, which is how many items actually exist.
129 /// The capacity of the vector, which is how many items can fit in the
133 /// The size of the items in the vector, as returned by sizeof().
142 * Initializes a vector.
143 * @param v The vector to initialize.
151 * Expands the vector to have a capacity of @a req items, if it doesn't have
153 * @param v The vector to expand.
160 * Grow a vector by at least @a n elements.
161 * @param v The vector to grow.
162 * @param n The number of elements to grow the vector by.
168 * Pops @a n items off the back of the vector. The vector must have at least
170 * @param v The vector to pop off of.
177 * Pops @a n items, starting at index @a idx, off the vector. The vector must
180 * @param v The vector to pop off of.
188 * Pushes one item on the back of the vector. It does a memcpy(), but it assumes
189 * that the vector takes ownership of the data.
190 * @param v The vector to push onto.
197 * Pushes @a n items on the back of the vector. It does a memcpy(), but it
198 * assumes that the vector takes ownership of the data.
199 * @param v The vector to push onto.
209 * @param v The vector to push onto.
216 * Pushes a byte onto a bytecode vector. This is a convenience function for the
217 * parsers pushing instructions. The vector must be a bytecode vector.
218 * @param v The vector to push onto.
225 * Pushes and index onto a bytecode vector. The vector must be a bytecode
226 * vector. For more info about why and how this is done, see the development
228 * @param v The vector to push onto.
235 * Push an item onto the vector at a certain index. The index must be valid
236 * (either exists or is equal to the length of the vector). The elements at that
239 * @param v The vector to push onto.
247 * Empties the vector and sets it to the string. The vector must be a valid
248 * vector and must have chars as its elements.
249 * @param v The vector to set to the string.
258 * Appends the string to the end of the vector, which must be holding a string
260 * @param v The vector to append to.
267 * Empties a vector and pushes a nul-byte at the first index. The vector must be
268 * a char vector.
278 * @param v The vector to replace an item on.
288 * Returns a pointer to the item in the vector at the index. This is the key
290 * @param v The vector.
298 * Returns a pointer to the item in the vector at the index, reversed. This is
300 * @param v The vector.
308 * Zeros a vector. The vector must not be allocated.
309 * @param v The vector to clear.
315 * Frees a vector and its elements. This is a destructor.
316 * @param vec A vector as a void pointer.
324 * @param v The map vector to insert into.
339 * @param v The map vector.
351 * @param v The map vector.
361 * Pops one item off of the vector.
362 * @param v The vector to pop one item off of.
367 * Pops all items off of the vector.
368 * @param v The vector to pop all items off of.
373 * Return a pointer to the last item in the vector, or first if it's being
375 * @param v The vector to get the top of stack of.
380 * Initializes a vector to serve as a map.
381 * @param v The vector to initialize.
412 * Initializes a slab vector.
413 * @param v The vector to initialize.
419 * Duplicates the string using slabs in the slab vector.
420 * @param v The slab vector.
422 * @return A pointer to the duplicated string, owned by the slab vector.
428 * Clears a slab vector. This deallocates all but the first slab and clears the
430 * @param v The slab vector to clear.
438 * Prints all of the items in a slab vector, in order.
439 * @param v The vector whose items will be printed.
446 /// A convenience macro for freeing a vector of slabs.