Example #1
0
void testIteration()
{
	IntArray a;
	assert(a.begin() == a.end());
	assert(a.rbegin() == a.rend());

	a = IntArray(10000);
	for (int i = 0; i < 10000; i++) {
		a[i] = i;
	}

	int counter = 0;
	IntArray::iterator aIter;
	for (aIter = a.begin(); aIter != a.end(); ++aIter) {
		assert(*aIter == counter);
		++counter;
	}
	for (IntArray::reverse_iterator aReverseIter = a.rbegin();
			aReverseIter != a.rend(); ++aReverseIter) {
		--counter;
		--aIter;
		assert(*aReverseIter == counter);
	}
	assert(aIter == a.begin());
}