Member Function Documentation
Q3PtrVector::Q3PtrVector ()
Constructs a null vector.
See also isNull().
Q3PtrVector::Q3PtrVector ( uint size )
Constructs an vector with room for size items. Makes a null vector if size == 0.
All size positions in the vector are initialized to 0.
See also size(), resize(), and isNull().
Q3PtrVector::Q3PtrVector ( const Q3PtrVector<type> & v )
Constructs a copy of v. Only the pointers are copied (i.e. shallow copy).
Q3PtrVector::~Q3PtrVector ()
Removes all items from the vector, and destroys the vector itself.
See also clear().
type * Q3PtrVector::at ( uint i ) const
Returns the item at position i, or 0 if there is no item at that position. i must be less than size().
int Q3PtrVector::bsearch ( const type * d ) const
In a sorted array, finds the first occurrence of d using a binary search. For a sorted array, this is generally much faster than find(), which performs a linear search.
Returns the position of d, or -1 if d could not be found. d must not be 0.
Compares items using the virtual function compareItems().
See also sort() and find().
void Q3PtrVector::clear () [virtual]
Reimplemented from Q3PtrCollection::clear().
Removes all items from the vector, and destroys the vector itself.
The vector becomes a null vector.
See also isNull().
This virtual function compares two list items.
Returns:
- zero if d1 == d2
- nonzero if d1 != d2
This function returns int rather than bool so that reimplementations can return one of three values and use it to sort by:
- 0 if d1 == d2
- > 0 (positive integer) if d1 > d2
- < 0 (negative integer) if d1 < d2
The sort() and bsearch() functions require compareItems() to be implemented as described here.
This function should not modify the vector because some const functions call compareItems().
uint Q3PtrVector::contains ( const type * d ) const
Returns the number of occurrences of item d in the vector.
Compares items using the virtual function compareItems().
See also containsRef().
uint Q3PtrVector::containsRef ( const type * d ) const
Returns the number of occurrences of the item pointer d in the vector.
This function does not use compareItems() to compare items.
See also findRef().
uint Q3PtrVector::count () const [virtual]
Reimplemented from Q3PtrCollection::count().
Returns the number of items in the vector. The vector is empty if count() == 0.
See also isEmpty(), size(), and isNull().
type ** Q3PtrVector::data () const
Returns a pointer to the actual vector data, which is an array of type*.
The vector is a null vector if data() == 0 (null pointer).
See also isNull().
bool Q3PtrVector::fill ( const type * d, int size = -1 )
Inserts item d in all positions in the vector. Any existing items are removed. If d is 0, the vector becomes empty.
If size >= 0, the vector is first resized to size. By default, size is -1.
Returns true if successful, i.e. size is the same as the current size, or size is larger and the memory has successfully been allocated; otherwise returns false.
See also resize(), insert(), and isEmpty().
int Q3PtrVector::find ( const type * d, uint i = 0 ) const
Finds the first occurrence of item d in the vector using a linear search. The search starts at position i, which must be less than size(). i is by default 0; i.e. the search starts at the start of the vector.
Returns the position of d, or -1 if d could not be found.
Compares items using the virtual function compareItems().
Use the much faster bsearch() to search a sorted vector.
See also findRef() and bsearch().
int Q3PtrVector::findRef ( const type * d, uint i = 0 ) const
Finds the first occurrence of the item pointer d in the vector using a linear search. The search starts at position i, which must be less than size(). i is by default 0; i.e. the search starts at the start of the vector.
Returns the position of d, or -1 if d could not be found.
This function does not use compareItems() to compare items.
Use the much faster bsearch() to search a sorted vector.
See also find() and bsearch().
bool Q3PtrVector::insert ( uint i, const type * d )
Sets position i in the vector to contain the item d. i must be less than size(). Any previous element in position i is removed.
Returns true if i is within range; otherwise returns false.
See also at().
bool Q3PtrVector::isEmpty () const
Returns true if the vector is empty; otherwise returns false.
See also count().
bool Q3PtrVector::isNull () const
Returns true if the vector is null; otherwise returns false.
A null vector has size() == 0 and data() == 0.
See also size().
Reads a vector item, item, from the stream s and returns a reference to the stream.
The default implementation sets item to 0.
See also write().
bool Q3PtrVector::remove ( uint i )
Removes the item at position i in the vector, if there is one. i must be less than size().
Returns true if i is within range; otherwise returns false.
See also take() and at().
bool Q3PtrVector::resize ( uint size )
Resizes (expands or shrinks) the vector to size elements. The vector becomes a null vector if size == 0.
Any items at position size or beyond in the vector are removed. New positions are initialized to 0.
Returns true if successful, i.e. if the memory was successfully allocated; otherwise returns false.
See also size() and isNull().
uint Q3PtrVector::size () const
Returns the size of the vector, i.e. the number of vector positions. This is also the maximum number of items the vector can hold.
The vector is a null vector if size() == 0.
See also isNull(), resize(), and count().
void Q3PtrVector::sort ()
Sorts the items in ascending order. Any empty positions will be put last.
Compares items using the virtual function compareItems().
See also bsearch().
type * Q3PtrVector::take ( uint i )
Returns the item at position i in the vector, and removes that item from the vector. i must be less than size(). If there is no item at position i, 0 is returned.
Unlike remove(), this function does not call deleteItem() for the removed item.
See also remove() and at().
Writes a vector item, item, to the stream s and returns a reference to the stream.
The default implementation does nothing.
See also read().
Q3PtrVector<type> & Q3PtrVector::operator= ( const Q3PtrVector<type> & v )
Assigns v to this vector and returns a reference to this vector.
This vector is first cleared and then all the items from v are copied into the vector. Only the pointers are copied (i.e. shallow copy).
See also clear().
bool Q3PtrVector::operator== ( const Q3PtrVector<type> & v ) const
Returns true if this vector and v are equal; otherwise returns false.
type * Q3PtrVector::operator[] ( int i ) const
Returns the item at position i, or 0 if there is no item at that position. i must be less than size().
Equivalent to at(i).
See also at().