62 lines
1015 B
C++
62 lines
1015 B
C++
/**********************/
|
|
/*** Vtx List Class ***/
|
|
/**********************/
|
|
|
|
#if !defined __VTXLIST_CLASS_HEADER__
|
|
#define __VTXLIST_CLASS_HEADER__
|
|
|
|
#include <Vector>
|
|
|
|
/*****************************************************************************/
|
|
|
|
template <class T> class CList
|
|
{
|
|
public:
|
|
|
|
int Find(T &Item)
|
|
{
|
|
int ListSize=List.size();
|
|
|
|
for (int i=0; i<ListSize; i++)
|
|
{
|
|
if (List[i]==Item) return(i);
|
|
}
|
|
return(-1);
|
|
}
|
|
|
|
int Add(T &Item)
|
|
{
|
|
int ListSize=List.size();
|
|
int Idx=Find(Item); // Check if exists
|
|
|
|
if (Idx!=-1) return(Idx);
|
|
List.push_back(Item);
|
|
return(ListSize);
|
|
}
|
|
|
|
int push_back(T &Item)
|
|
{
|
|
int ListSize=List.size();
|
|
List.push_back(Item);
|
|
return(ListSize);
|
|
}
|
|
|
|
void clear()
|
|
{
|
|
List.clear();
|
|
}
|
|
|
|
int size() {return(List.size());}
|
|
|
|
std::vector<T> &GetList() {return(List);}
|
|
|
|
T& operator []( int nIndex ) {return(List[nIndex]);}
|
|
|
|
private:
|
|
std::vector<T> List;
|
|
|
|
};
|
|
|
|
/*****************************************************************************/
|
|
#endif
|