// -*- c++ -*- #ifndef DAM__FACTORY_TMPL__ #error "This file is included by Factory.hh" #error "Include that file instead." #endif namespace DAM { template typename FactoryHolder ::Factory* FactoryHolder ::operator () (Id id) { Iterator item = Find (id); if (item == End ()) return 0; return item -> second; } template bool FactoryHolder ::Register (Id id, Factory* factory) { if (Find (id) != End ()) return false; factories[id] = factory; return true; } template bool FactoryHolder ::UnRegister (Id id) { Iterator item = Find (id); if (item == End ()) return false; factories.remove (item); return true; } } // end namespace DAM