51 lines
1 KiB
C++
51 lines
1 KiB
C++
//
|
|
// StrArray.h
|
|
//
|
|
// A very simple string array implementation, intended to be small
|
|
// rather than scalable or particularly fast.
|
|
//
|
|
// History:
|
|
//
|
|
// 10/05/1999 KenSh Created
|
|
//
|
|
|
|
#pragma once
|
|
|
|
|
|
#ifndef _AFX
|
|
|
|
class CStringArray
|
|
{
|
|
public:
|
|
CStringArray();
|
|
~CStringArray();
|
|
|
|
inline int GetSize() const
|
|
{ return m_cStrings; }
|
|
inline int GetUpperBound() const
|
|
{ return m_cStrings - 1; }
|
|
inline LPCTSTR GetAt(int nIndex) const
|
|
{ return m_prgpStrings[nIndex]; }
|
|
inline LPTSTR& ElementAt(int nIndex)
|
|
{ return m_prgpStrings[nIndex]; }
|
|
inline LPTSTR& operator[](int nIndex)
|
|
{ return ElementAt(nIndex); }
|
|
inline LPCTSTR operator[](int nIndex) const
|
|
{ return GetAt(nIndex); }
|
|
inline void SetItemData(int nIndex, DWORD dwItemData)
|
|
{ m_prgItemData[nIndex] = dwItemData; }
|
|
inline DWORD GetItemData(int nIndex) const
|
|
{ return m_prgItemData[nIndex]; }
|
|
|
|
void RemoveAll();
|
|
int Add(LPCTSTR pszNewElement);
|
|
void RemoveAt(int nIndex);
|
|
|
|
protected:
|
|
int m_cStrings;
|
|
LPTSTR* m_prgpStrings;
|
|
DWORD* m_prgItemData;
|
|
};
|
|
|
|
#endif // !_AFX
|