Main Page   Compound List   File List   Compound Members  

Vector< T > Class Template Reference

#include <vector.h>

List of all members.

Public Member Functions

 Vector ()
 Vector (const unsigned, const T &=T()) throw ( bad_alloc )
 Vector (const Vector< T > &) throw ( bad_alloc )
 ~Vector ()
bool empty () const
unsigned size () const
unsigned capacity () const
void clear ()
void resize (const unsigned, const T &=T()) throw ( bad_alloc )
T & at (const unsigned) const throw ( VectorEmpty, OutOfBounds )
void assign (const unsigned, const T &) throw ( VectorEmpty, OutOfBounds )
void push_back (const T &) throw ( bad_alloc )
void insert (const unsigned, const T &) throw ( bad_alloc, OutOfBounds )
void remove (const unsigned) throw ( VectorEmpty, OutOfBounds )
T & operator[] (const unsigned) const throw ( VectorEmpty, OutOfBounds )
const T & operator= (const Vector< T > &) throw ( bad_alloc )


Detailed Description

template<typename T>
class Vector< T >

Implementation of a resizable Vector ADT using dynamically allocated C-style arrays

Author:
Mark Maloof

Version:
1.0 2/25/05


Constructor & Destructor Documentation

template<typename T>
Vector< T >::Vector  ) 
 

Default constructor.

template<typename T>
Vector< T >::Vector const unsigned  sz,
const T &  v = T()
throw ( bad_alloc )
 

Constructor for initializing a vector to a fixed size and containing a given value.

Exceptions:
bad_alloc if memory cannot be allocated.

template<typename T>
Vector< T >::Vector const Vector< T > &  v  )  throw ( bad_alloc )
 

Copy constructor.

Exceptions:
bad_alloc if memory cannot be allocated.

template<typename T>
Vector< T >::~Vector  ) 
 

Class destructor.


Member Function Documentation

template<typename T>
void Vector< T >::assign const unsigned  i,
const T &  object
throw ( VectorEmpty, OutOfBounds )
 

Assigns the object to the specified position in the vector.

Parameters:
i the position to be assigned.
object the object to be stored in the vector.
Exceptions:
VectorEmpty if vector is empty.
OutOfBounds if index parameter is out of bounds.

template<typename T>
T & Vector< T >::at const unsigned  i  )  const throw ( VectorEmpty, OutOfBounds )
 

Returns a reference to the object stored at a given position in the vector.

Parameters:
i the object's location.
Returns:
a reference to the object.
Exceptions:
VectorEmpty if vector is empty.
OutOfBounds if index parameter is out of bounds.

template<typename T>
unsigned Vector< T >::capacity  )  const
 

Returns the capacity of the vector, which is the number of elements that the vector can store before increasing the capacity.

Returns:
an unsigned integer indicating the vector's capacity.

template<typename T>
void Vector< T >::clear  ) 
 

Removes the elements of the vector.

template<typename T>
bool Vector< T >::empty  )  const
 

Returns true if the vector is empty; returns false otherwise.

Returns:
true if empty; false otherwise.

template<typename T>
void Vector< T >::insert const unsigned  i,
const T &  object
throw ( bad_alloc, OutOfBounds )
 

Inserts the object at the given position. Increases capacity if necessary.

Parameters:
i the position of insertion.
object the object to be inserted.
Exceptions:
bad_alloc if memory cannot be allocated.
OutOfBounds if index parameter is out of bounds.

template<typename T>
const Vector< T > & Vector< T >::operator= const Vector< T > &  v  )  throw ( bad_alloc )
 

Returns a deep copy of the vector passed in as the parameter.

Parameters:
vector the vector to be copied.
Returns:
a copy of the vector.
Exceptions:
bad_alloc if memory cannot be allocated.

template<typename T>
T & Vector< T >::operator[] const unsigned  i  )  const throw ( VectorEmpty, OutOfBounds )
 

Returns a reference to the object stored at a given position in the vector.

Parameters:
i the object's location.
Returns:
a reference to the object.
Exceptions:
VectorEmpty if vector is empty.
OutOfBounds if index parameter is out of bounds.

template<typename T>
void Vector< T >::push_back const T &  object  )  throw ( bad_alloc )
 

Adds the object to the end of the vector. Increases capacity if necessary.

Parameters:
object the object to be added to the end of the vector.
Exceptions:
bad_alloc if memory cannot be allocated.

template<typename T>
void Vector< T >::remove const unsigned  i  )  throw ( VectorEmpty, OutOfBounds )
 

Removes the object stored in the given position.

Parameters:
i the position of removal.
Exceptions:
VectorEmpty if vector is empty.
OutOfBounds if index parameter is out of bounds.

template<typename T>
void Vector< T >::resize const unsigned  newSize,
const T &  v = T()
throw ( bad_alloc )
 

Resizes the vector to its new size. After allocating new memory and copy the contents of old memory, stores the value in any unassigned elements.

Parameters:
newSize the new size of the vector.
v the value for any new, unassigned elements.
Exceptions:
bad_alloc if memory cannot be allocated.

template<typename T>
unsigned Vector< T >::size  )  const
 

Returns the size (i.e., the number of elements) of the vector.

Returns:
an unsigned integer indicating the vector's size.


The documentation for this class was generated from the following file:
Generated on Thu Mar 31 18:12:55 2005 by doxygen1.3