41 #ifndef _DYNAMIC_ARRAY_TEMPLATE_H_ 
   42 #define _DYNAMIC_ARRAY_TEMPLATE_H_ 
   65                 m_nCurrentSize = nInitialSize;
 
   66                 m_pElements = 
new T[m_nCurrentSize];
 
   72                 delete [] m_pElements;
 
   79                 if (m_nElements == m_nCurrentSize)
 
   80                         SetCurrentSize(m_nCurrentSize << 1);
 
   82                 m_pElements[m_nElements++] = element;
 
   87                 if (m_nElements == m_nCurrentSize)
 
   88                         SetCurrentSize(m_nCurrentSize << 1);
 
   90                 return m_pElements[m_nElements++];
 
   95                 if (nIndex < 0 || nIndex >= m_nElements)
 
   98                 for (
int i = nIndex; i < m_nElements - 1; i++)
 
   99                         m_pElements[i] = m_pElements[i + 1];
 
  115                 m_nCurrentSize = nSize;
 
  117                 delete [] m_pElements;
 
  118                 m_pElements = 
new T[m_nCurrentSize];
 
  126         inline const T& 
operator[](
const int nElement)
 const { 
return m_pElements[nElement]; }
 
  127         inline T& 
operator[](
const int nElement) { 
return m_pElements[nElement]; }
 
  133         void SetCurrentSize(
int nCurrentSize)
 
  135                 if (nCurrentSize <= m_nCurrentSize)
 
  137                         printf(
"error: tried to set size smaller than current size in CDynamicArray::SetCurrentSize\n");
 
  141                 m_nCurrentSize = nCurrentSize;
 
  143                 T *pElements = 
new T[nCurrentSize];
 
  145                 for (
int i = 0; i < m_nElements; i++)
 
  146                         pElements[i] = m_pElements[i];
 
  148                 delete [] m_pElements;
 
  149                 m_pElements = pElements;
 
const T & operator[](const int nElement) const 
bool DeleteElement(int nIndex)
void ClearAndResize(int nSize)
int GetStorageSize() const 
CDynamicArrayTemplate(int nInitialSize=10)
const T * GetElements() const 
void AddElement(const T &element)
T & operator[](const int nElement)