イテレータを使ったサンプルコードドライバ

#include <stdio.h>
#include <stdlib.h>
#include "BookShelf.h"

int main(void)
{
	BookShelf *pBookShelf;
	Iterator *pIte;
	Book *pBook;

	/* 本棚生成 */
	pBookShelf = CreateBookShelf(4);

	/* 本棚に本を詰める */
	AppendBook(pBookShelf, CreateBook("Around the World in a Day"));
	AppendBook(pBookShelf, CreateBook("Bible"));
	AppendBook(pBookShelf, CreateBook("Cinderella"));
	AppendBook(pBookShelf, CreateBook("Daddy-Long-Leg"));

	/* イテレータ生成 */
	pIte = CreateIterator(pBookShelf);

	while (hasNext(pIte)) {
		pBook = next(pIte);
		printf("%s\n", GetName(pBook));
	}

	/* イテレータお片付け */
	DisposeIterator(pIte);
	
	/* 本棚お片付け */
	DisposeBookShelf(pBookShelf);
	
	return 0;
}