#include <typeinfo>
using namespace std;

#include <gobj.h>
#include <gobjdebug01.h>

vector<string> gobjdebug01list::global_list;
gobjdebug01list gobjdebug01list::mylist;

gobjdebug01* gobjdebug01::global = &gobjdebug01list::mylist; 

void gobjdebug01list::eval(gobj* x)
{
  assert(gobjdebug01::global);

  global_list.push_back(typeid(*x).name());
};


stringc gobjdebug01list::global_list_get()
{
  if (gobjdebug01list::global_list.empty())
    return "";

  string s; 
  for (uint i=0; i<gobjdebug01list::global_list.size(); ++i)
    s += (gobjdebug01list::global_list[i]+"\n");

  return s;
}


gobjlog::gobjlog()
{
  gobjdebug01list::global_list.clear();

}

gobjlog::~gobjlog()
{
  messagefile("gobjlog.txt")() << gobjdebug01list::global_list_get(); 
}





