/** * iterator.cpp * Implemented by Blueprint Technologies, Inc. */ #include "iterator.h" Aggregate::Aggregate() {}; Iterator* ConcreteAggregate::createIterator() { return new ConcreteIterator( this ); } ConcreteIterator::ConcreteIterator( ConcreteAggregate* root ): Iterator() { this -> root = root; } int ConcreteIterator::first() { current = 0; return root -> storage[ current ]; } int ConcreteIterator::next() { current += 1; return root -> storage[ current ]; } int ConcreteIterator::isDone() { return !(current < 1000); } int ConcreteIterator::currentItem() { return root -> storage[ current ]; }