const T &josh::ArrayListIterator<T>::operator*() {
  if(!valid)
    throw InvalidIterator();
  if(index >= numElts)
    throw EmptyIterator();
  return data[index];
}
const T josh::ArrayListIterator<T>::next() {
  if(!valid)
    throw InvalidIterator();
  if(index >= numElts)
    throw EmptyIterator();
  return data[index++];
}
Example #3
0
bool validateHeap(I first, I last)
{
	if (last > first) {
		for (int i=0; i<(last-first)/2; ++i)
		{
			if ((first+2*i+1)<last && *(first+i)< *(first+2*i+1) )
				return false;
			if ((first+2*i+2)<last && *(first+i)< *(first+2*i+2) )
				return false;
		}
		return true;
	}
	else
		throw InvalidIterator();
}
const bool josh::ArrayListIterator<T>::hasNext() {
  if(!valid)
    throw InvalidIterator();
  return index < numElts;
}