#include "bugtree.h"

void bugtree::prtFile(string file)
{
   printBugs(root, file);
}

void bugtree::prtAll()
{
   printBugs(root, "");
}

void bugtree::prtBug(string name, string desc, string file)
{
   cout << name << "(" << file << "): " << desc;
}

bugtree::bugtree()
{
   root = nullptr;
   numBugs = 0;
}

bugtree::~bugtree()
{
   deallocate(root);
}

bugtree::bug* bugtree::create(string name, string desc, string file)
{
   bug* b = new bug;
   b->name = name;
   b->desc = desc;
   b->file = file;
   b->left = nullptr;
   b->right = nullptr;
   return b;
}

bool bugtree::lookup(string name, string &desc, string &file)
{
   bug* b = getByName(name, root);
   if (b) {
      desc = b->desc;
      file = b->file;
      return true;
   }
   return false;
}

