示例#1
0
 virtual
 boost::shared_ptr<void>
 construct(di::type_info const & type,
           di::type_provider & unscoped)
 {
   if(!m_instances.get())
     m_instances.reset(new instance_map_t);
   instance_map_t::iterator it = m_instances->find(type);
   if(it == m_instances->end())
     (*m_instances)[type] = unscoped.untyped_get();
   return (*m_instances)[type];
 }