#include <csvector.h>
Inheritance diagram for csVector:

Public Methods | |
| csVector (int ilimit=8, int ithreshold=16) | |
| Initialize object to hold initially 'ilimit' elements, and increase storage by 'ithreshold' each time the upper bound is exceeded. | |
| virtual | ~csVector () |
| Destroy the vector object. | |
| int | FindKey (csConstSome Key, int Mode=0) const |
| Find a element by key (using CompareKey method). | |
| int | FindSortedKey (csConstSome Key, int Mode=0) const |
| Find a element in a SORTED array by key (using CompareKey method). | |
| void | QuickSort (int Left, int Right, int Mode=0) |
| Partially sort the array. | |
| void | QuickSort (int Mode=0) |
| Same but for all elements. | |
| bool | Delete (int n, bool FreeIt=true) |
| Delete element number 'n' from vector. | |
| bool | Delete (csSome Item, bool FreeIt=true) |
| Delete the given element from vector. | |
| bool | Replace (int n, csSome what, bool FreePrevious=true) |
| Replace n-th item with another (free previous value). | |
| void | DeleteAll (bool FreeThem=true) |
| Delete all elements. | |
| int | InsertSorted (csSome Item, int *oEqual=NULL, int Mode=0) |
| Insert element 'Item' so that array remains sorted (assumes its already). | |
| virtual bool | FreeItem (csSome Item) |
| Virtual function which frees a vector element; returns success status. | |
| virtual int | Compare (csSome Item1, csSome Item2, int Mode) const |
| Compare two array elements in given Mode. | |
| virtual int | CompareKey (csSome Item, csConstSome Key, int Mode) const |
| Compare entry with a key; for csVector just compare (int)Key vs (int)Item. | |
Since this is a basic object, it does not presume anything about its elements, so FreeItem() is effectively a no-op. If you want vector elements to free automatically occupied memory upon vector destruction you should create a derived class which should provide its own FreeItem() method (see csStrVector for a example).
Note that FreeItem() returns a boolean value which is the success status. This is used in Delete() and DeleteAll() to decide whenever an element can be really deleted - if the element has a good reason to stay 'sticky' it can return false from FreeItem().