The template typedef trick is documented in [http://www.gotw.ca/gotw/079.htm GOTW #79]. Here is the result:

{{{
template<class T>
struct Registry
{
  typedef std::map<std::string, T> Type;
};

Registry<Employee>::Type employeeRoster;
Registry<void (*)(int)>::Type callbacks;
Registry<ClassFactory*>::Type factories;
}}}
