#include "StdAfx.h" #include "T2HUnknown.h" T2HUnknown::T2HUnknown(int capacity) { mData = (int *) malloc(sizeof(int) * capacity); mLength = 0; mCapacity = capacity; } T2HUnknown::~T2HUnknown() { free(mData); } int T2HUnknown::GetLength() const { return mLength; } void T2HUnknown::AddValue(int value) { if (mLength == mCapacity) { mLength--; memmove(mData, mData + 1, (mCapacity - 1) * sizeof(int)); } mData[mLength] = value; mLength++; } int T2HUnknown::GetFirst() const { if (mLength == 0) return -1; return 0; } int T2HUnknown::GetNext(int &position) const { if (position == -1 || position == mLength) { position = -1; return 0; } int value = mData[position]; position++; if (position == mLength) position = -1; return value; } void T2HUnknown::SetAll(int value) { for (int i = 0; i < mCapacity; i++) mData[i] = value; }