Vector Interface
public:
// Terminology support
typedef T ValueType;
typedef VectorIterator<T> Iterator;
typedef ConstVectorIterator<T> ConstIterator;
// constructors
Vector ();
Vector (size_t , const T&);
Vector (const Vector<T>&);
~Vector ();
// member operators
Vector<T>& operator = (const Vector<T>&);
T& operator [] (size_t);
const T& operator [] (size_t) const;
// sizing
bool SetSize (size_t, const T&);
bool SetCapacity (size_t);
size_t Size () const;
size_t Capacity () const;
// container class protocol
bool Empty () const;
bool PushBack (const T&);
bool PopBack ();
void Clear ();
T& Front ();
const T& Front () const;
T& Back ();
const T& Back () const;
Iterator Begin (); // return iterator to first element
Iterator End (); // return iterator "past the end"
Iterator rBegin (); // return iterator to last element
Iterator rEnd (); // return iterator "before the beginning"
// ... plus ConstIterator support