#include "tree.h"
 
class forest
{
	public:
	tree<movie*> trees[NUM_SORT_FIELDS];
	//vector<tree<movie*>> trees;
	forest()
	{
		//for ( int i=0; i < NUM_SORT_FIELDS; i++ )
		//{
		//	tree<movie*> temp;
		//	//trees.push_back(temp);
		//	trees[i]=temp;
		//}
	}
	~forest()
	{
		for ( int field=0; field < NUM_SORT_FIELDS; field++ )
		{	
			trees[field].empty();
		}	
	}

	void addMovie(movie* theMovie)
	{	// add the pointer to the new movie to every tree in the forest
		for ( int field=0; field < NUM_SORT_FIELDS; field++ )
		{	
			movie::setSortField(field);
			trees[field].insert(theMovie);
		}	
	}

	void deleteMovie(movie* movieAddress)
	{
		for ( int i=0; i < NUM_SORT_FIELDS; i++ )
		{
			movie::setSortField(i);
			trees[i].deleteNode(movieAddress);			
		}
		delete movieAddress;
	}
	
};