//-*-c++-*- T!class_ptrmap! !class_ptrmap!; static void !class_varname!_free(void *p) { T!class_ptrmap!::iterator it, eend = !class_ptrmap!.end(); for(it = !class_ptrmap!.begin(); it != eend; it++) if ( (*it).second == (!c_class_name!*)p ) { !class_ptrmap!.erase(it); break; } delete (!c_class_name!*)p; }